Sztuczna Inteligencja - Prolog 1

50 %
50 %
Information about Sztuczna Inteligencja - Prolog 1

Published on March 17, 2009

Author: apohllo

Source: slideshare.net

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Sztuczna Inteligencja i Systemy Ekspertowe Prolog 1 Aleksander Pohl Wy˙ sza Szkoła Zarzadzania i Bankowo´ ci z ˛ s 12 marca 2009 Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Plan prezentacji Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Plan prezentacji Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Historia Alain Colmerauer, Phillipe Roussel pocz. lat 70-tych: ◮ Uniwersytet w Aix-Marseilles (1975) Robert Kowalski: Uniwersytet w Edynburgu (1974) ◮ David H.D. Warren – U.C. Berkeley (1985) ◮ WAM – „Warren Abstract Machine” ◮ s´ Ograniczona ilo´ c instrukcji ◮ put, get, unify, variable, value, execute, proceed, try, retry, trust e´ ´ Standard ISO (1995) uzgadniajacy cz˛ sc wspólna ˛ ˛ ◮ dialektów Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Historia Prolog: ◮ jezyk proceduralny ˛ ◮ unifikacja ◮ przeszukiwanie z nawrotami ◮ WAM: ◮ kontrola sekwencyjna ◮ unifikacja ◮ przeszukiwanie z nawrotami ◮ optymalizacje ◮ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Plan prezentacji Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Unifikacja Unifikacja dwóch termów polega na znalezieniu takich ◮ ´ podstawien za zmienne wystepujace w tych termach aby ˛ ˛ po ich wykonaniu termy stały sie identyczne. ˛ W Prologu do unifikacji dwóch termów słu˙ y predykat =. z ◮ Podczas sprawdzenia warunku t1 = t2 albo termy zostana ˛ zunifikowane i zostanie wykonane na nich odpowiednie podstawienie zmiennych albo, je´ li takie podstawienie nie s istnieje, warunek nie bedzie spełniony i nastapi nawrót ˛ Unifikator dla Q(a, Y, Z), Q(Y, b, c) ◮ Q(a, Y, Z), Q(Y1, b, c), Y1 = a, Y = b, Z = c Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Klauzule Horna Klauzula – to zbiór literałów i zanegowanych literałów, ◮ który jest prawdziwy wtedy i tylko wtedy, gdy ich alternatywa jest prawdziwa. Klauzula pusta jest fałszywa. Klauzula Horna (ang. Horn Clause) – to klauzula w której ◮ co najwy˙ ej jeden element jest niezanegowany. z Dla formuły r ∧ q ∧ s ⇒ p klauzula Horna w postaci: ◮ logicznej: (¬r ∨ ¬q ∨ ¬s) ∨ p ◮ prologowej: p :- r,q,s; ◮ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Plan prezentacji Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Wyra˙ enia atomowe z Wyra˙ eniami atomowymi sa: z ˛ ´ łancuchy zło˙ one z liter, cyfr, znaku _ zaczynajace sie od z ˛ ˛ ◮ małej litery np. anna, x25 ´ łancuchy zło˙ one ze znaków specjalnych np. <-->, .:. z ◮ ´ łancuchy ograniczone pojedynczymi cudzysłowami np. ◮ ’Tom’, ’Jan Kowalski’ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Zmienne Zmiennymi sa: ˛ ´ łancuchy zło˙ one z liter, cyfr, znaku _, zaczynajace sie od z ˛ ˛ ◮ ´ du˙ ej litery bad´ znaku podkreslenia, np. Number, z ˛z _value zmienna anonimowa : oznaczona przez _ ◮ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Fakty i reguły Fakty ◮ parent(jan, anna) Reguły ◮ ojciec(X, Y) :- rodzic(X, Y), m˛˙czyzna(X). ez „X jest ojcem Y, je´ li X jest rodzicem Y i X jest me˙ czyzna.” s ˛z ˛ :- – „wtedy, gdy”, „je´ li” s ◮ , – koniunkcja ◮ ; – alternatywa ◮ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Fakty i reguły – przykłady Fakty ◮ ssak(lew) ◮ stolica(polska,warszawa) ◮ Reguły ◮ rodzic(X,Y) :- ojciec(X,Y). ◮ rodzic(X,Y) :- matka(X,Y). ◮ Zespół reguł - procedura ◮ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Funktory Funktory – predykaty, termy zło˙ one z nazwa – takie same reguły jak nazwa atomu ◮ s´ arno´ c – liczba argumentów ◮ np. parent(X, Y) ◮ efekty uboczne, np. write(’hello’) ◮ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Przykład parent(anna, jan). ◮ haschild(X) :- parent(X,Y). ◮ ?- haschild(anna). ◮ yes ◮ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Plan prezentacji Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Deklaratywne znaczenie programu Program jest sterowany celem (ang. goal driven) ◮ Cel C (ang. goal) jest osiagniety (prawdziwy), je´ li istnieje ˛˛ s ◮ ˙ instancja klauzuli K = F :- C1 , C2 , ... Cn taka, ze jej funktor główny F jest identyczny z celem C ◮ jej wszystkie cele składowe C1 , C2 , ... Cn sa˛ ◮ osiagniete (prawdziwe) ˛˛ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Przykład omylny(X) :- czlowiek(X). ◮ czlowiek(sokrates). ◮ ?- omylny(sokrates). ◮ yes ◮ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Imperatywne (proceduralne) znaczenie programu ´ 1. je´ li lista celów (ang. goal) jest pusta zakoncz sukcesem, s w przeciwny razie: 2. znajd´ klauzule K, o takim samym funktorze głównym jak z ˛ ´ pierwszy cel C1 , bad´ zakoncz niepowodzeniem ˛z 3. dokonaj dopasowania (ang. matching) K i C1 4. je´ li K jest postaci H :- B1 ,...,Bn uzupełnij liste celów s ˛ o B1 ... Bn ˙ 5. je´ li K jest faktem – n = 0 (tzn. nie dodajemy zadnego celu) s 6. powtórz w/w procedure (od p. 1) ˛ ´ je´ li zakonczy sie sukcesem, zwró´ sukces s ˛ c ◮ je´ li pora˙ ka – odrzu´ cele B1 ...Bn , szukaj kolejnych s z˛ c ◮ predykatów pasujacych do K ˛ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Dopasowanie Dwa termy pasuja do siebie je´ li: ˛ s sa identyczne ˛ ◮ jeden z termów jest zmienna – nastepuje podstawienie ˛ ˛ ◮ sa wyra˙ eniami zło˙ onymi – zmienne w obu termach moga ˛ z z ˛ ◮ zosta´ podstawione tak, aby po podstawieniu termy jako c s´ cało´ c stały sie identyczne ˛ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Przykład wykonania programu big(bear). ◮ big(elephant). ◮ small(cat). ◮ brown(bear). ◮ black(cat). ◮ gray(elephant). ◮ dark(Z) :- black(Z). ◮ dark(Z):- brown(Z). ◮ ?- dark(X), big(X). ◮ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Przykład – cd. Lista celów: dark(X), big(X) ◮ 1-szy przebieg: black(X), big(X) ◮ 2-gi: big(cat) ◮ 3-ci: pora˙ ka, wracamy do z ◮ dark(X), big(X) 4ty: brown(X), big(X) ◮ 5ty: big(bear) ◮ X = bear ◮ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum ´ Zagro˙ enia – petle nieskonczone z ˛ Jeden z 4 wariantów: ◮ przodek(X,Z) :- przodek(X,Y), rodzic(Y,Z). przodek(X,Y) :- rodzic(X,Y). Uwage na lewostronna rekursje ˛ ˛ ◮ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum ´ Zagro˙ enia – petle nieskonczone z ˛ Poprawne warianty: przodek(X,Z) :- rodzic(Y,Z),przodek(X,Y). ◮ przodek(X,Y) :- rodzic(X,Y). przodek(X,Y) :- rodzic(X,Y). ◮ przodek(X,Z) :- przodek(X,Y), rodzic(Y,Z). przodek(X,Y) :- rodzic(X,Y). ◮ przodek(X,Z) :- rodzic(Y,Z)., przodek(X,Y) Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Odciecie ˛ H :- B1, B2 , ... , Bm , ! , ... , Bn ◮ Przy napotkaniu odciecia, odciecie zwraca sukces, ale dla ˛ ˛ ◮ skutecznego spełnienia głównego funktora, musza zosta´ ˛ c spełnione cele pomiedzy głównym funktorem a odcieciem ˛ ˛ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Odciecie – przykład ˛ C :- P,Q,R,!,S,T,U. ◮ C :- V. ◮ A :- B,C,D. ◮ ?- A. ◮ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Przykład – if-else Bez odciecia ˛ ◮ max(X,Y,X) :- X >= Y. ◮ max(X,Y,Y) :- X < Y. ◮ s´ Z odcieciem – wieksza wydajno´ c ˛ ˛ ◮ max(X,Y,X) :- X >= Y, !. ◮ max(X,Y,Y). ◮ Problem: ◮ max(3, 1, 1). ◮ max(X,Y,Max) :- X >= Y, !, Max = X; Max = ◮ Y. Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Negacja Przykład: ◮ different(X,X) :- !, fail. ◮ different(X,Y). ◮ Ogólnie: ◮ not(P) :- P, !, fail; true. Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Negacja – zagro˙ enia z ˛s´ „Zało˙ enie o zamknieto´ ci swiata” (ang. closed world z ◮ assumption) ?- not(human(mary)). yes przy negacji – zmiana kwantyfikatora na ogólny ◮ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Negacja – przykład zagro˙ enia z dobrarestauracja(wierzynek). droga(wierzynek). dobrarestauracja(ubabcimaliny). rozsadna(X) :- not droga(X). ?- dobrarestauracja(X), rozsadna(X). X=ubabcimaliny ?- rozsadna(X), dobrarestauracja(X) . no Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Negacja – wyja´ nienie s not droga(X) ◮ to samo co ◮ ¬(∃X : droga(X )) ◮ czyli ◮ ∀X : ¬droga(X ) ◮ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Plan prezentacji Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Listy [ann, tom, tennis] ◮ „głowa” – head: ann ◮ „ogon” – tail: [tom, tennis] ◮ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Operatory sklejanie .(Head, Tail) ◮ rozdzielanie L = [Head | Tail] ◮ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Przykłady (1) Element listy member(X, [X | Tail]). ◮ member(X, [Head | Tail]) :- ◮ member(X, Tail). Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Przykłady (2) Element listy z wykorzystaniem odciecia ˛ member(X, [X | Tail]) :- !. ◮ member(X, [Head | Tail]) :- ◮ member(X, Tail). Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Przykłady (3) Konkatenacja listy conc([],L,L). ◮ conc([X | L1], L2, [X | L3]) :- ◮ conc(L1, L2, L3). Dekompozycja conc(L1, L2, [a, b, c]). ◮ Wyszukiwanie conc(Przed, [c | Po], [a, b, c, d, e, f]). ◮ Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Plan prezentacji Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Materiały zródłowe ´ L.Sterling, E.Shapiro - „The Art Of Prolog” ◮ Ivan Bratko - „Prolog – Programming For Artificial ◮ Intelligence” Slajdy zostały przygotowane za zgoda˛ ◮ dr. Michała Korzyckiego na podstawie jego wykładu. Aleksander Pohl WSZiB Prolog 1

Historia Podstawy teoretyczne Składnia Wykonanie programu Listy Postscriptum Dziekuje! ˛ ˛ Aleksander Pohl WSZiB Prolog 1

Add a comment

Related presentations

Related pages

Prolog 1 - Sztuczna Inteligencja - apohllo.pl

Sztuczna Inteligencja – Prolog 1. View more presentations from apohllo. ai | prezentacja | prolog | Opublikowano 20:05 16-03-2009. Ostatnia modyfikacja ...
Read more

Sztuczna Inteligencja - Prolog 1 - Technology

Sztuczna Inteligencja - Prolog 3 1. Operatory Operacjy wyj´ cia/wej´ cia ssPredykaty wbudowane Techniki programowania Postscriptum Sztuczna Inteligencja ...
Read more

Sztuczna inteligencja – Wikipedia, wolna encyklopedia

Sztuczna inteligencja to również dział informatyki zajmujący się inteligencj ... Przykładami takich technik są np. języki programowania LISP i Prolog.
Read more

Clickteam Fusion 2.5 - Sztuczna inteligencja [1] - YouTube

Clickteam Fusion 2.5 - Sztuczna inteligencja [1] PCMateusz. ... Plociuch #224 - Sztuczna Inteligencja od Google - ZA DARMO dla WSZYSTKICH.
Read more

PPT – Sztuczna Inteligencja 1.1 Wprowadzenie PowerPoint ...

Sztuczna Inteligencja 1.1 Wprowadzenie. Description: ... LISP, Prolog, wiele jezyków specjalistycznych rozwinieto dla potrzeb AI. 16 Kluczowe zagadnienia IV.
Read more

Prolog - rozwinięcie - Artificial Life & Intelligence

Sztuczna Inteligencja i Sztuczne Życie. ... Reguła 1. Element należy do ... Rozwiazanie zagadki logicznej w języku Prolog. Zagadka Einsteina: 1.
Read more

Sztuczna Inteligencja - YouTube

"Tour De France Étape 1" by Kraftwerk (from "Tour De France") Warner Music Group, ... Sztuczna inteligencja, sieci neuronowe - Krzysztof ...
Read more

Sztuczna Inteligencja - Prolog 3 - Education

Sztuczna Inteligencja - Prolog 1 1. HistoriaPodstawy teoretyczneSkładniaWykonanie programu Listy PostscriptumSztuczna Inteligencja i Systemy ...
Read more