€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¢