Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Prolog Επεξεργασία και Αναπαράσταση Γνώσης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο: Τεχνητή Νοημοσύνη.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Prolog Επεξεργασία και Αναπαράσταση Γνώσης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο: Τεχνητή Νοημοσύνη."— Μεταγράφημα παρουσίασης:

1 Prolog Επεξεργασία και Αναπαράσταση Γνώσης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο: Τεχνητή Νοημοσύνη

2 Λίστες Χρησιμοποιούνται για την αποθήκευση δεδομένων (αρχικών, ενδιάμεσων και τελικών καταστάσεων) για την επίλυση προβλημάτων Μία λίστα είναι μια ακολουθία από οποιονδήποτε αριθμό στοιχείων. Τα στοιχεία αυτά μπορεί να είναι απλοί όροι, σύνθετοι όροι ή ακόμα και άλλες λίστες. Τα στοιχεία μίας λίστας τοποθετούνται μέσα σε αγκύλες και χωρίζονται μεταξύ τους με κόμμα, π.χ. [dog,3,f(a,b),X,[1,2],s] Μία λίστα μπορεί να είναι:  Κενή: μία δομή χωρίς όρους που συμβολίζεται με []  Μία δομή με δύο όρους: την κεφαλή (head) που είναι το πρώτο στοιχείο της λίστας και την ουρά (tail) που είναι το υπόλοιπο τμήμα της λίστας. Η κεφαλή μίας λίστας μπορεί να είναι οτιδήποτε. Η ουρά όμως πρέπει να είναι πάντα λίστα είτε κενή ή με τη δικιά της κεφαλή και ουρά, π.χ. στην παραπάνω λίστα dog είναι η κεφαλή και [3,f(a,b),X,[1,2],s] η ουρά.

3 Ταυτοποίηση λιστών Δύο λίστες ταυτοποιούνται εφόσον έχουν τον ίδιο αριθμό στοιχείων και τα αντίστοιχα στοιχεία μπορούν να ταυτοποιηθούν, π.χ. Λίστα1Λίστα2Ταυτοποίηση [a,b,c][a,b,c,d]αποτυγχάνει [a,b,c][X,Y]αποτυγχάνει [a,b][a,X]{X=b} [a,b][a|X]{X=[b]} [f(l),k,[l]][f(X),Y,Z]{X=l,Y=k,Z=[l]} [f(l),k,[l]][f(X),Y|Z]{X=l,Y=k,Z=[[l]]} [[a]][X|Y]{X=[a],Y=[]}

4 Χειρισμός Λιστών (1/2) Εύρεση τελευταίου στοιχείου last(X,[X]). last(X,[Head|Tail]):-last(X,Tail). ?-last(c,[a,b,c]). Πρόταση 2 ?-last(c,[b,c]). Πρόταση 2 ?-last(c,[c]). Πρόταση 1 YES ?-last(c,[]). fail Πρόταση 2

5 Χειρισμός Λιστών (2/2) Έλεγχος συμπερίληψης member(X,[X|Y]). member(X,[Head|Tail]):- member(X,Tail). Συνένωση λιστών append([],L,L). append([X|L1],L2,[X|L3]):- append(L1,L2,L3). Η συνένωση μίας λίστας L με μία κενή λίστα έχει ως αποτέλεσμα την ίδια τη λίστα. Αν η πρώτη λίστα δεν είναι κενή, μπορεί να χωριστεί σε κεφαλή και ουρά: [X|L1]. Τότε η συνένωση της λίστας [X|L1] και της L2 είναι η [X|L3] όπου L3 είναι το αποτέλεσμα της συνένωσης των λιστών L1 και L2.


Κατέβασμα ppt "Prolog Επεξεργασία και Αναπαράσταση Γνώσης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο: Τεχνητή Νοημοσύνη."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google