€rogr—mow—nie logi™zne ‚wi™zeni— QF —j¦™i— U

Transkrypt

€rogr—mow—nie logi™zne ‚wi™zeni— QF —j¦™i— U
Programowanie logiczne
‚wiczenia 3.
Za j¦cia 7
Zadanie 1.(1p)
Zaªó»my, »e graf (skierowany zadany jest relacj¡
connected(X,Y)
edge(W1,W2) .
X oraz Y w
sprawdzaj¡cy, czy istnieje ±cie»ka pomi¦dzy w¦zª¡mi
Napisz program
tym grae. Pro-
gram powinien realizowa¢ przeszukiwanie grafu wszerz.
Zadanie 2.(2p)
Poka», jak zrealizowa¢ w Prologu imperatywne zmienne wra»liwe na nawroty.
To znaczy, »e przypisuje im si¦ jak¡± warto±¢, która mo»e si¦ zmienia¢, a nawrót anuluje niektóre
zmiany.
Zadanie 3.(1p)
Mamy koz¦, kapust¦ i wilka, na pocz¡tku wszyscy na prawym brzegu. Jest te»
przewo¹nik z ªódk¡, któr¡ mo»e pªyn¡¢ oprócz niego albo koza, albo wilk, albo kapusta. Z oczywistych wzgl¦dów nie mo»e by¢ na brzegu sama koza z kapust¡, ani sam wilk z koz¡.
Zadaniem
przewo¹nika jest przewiezienie wszystkich na drugi brzeg.
Zaproponuj dla tego zadania sposób opisywania stanów, powiedz jak wygl¡daj¡ predykaty zmieniaj¡ce stan, sprawdzaj¡ce jego legalno±¢ i sprawdzaj¡ce, czy stan jest ko«cowy.
Jak mo»na uogólni¢ to zadanie? Jaka reprezentacja byªaby wówczas u»yteczna?
Zadanie 4.(1p)
W tym i nast¦pnych zadaniach przez poj¦cie
reguªy propagacji
b¦dziemy rozumieli
zasady pozwalaj¡ce usuwa¢ elementy z dziedzin zmiennych w FD, nie usuwaj¡c jednocze±nie »adnego
rozwi¡zania.
Podaj reguªy propagacji dla wi¦zów postaci
Zadanie 5.(1p)
Zaproponuj reguªy propagacji dla wi¦zów postaci
której daj¡ one wi¦cej ni» reguªy dla mno»enia
Zadanie 6.(1p)
X =Y ×Y
X = Y2
i poka» sytuacj¦, w
(wzi¦te z poprzedniego zadania).
X = Y ∧Z , X = Y ∨Z , X = ¬Y .
⊆ {0, 1}.
Podaj reguªy propagacji dla wi¦zów boolowskich:
Zaªó», »e dla ka»dej zmiennej
Zadanie 7.(1p)
X = Y ×Z , uwzgl¦dniaj¡ce jedynie brzegi dziedziny.
x
w wi¦zie mamy Dziedzina (x)
Sprawd¹ w dokumentacji, co robi wi¦z
element .
Wyra¹ ten wi¦z za pomoc¡ wi¦zów
arytmetycznych.
Zadanie 8.(1p)
Dokumentacja mówi, »e wi¦z
all_distinct ma t¦ sam¡ semantyk¦ co all_different ,
ale propagacja jest silniejsza. Znajd¹ przykªady, w których to zjawisko b¦dzie widoczne.
Zadanie 9.(1p)
Wyra¹ za pomoc¡ wi¦zów arytmetycznych wi¦zy:
Ka»dy z nich ma 3 argumenty: liczb¦
jest nast¦puj¡ce: co najwy»ej
najmniej) oraz
exactly
N
N,
list¦ zmiennych FD
zmiennych z listy
L
L
atmost , atleast oraz exactly .
V. Znaczenie atmost
V. Analogicznie dla atleast (co
oraz warto±¢
ma warto±¢
(dokªadnie).
Zadanie 10.(1p)
Poka»a, jak zaimplementowa¢ w Prologu wi¦zy z poprzedniego zadania.
Zadanie 11.(1p)
Zaproponuj reguªy propagacji dla
atleast , atmost
i
exactly ,
przy zaªo»eniu,
»e argumentami ka»dej z nich mog¡ by¢ dwie zmienne i lista zmiennych.
Zadanie 12.(2p)
wanie
θ0 ,
»e
Powiemy, »e podtawienia
θ1 = θ2 θ 0 .
θ1
oraz
θ2
s¡ podobne, je»eli istnieje takie przemiano-
Poka», »e relacja s¡ podobne jest relacj¡ równowa»no±ci.
Oke±l na klasasch abstrakcji tej relacji relacj¦ bardziej ogólne i udowodnij, »e w ten sposób
poprawnie zdeniowaªe± porz¡dek cz¦±ciowy.
Zadanie 13.(1p)
Term
t
jest wspóln¡ instancj¡ termów
t1
i
t2 ,
je±li jest jednocze±nie instancj¡
ka»dego z nich. Najbardziej ogólna wspólna instancja dwóch termów, to taka ich wspólna instancja,
dla której ka»da inna instancja
t1 i t2
jest instancj¡.
Poka», »e je»eli dwa termy maj¡ wspóln¡ instancj¦, to maj¡ równie» najbardziej ogóln¡ wspóln¡
instancj¦. Jak j¡ oblicza¢?
Zadanie 14.(2p)
i)
µ
U»ywanych jest kilka denicji najbardziej ogólnego unikatora:
jest najbardziej ogólnym 1-unikatorem, je»eli dla ka»dego unikatora
θ
mamy
θ = µθ.
ii)
iii)
µ jest najbardziej ogólnym 2-unikatorem, je»eli dla ka»dego unikatora θ istnieje podstawienie
θ1 , takie »e θ = µβ .
najbardziej ogólny 3-unikator to taki unikator µ, »e t1 µ jest najbardziej ogóln¡ wspóln¡
instancj¡ termów t1 oraz t2 .
Które z nich opisuj¡ te same obiekty (odpowied¹ uzasadnij)?
drugiej denicji .
2
Uwaga: my b¦dziemy si¦ trzyma¢