József Dániel <daniel.jozsef(a)gmail.com> writes:
A vizsgakészüléshez van egy kérdésem, az
indexikálisokkal kapcsolatban
van pár dolog ami nem egészen világos.
A -: klózt mikor használja a CLPFD szûkítésre? Csak akkor, ha
reifikált korlátként, tagadó módban vesszük fel a korlátot,
Csak akkor.
(Magyarul, ha nem tervezek egy FD predikátumot
reifikálni, akkor
érdemes-e megírni a -: klózt, javulhat vele a program teljesítménye,
vagy felesleges?)
Felesleges.
Még a -: klózhoz, egy tartományszûkítõ korlátnak meg
lehet írni
monotonra a tagadó klózát? Ha pl. a jegyzetben lévõ 'x+y=t tsz'(X, Y,
T)-t nézzük, ott ilyen indexikálisok vannak, hogy "X in
dom(T)-dom(Y)". Értelemszerûen ha a predikátum nem igaz, akkor "X in
\(dom(T)-dom(Y))" lenne, de ez meg logikusan antimonoton.
Eppen emiatt nem lehet jo.
Nezzunk egy peldat:
T in {10,20}, Y in {2,4}
akkor dom(T)-dom(Y) = {6,8,16,18}
Kizarhatjuk-e X tartományabol a 6-os szamerteket azon az alapon, hogy
tudjuk X + Y #\= T, es tudjuk T es Y fenti tartomanyait?
Nyilvan nem, hiszen pl X = 6, T = 10, Y = 2 kielegiti a nemegyenloseget, es
a T-re, Y-ra vonatkozo halmazkorlatokat is.
Ugyanilyen alapon nem zarhatjuk ki a masik harom erteket sem.
Konnyu vegiggondolni, hogy amig akar T akar Y nincs behelyettesitve, addig
nem zarhato ki ertek X tartomanyabol.
Es pontosan ez tortenik az
X in \(dom(T)-dom(Y))
indexikalis vegrehajtasakor. Ez ugyanis akkor (es csak akkor) valik
monotonna, amikor mind T, mind Y be van helyettesitve.
Ezert a rendszer a logikatlan szukitesi utasitasunkat (a
nem-mononotonitasra valo hivatkozassal) addig nem hajtja vegre, amig T es Y
is be nem helyettesitodik. De akkor vegrehajtja.
Ugye milyen szep ez?
Persze ha eleve pucer valtozokat hasznalunk, akkor egy kis irasmunkat
megsprololhatunk magunknak:
X in \(T-Y)
-Peter