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

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

Prolog Επεξεργασία και Αναπαράσταση Γνώσης

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


Παρουσίαση με θέμα: "Prolog Επεξεργασία και Αναπαράσταση Γνώσης"— Μεταγράφημα παρουσίασης:

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

2 Τελεστές Σύγκρισης (1/2)
Τελεστής Εξήγηση X > Y μεγαλύτερο X < Y μικρότερο X >= Y μεγαλύτερο / ίσο X =<Y μικρότερο / ίσο X =:= Y ισότητα X =/= Y ανισότητα Οι τελεστές σύγκρισης χρησιμοποιούνται στα σώματα κανόνων, με σκοπό τον έλεγχο συνθηκών μεταξύ αριθμών και μεταβλητών

3 Τελεστές Σύγκρισης (2/2)
=:= (συντακτική ισότητα – identical) = (ταυτοποίησης – unification) Διαφορά μεταξύ = και =:= ?- 1+2 =:= 2+1. yes ?- 1+2 = 2+1. no ?- 1+A = B+2. A=2 B=1

4 Παραδείγματα χρήσης τελεστών σύγκρισης
Έλεγχος για το αν μία λίστα είναι ταξινομημένη sorted([]). sorted([_]). sorted([X,Y|List]):- X=<Y,sorted([Y|List]). Εύρεση μέγιστου στοιχείου λίστας list_max([X],X). list_max([X|Tail],M):-list_max(Tail,M1),max(X,M1,M). max(X,Y,X):-X>Y. max(X,Y,Y):-X=<Y. 4

5 Τελεστές αριθμητικών πράξεων
Τελεστής Εξήγηση + πρόσθεση - αφαίρεση * πολλαπλ/μός / διαίρεση mod υπόλοιπο διαίρεσης ^ δύναμη 5

6 Τελεστής απόδοσης τιμής
Η απόδοση των τιμών αριθμητικών εκφράσεων σε μεταβλητές δεν μπορεί να γίνει χρησιμοποιώντας των τελεστή = ?- X=3+4 X=3+4 Για απόδοση τιμής χρησιμοποιούμε τον τελεστή is ?- X is 3+4 X=7 Είναι προφανές ότι μπορούμε να χρησιμοποιούμε και μεταβλητές στην έκφραση που ακολουθεί στα δεξιά του τελεστή is. Σε αυτήν την περίπτωση θα πρέπει όλες οι μεταβλητές να έχουν πάρει τιμές τη στιγμή που θα εκτελεστεί ο τελεστής.

7 Παραδείγματα χρήσης τελεστών
Μέγιστός Κοινός Διαιρετής gcd(X,X,X). gcd(X,Y,D):-X<Y, Y1 is Y-X, gcd(X,Y1,D). gcd(X,Y,D):-X1 is X-Y, gcd(X1,Y,D). Άθροισμα στοιχείων λίστας sum_list([],0). sum_list([X|T],Sum):-sum_list(T,Sum1),Sum is Sum1+X. Εύρεση ν-οστού στοιχείου λίστας n_elem(1,[X|T],X). n_elem(N,[H|T],X):-N1 is N-1, n_elem(N1,T,X). 7

8 Να φτιαχτεί σε Prolog μια συνάρτηση, έστω addlist(LIST1,LIST2,RESULTS), η oπoία θα δέχεται δύo λίστες ακεραίων (LIST1 και LIST2) και θα επιστρέφει σε μια λίστα (RESULTS) τα αθρoίσματα τoυς ανά ζεύγη. Θεωρήστε ότι oι LIST1 και LIST2 είναι ισoμεγέθεις. Πχ: ?- addlist([4,1,3,2],[5,6,1,0],X). X = [9,7,4,2] addlist([],[],[]). addlist([H1|T1],[H2|T2],[H3|T3]):- H3 is H1+H2, addlist(T1,T2,T3).


Κατέβασμα ppt "Prolog Επεξεργασία και Αναπαράσταση Γνώσης"

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


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