Prolog

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Prolog as PDF for free.

More details

  • Words: 313
  • Pages: 17
PROGRAMOWANIE W PROLOGU

mgr inż. Roman Huk [email protected]

Na dzisiejszych zajęciach... ● ● ● ●

Kilka słów o przedmiocie Kilka słów o sztucznej inteligencji Składnia prologu Zadanie

Laboratorium sztucznej inteligencji ● ● ●

4 spotkania po 4 godziny. Zaliczenie na ostatnich zajęciach. Warunki zaliczenia: – –



Oddanie 4(6) sprawozdań; Obecność na zajęciach.

Ocena: – –

Średnia “wojskowa” z ocen za sprawozdania; Każda nieobecność obniża stopień o 0,75.

Postać sprawozdania ●

Format: – – –



tekst (UTF-8, ISO-8859-2,CP-1250), PDF, PS, HTML, RTF lub (w ostateczności MS Word).

Zawartość: – – – – – –

Imię, Nazwisko, grupa, data wykonania, Treść zadania, Krótki opis pomysłu rozwiązania, Kod źródłowy, Uzasadnienie odcięć, Ew. komentarze.

Literatura ●



W.F. Clocksin, C.S. Melish Prolog. Programowanie. Wydawnictwo Helion, Gliwice ????. Ulf Nilsson, Jan Małuszyński: Logic, Programming and Prolog (2ed). http://www.ida.liu.se/~ulfni/lpp

Narzędzia sztucznej inteligencji ●

● ● ● ● ●

Logika matematyczna, rachunek zdań, rachunek predykatów, algebra zbiorów; Zbiory rozmyte i zbiory przybliżone, Sieci neuronowe, Algorytmy ewolucyjne, Programowanie z bazą wiedzy, ...

Elementy programowania w Prologu ● ● ●

● ● ● ● ●

Fakty, Reguły, Zapytania. Stałe Zmienne Relacje Operatory ODCIĘCIE

Fakty

ojciec(jan, marta). ojciec(jan, krzysztof). ojciec(pawel, maria). matka(ewa,marta). matka(ewa,maria). matka(anna,krzysztof).

Reguły

ma_dzieci(X) :- ojciec(X, Y). rodzic(X) :- ma_dzieci(X). rodzic(X) :- ojciec(X,_). rodzic(X) :- matka(X,_). rodzic(X) :- ojciec(X,_);matka(X,_).

Pytania

?- rodzic(jan). ?- rodzic(X).

Przykład 1. dziadek(X,Y) :rodzic(X,Z),rodzic(Z,Y). rodzic(X,Y) :- ojciec(X,Y). rodzic(X,Y) :- matka(X,Y). ojciec(jan,krzysztof). ojciec(jan,marta). ojciec(pawel, maria). matka(ewa,marta). matka(ewa,maria). matka(anna,krzysztof).

Przykład 2a. not(1,0). not(0,1). and(1,1,1). and(_,0,0). ond(0,_,0). or(0,0,0). or(1,_,1). or(_,1,1). nand(X,Y,Z) :- and(X,Y,W),not(W,Z).

Przykład 2b. not(X,Y) :- Y is 1-X. and(X,Y,Z) :- Z is X*Y. nand(X,Y,Z) :- and(X,Y,Q),not(Q,Z).

Przykład 2c. not(X) :- X=0. and(X,Y) :- X=1,Y=1. nand(X,Y,Z) :- and(X,Y,Q),not(Q,Z).

Listy p([a,b,c]). p([a,[b,c,d],e]). ?-p([H|T]).

Rekurencja append([],Lista,Lista). append([X|Lista1],Lista2,[X|Lista3]) :- append(Lista1, Lista2, Lista3). length([],0). length([H|T],L) :length(T,Y), L is Y+1. member(X,[X|_]). member(X,[_|Y]) :- member(X,Y).

Zadania ● ● ● ● ● ●

Wieże Hanoi Kalkulator Sortowanie listy Przeszukiwanie grafu Upraszczanie wyrażeń algebraicznych Pizzeria

Related Documents

Prolog
October 2019 28
Prolog
November 2019 24
Prolog
June 2020 14
Prolog
November 2019 28
Subprogramacion Prolog
December 2019 21
Prolog Intro
May 2020 8