prolog prolog 4 11 2010(2)


/*1*/dziadek(karol,marek). <------ cel 1
/*2*/dziadek(X,Y):- ojciec(X,Z),dziecko(Y,Z).

/*3*/ojciec(karol,edward).
/*4*/ojciec(karol,adam).

/*5*/dziecko(henryk,edward).
/*6*/dziecko(tomasz,adam).




cel 1
:?-dziadek(kawol,W).
/*1*/ dziadek(karol,marek)
uzgodnienie W=marek sukces cel 1 zrealizowany
odp.W=marek;
----------------------------------------------
dalsze rozwiazanie:
-nawrót do celu 1,
-uwolnienie zmiennej W,
cel 1: ? dziadek(kawol,W)
/*2*/ dziadek(X1,Y1):-ojciec(X1,Z1),dziecko(Y1,Z1)
uzgodnienie dotyczy tylko głowy czyli,
uzgodnienie X1=karol Y1=W sukces
Cel 2: ojciec(karol,Z1),dziecko(W,Z1)
cel 2.1 ojciec(karol,Z1)
/*3/ ojciec(karol,edward)
uzgodnienie Z1-edward sukces
cel 2.2 dziecko(W,edward)
/*5*/ dziecko(henryk,edward)
uzgodnienie W=henryk sukces

cel 2 zrealizowany
cel 1 zrealizowany
odp. W=henryk; sredik oznacza ze szukamy dalszych rozwiazan
nawrot do celu 2.2: dziecko(W,edward)
W=wolne
/*6*/ dziecko(tomasz,adam)
uzgodnienie W=tomasz edward\=adam ojciec(X1,Z1),dziecko(Y1,Z1)
brak kolejnych klauzul(celów) dziecko/2
usuniecie znacznikow w procedurze dziecko
nawrot do celu 2.1 ojciec(karol,Z1).
/*4*/ ojciec(karol,adam)
uzgodnienie Z1=adam sukces
cel 2.2 dziecko(W,adam)
/*5*/ dziecko(henryk,edward)
uzgodnienie W=henryk,adam\=edward porazka
/*6*/ dziecko(tomasz,adam)
uzgodnienie W=tomasz sukces
zrealizowany cel 2(2.1 i 2.2) i cel 1
odp. W=tomasz
------------------------------------------
nastepne rozwiazanie:
nawrot do celu 2.2:dziecko(W,adam)
brak klauzul w dziecko/2
usuniecie znacznikow z dziecko (znaczniki to zmienne np. W)
nawrot do celu 2.1 ojciec(karol,Z1)
brak klauzul ojciec/2
usuniecie znacznikow w ojciec/2
nawrot do celu 1:
dziadek(karol,W)
brak klauzul w dziadek/2
usuniecie znacznikow
odp.False //nie ma wiecej rozwiazan.koniec dzialania programu.




drzewo poszukiwania rozwiazania

cel główny: dziadek(karol,W)


dziadek(karol,W)
/ \
/(1) \(2)
\/ \
\
uzgodnienie W=marek \/
odp.W=marek uzgodnienie:X1-karol,Y1=W
ojciec(karol,Z1),dziecko(W,Z1)
/ \
(3)/ \
/ \/
\/
uzgodnienie:Z1=edward
dziecko(W,edward)
/ \(6)
(5)/ \
\/ \/
uzgodnienie W=henryk uzgodnienie W=tomasz
odp.W=henryk adam\=edward
X-koniec program wraca









?-trace/
call- proba realizacji celu
exit- cel zostal zrealizowany
redo- ponowienie proby realizacji celu
fail-realizacja celu zakonczyla sie porazka



Wyszukiwarka

Podobne podstrony:
08 11 2010
29 11 2010
Chowanna ostatnia 11 2010
Psychospołeczne mechanizmy powstawania uzależnień, 16 11 2010
22 11 2010
FM wyklad 6 18 11 2010
6 Systemy Operacyjne 30 11 2010 Zarządzanie procesami2
Ćwiczenia z Doktryn Polityczno Prawnych 16 11 2010 grupa 7
24 11 2010 rrrrrrrrrrr
Fabryka dźwięków syntetycznych 2011 01 11 2010 vol 2
15 11 2010
FM wyklad 7 25 11 2010
5 Systemy Operacyjne 23 11 2010 Zarządzanie procesami
Ćwiczenia z Doktryn Polityczno Prawnych 30 11 2010

więcej podobnych podstron