Ezt akkor egy életre megtanultam :)
De szerencsére nem lesz olyan vészes átalakítani (remélem).
Köszönöm.
SzaMa
-----Original Message-----
From: nhlp-l-bounces(a)cs.bme.hu [mailto:nhlp-l-bounces@cs.bme.hu] On Behalf
Of Szeredi Peter
Sent: Wednesday, February 01, 2006 6:10 PM
To: A Nagyhatekonysagu Logikai Programozas c.targy listaja
Subject: [NHLP-l] Re: clpb rulez
Szabó Marcell <szabomarcell(a)axelero.hu> writes:
Ma megírtam a nagyházit, mégpedig clpb-re alapozva.
Felvettem minden ujj részére 3 változót, a három irányt, amerre mutathat,
a
három ujjirányból pontosan 1 igaz. Majd minden mezõhöz
kigyûjtöttem egy
listába azokat az ujjirányokat, amik rá mutathatnak, és ezek közül
pontosan
annyi igaz, ahányas számú a mezõ (kivéve a 9-est).
Tehát mindenhol card() feltételt használtam.
És katasztrófa! A mezõk feltételei (tehát a sat(card(...))) percekig
futnak.
Próbálkoztam azzal, hogy a feltételeket kigyûjtöm egy
listába, sorba
rendezem aszerint, hogy hányas a mezõ - így hátha a kisebbek
behelyettesítenek párat, de semmi javulás. (Bizonyára mindig mindenkit
felkelt és rugdos, hogy mi lenne ha te most igaz lennél?... Ez lassabb,
mint
maga a lableing, és a memória is elfogy!)
Bizony igen. Valoszinuleg nem voltal ott a clpb-s eloadason, ahol eleg
hangsulyosan ecseteltem, hogy a CLPB - a teljessege miatt - NEM ALKALMAS
nagymeretu feladatok megoldasara, es ezert senki ne probalja a nagyhazijat
clpb-vel megoldani!!!!
Az lenne a megoldás, gondolom, hogy a sat(card) egy
gyengébb változatát
használnám, ami csak a tuti behelyettesítéseket szûkítené, dobná el - de
ha
jól tudom, a clpb-hez nem lehet hozzányúlni.
Ez igy van.
Vagy írjam meg clpfd-ben a sat(card())-ot, és azzal
futtassam?
Igen. Illetve nem is kell megirnod, ott van a count konyvtari eljaras.
-Peter
_______________________________________________
NHLP-l mailing list
NHLP-l(a)sziami.cs.bme.hu
http://sziami.cs.bme.hu/mailman/listinfo/nhlp-l