ZADANIE 2

Transkrypt

ZADANIE 2
PROLOG, ZADANIA
ĆWICZENIE 1
ZADANIE 0
Dany jest świat klocków
a) Utworzyć w Prologu bazę wiedzy opisującą ten świat za pomocą relacji na/2, takiej że
na(X,Y) zachodzi, jeżeli klocek X leży na klocku Y. Zapisać bazę w pliku klocki_1.pl.
b) Przeprowadzić sesję prologową w celu uzyskania odpowiedzi na następujące pytania:
1. Czy klocek d leży na klocku c?
2. Czy klocek c leży na klocku a?
3. Czy klocek b leży na klocku c?
4. Jaki klocek leży na klocku c?
5. Na jakim klocku leży klocek c?
6. Para klocków (X,Y), taka że X leży na Y?
7. Czy jakiś klocek leży na c?
8. Czy jakiś klocek leży pod klockiem c?
9. Między jakimi klockami leży klocek c?
10. Jaki klocek leży między dwoma innymi klockami?
c) Uzupełnić bazę wiedzy klocki_1 o nowe predykaty : pod/2 i między/3. W definicjach tych
predykatów zastosować odpowiednie reguły. Zapisać uzupełnioną bazę wiedzy w pliku
klocki_2.pl i zadając odpowiednie zapytania sprawdzić poprawność dodanych definicji.
ZADANIE 1
Wprowadź następującą bazę wiedzy:
lubi(jan, tatry).
lubi(jan, beskidy).
lubi(jerzy, beskidy).
lubi(jerzy, bieszczady).
lubi(adam, sudety).
lubi(justyna, bieszczady).
bratnia dusza(X,Y):-lubi(X,G),lubi(Y,G),X\==Y.
A) Określ,
a) ile klauzul występuje w napisanym programie
b) które klauzule są faktami, a które regułami
c) w przypadku reguł podaj głowę i predykaty stanowiące ciało reguły.
d) z ilu definicji relacji (predykatów) składa się program; podaj nazwy tych relacji i liczbę
argumentów.
B) Przeprowadzając odpowiednią sesję prologową odpowiedz na pytania:
1. Czy Jerzy lubi Sudety?
2. Jakie góry lubi Jan?
3. Kto lubi Bieszczady?
4. Czy Jan ma bratnią duszę?
5. Kto jest bratnią duszą Justyny?
6. Jakie pary osób są bratnimi duszami?
ZADANIE 2
Zapisz w postaci programu prologowego następujące informacje:
1. Marta lubi wino, mandarynki, tenis i kwiaty.
2. Piotr lubi banany, wino i tenis.
3. Jan lubi wszystko to, co lubi Piotr.
4. Ania lubi te rzeczy, które lubią jednocześnie Marta i Jan.
Zdefiniuj w tym celu relację lubi/2.
Przeprowadzając odpowiednią sesję prologową odpowiedz na pytania:
1. Czy Piotr lubi wino?
2. Co lubi Piotr?
3. Co lubi Marta?
4. Czy Marta coś lubi?
5. Kto lubi tenis?
6. Czy ktoś lubi jabłka?
7. Co lubi Ania?
8. Kto co lubi?
9. Jakie rzeczy lubią opisane osoby?
ZADANIE 3
Zapisz w postaci programu prologowego następujące informacje:
1. Ala, Ola, Kamil, Lena, Marta to ludzie.
2. Burek, Misiek to zwierzęta.
3. Ala, Marta i Burek mieszkają na ulicy Słonecznej.
4. Lena mieszka na Księżycowej.
5. Kamil i Misiek mieszkają na Zodiakalnej.
Napisz regułę, która mówi, że dwoje ludzi/zwierząt jest rodziną, jeżeli mieszkają w tym
samym miejscu.
Napisz regułę, która mówi, że między dwojgiem ludzi jest pokrewieństwo, jeżeli mieszkają w
tym samym miejscu.
Przeprowadzając odpowiednią sesję prologową sprawdź poprawność zdefiniowanych relacji.
ZADANIE 4
Znajdź przyjaciół (ludzi, którzy się nawzajem lubią) w grupie osób o następujących
upodobaniach:
1. Ola lubi jaroszy, którzy dodatkowo uprawiają sport;
2. Ewa lubi spędzać czas wśród niepalących jaroszy;
3. Iza preferuje miłośników książek lub aktywnych sportowo wrogów tytoniu;
4. Janek najlepiej czuje się wśród uprawiających sport;
5. Piotr może się zaprzyjaźnić z uprawiającymi sport jaroszami albo z zapalonymi
czytelnikami książek;
6. Paweł wymaga od przyjaciela, by był jaroszem, uprawiał sport i lubił czytać ksiązki;
jeśli Ola, Ewa, Jan i Paweł są jaroszami, Ola, Ewa i Jan nie palą papierosów, Ola, Iza i Piotr
czytają książki, a Ola, Jan, Piotr i Paweł uprawiają sport.
ZADANIE 5
Zapisz w postaci programu prologowego następujące stwierdzenia:
1. Ola jest mądra.
2. Ala jest piękna i dobra.
3. Piotr jest piękny i silny.
4. Adam jest dobry i mądry.
5. Jan jest bogaty.
6. Ula jest bogata i silna.
7. Wszyscy mężczyźni lubią piękne kobiety.
8. Wszyscy bogaci ludzie są szczęśliwi.
9. Każda kobieta, która lubi mężczyznę z wzajemnością z jego strony, jest szczęśliwa.
10. Każdy mężczyzna, który lubi kobietę z wzajemnością z jej strony, jest szczęśliwy.
11. Piotr lubi Ulę, a Ula lubi silnych mężczyzn.
12. Ola lubi wszystkich ludzi, którzy są bogaci i dobrzy, a Ala tych, którzy są piękni i silni.
Uzyskaj odpowiedź na pytania:
1. Kto jest szczęśliwy?
2. Kto kogo lubi?
3. Kto jest piękny?
4. Czy ktoś lubi mądrych ludzi?
5. Którzy dobrzy ludzie są lubiani przynajmniej przez jedną osobę?
ZADANIE 6
Utwórz prologową bazę wiedzy o twojej rodzinie (co najmniej trzy pokolenia).
Opisz te bazę za pomocą następujących relacji:
kobieta/1
mezczyzna/1
rodzic/2.
Następnie zdefiniuj relacje:
ojciec/2
jest_ojciec/1
rodzenstwo/2
dziadek/2
przodek/2.
matka/2
jest_matka/1
brat/2
babcia/2
siostra/2
wnuk/2
Sprawdź poprawność definicji znajdując odpowiedzi na następujące pytania:
1. Kto jest twoim ojcem (matką)?
2. Jakie osoby mają dzieci?
3. Kto jest twoim rodzeństwem?
4. Czy masz siostrę (brata)?
5. Kto jest wnukiem twojego dziadka?
6. Kto jest twoim przodkiem?
7. Czy twój ojciec ma inne dzieci oprócz ciebie?

Podobne dokumenty