Prolog αποκοπη.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ Εισαγωγικό Φροντιστήριο.
Advertisements

Εργαστήριο μαθήματος «Τεχνολογία Γνώσης» Σαντιπαντάκης Γιώργος
Άρνηση στο Λ.Π.. Αρνητικά γεγονότα/γνώση δεν περιγράφονται στο πρόγραμμα. Απλώς δεν περιλαμβάνονται στο πρόγραμμα. Παράδειγμα –Γράφουμε: father (bob,
ΕΛΕΓΧΟΣ ΑΝΑΖΗΤΗΣΗΣ. Παράδειγμα 1 member (X, [X | Y]. member (X, [Y | Z] :- member (X, Z) ? member (b, [a, b, c, b, e]) ? member (b, [b, c, b, e]) ? member.
Εισαγωγικό Φροντηστήριο Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Eργαλεία.
Είσοδος & Έξοδος στη C++ Ι
Project in XSB Prolog Επεξεργασία και Αναπαράσταση Γνώσης Άνοιξη 2007 Τμήμα Επιστήμης Υπολογιστών Πανεπιστημίου Κρήτης.
Εντολές Επιλογής και Αποφάσεων
Τα ανθρώπινα δικαιώματα 30 είναι τα άρθρα της Οικουμενικής Διακήρυξης των Ανθρωπίνων Δικαιωμάτων που έχουν εκδοθεί ειδικά για τους νέους.
Πως παίζουν τα παιδιά?. Σωματικά χαρακτηριστικά των παιδιών προσχολικής ηλικίας  Τα παιδιά είναι ιδιαίτερα κινητικά  Χρειάζονται συχνά περιόδους ξεκούρασης.
Εισαγωγή στη Νοσηλευτική Επιστήμη Ενότητα 4: Εκτίμηση της κατάστασης του Ασθενή. Κοτρώτσιου Ευαγγελία, Καθηγητής, Τμήμα Νοσηλευτικής, T.E.I. Θεσσαλίας.
LOGO Προγραμματισμός Η/Υ β’ εξάμηνο – εργαστήριο ΚΑΛΟΓΙΑΝΝΗΣ ΓΡΗΓΟΡΙΟΣ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών Α.Π.Θ. Msc Τηλεπικοινωνίες Πολυτεχνική.
Ιδέες για διαχείριση του εστιατορίου. Συχνή ερώτηση τι είδους εστιατόριο να ανοίξω.
Prolog Επεξεργασία και Αναπαράσταση Γνώσης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο: Τεχνητή Νοημοσύνη.
Copyright © 2005 Elsevier Κεφάλαιο 1 :: Εισαγωγή Πραγματολογία των Γλωσσών Προγραμματισμού Michael L. Scott.
ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΤΕΧΝΙΑΣ Ι
H Μέθοδος του Steffensen f(x n ) f(x n +h) xnxn x n +h Προσέγγιση της f ’(x) με τη συνάρτηση g(x), όπου, g(x)= {f(x+h)-f(x)}/h.
Prolog Επεξεργασία και Αναπαράσταση Γνώσης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο: Τεχνητή Νοημοσύνη.
Εισαγωγή στη βελτιστοποίηση (Μέρος 1) Daniel Kirschen.
Ο υπολογιστής στην εκπαίδευση. Η αναβάθμιση του μαθησιακού περιβάλλοντος στο σχολείο, με την αξιοποίηση των δυνατοτήτων των υπολογιστών, δεν είναι εύκολη.
Πρόγραμμα Περιβαλλοντικής Εκπαίδευσης «Οικολογικά Σχολεία» Έλενα Περικλέους.
Το πλαίσιο Διαλειτουργικότητας της Ηλεκτρονικής Διακυβέρνησης
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΟΙΚΟΝΟΜΙΚΗ ΕΠΙΣΤΗΜΗ
Prolog Επεξεργασία και Αναπαράσταση Γνώσης Εισαγωγή
Prolog Tutorial Μαθηματική Λογική.
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Β΄ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΜΑΘΗΜΑ: ΠΑΙΔΑΓΩΓΙΚΕΣ ΙΔΕΕΣ ΚΑΙ ΕΚΠΑΙΔΕΥΣΗ ΚΥΚΛΟΣ:Α' ΥΠΟΧΡΕΩΤΙΚΟ ΕΞΑΜΗΝΟ:ΧΕΙΜΕΡΙΝΟ ( ) ΔΙΔΑΣΚΩΝ:ΠΑΝΑΓΙΩΤΗΣ ΠΑΠΑΚΩΝΣΤΑΝΤΙΝΟΥ.
1η Διάλεξη «Το διεθνές οικονομικό σύστημα»
Μακροοικονομία Διάλεξη 9.
ΤΟ ΑΠΛΟ ΗΛΕΚΤΡΙΚΟ ΚΥΚΛΩΜΑ
Prolog Επεξεργασία και Αναπαράσταση Γνώσης Εισαγωγή
Φυσική A’ Λυκείου ΔΥΝΑΜΙΚΗ ΣΤΟ ΕΠΙΠΕΔΟ
ΑΣΚΗΣΕΙΣ ΔΥΝΑΜΙΚΗΣ Δύναμη και Επιτάχυνση Επιταχυνσιόμετρο
ΗΛΕΚΤΡΙΚΕΣ ΜΗΧΑΝΕΣ ΣΥΝΕΧΟΥΣ ΡΕΥΜΑΤΟΣ
ΒΧΔ Πολλαπλών κλιμάκων
110 ΓΕΛ ΠΑΤΡΑΣ Σχ. Έτος Τμήμα Α4 ΔΙΑΔΙΚΤΥΟ ΚΑΙ ΤΗΛΕΟΡΑΣΗ ΕΠΙΔΡΑΣΗ ΣΤΑ ΠΑΙΔΙΑ ΣΤΟΥΣ ΕΦΗΒΟΥΣ ΚΑΙ ΣΤΟΥΣ ΝΕΟΥΣ ΣΤΟ ΕΞΩΤΕΡΙΚΟ.
Πρότυπα Προγραμματισμού
Τμήμα Διεθνών Σχέσεων Πανεπιστημίου Πατρών
Νόμος του Hooke.
Η γλώσσα Προγραμματισμού PROLOG
ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ (105)
Χαρακτηριστικά μιας Κατανομής
Διασκευή 5 Οι 7 μεταμορφωτικές πράξεις στη βιογραφία, Η αφήγηση ως γνώση , Απόστολος Δοξιάδης.
Καλή και δημιουργική χρονιά.
ΕΝΟΤΗΤΑ 3 Κεφάλαιο 8 Επεξεργασία Δεδομένων και Υπολογιστικά Φύλλα
Δρ. Γιώργος Μαρκάκης Καθηγητής Βιομετρίας Τ.Ε.Ι. Κρήτης
Η έννοια του προβλήματος
Αναλυτικό Πρόγραμμα Σπουδών
Project 5 ΑΝΑΝΕΩΣΙΜΕΣ ΠΗΓΕΣ ΕΝΕΡΓΕΙΑΣ (ΠΕΡΙΒΑΛΛΟΝ ΚΑΙ ΟΙΚΟΝΟΜΙΑ)
ΑΑ042-ΣΑΚΧΑΡΩΔΗΣ ΔΙΑΒΗΤΗΣ & ΚΑΡΔΙΑΚΗ ΑΝΕΠΑΡΚΕΙΑ Χατζηνικολάου Αικατερίνη1, Χατζόπουλος Στυλιανός2 1.Φοιτήτρια Νοσηλευτικής ΑΤΕΙ Θεσσαλονίκης 2.Φοιτητής.
Οι Συναρτήσεις y=αx2 και y=αx2+βx+γ με α≠0 στο Γυμνάσιο
موضوع ارائه : نظريه تقريب. موضوع ارائه : نظريه تقريب.
ΜΑΘΗΜΑ: ΠΑΙΔΑΓΩΓΙΚΕΣ ΙΔΕΕΣ ΚΑΙ ΕΚΠΑΙΔΕΥΣΗ ΚΥΚΛΟΣ:Α' ΥΠΟΧΡΕΩΤΙΚΟ ΕΞΑΜΗΝΟ:ΧΕΙΜΕΡΙΝΟ ( ) ΔΙΔΑΣΚΩΝ:ΠΑΝΑΓΙΩΤΗΣ ΠΑΠΑΚΩΝΣΤΑΝΤΙΝΟΥ.
ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ (105)
ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ (Κ105)
ارائه دهندگان اعظم خیرالهی مریم خضریان سحر سلیمانی.
Μακροοικονομική Θεωρία Ι Διδάσκων: Γιώργος Αργείτης
מדדי מרכזיות שכיח Mo – (Mode) חציון (Median) Md –
ניהול איכות ובקרת איכות סטטיסטית
Тақырыбы: Тригонометриялық функциялардың туындылары
CRYPTOSPORIDIUM PARVUM
Παρουσίαση Αριθμητικών Χαρακτηριστικών 1) Διακριτών
ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ (105)
Ισορροπία Στερεών Σωμάτων
A.ΤΕΙ ΚΑΛΑΜΑΤΑΣ - ΛΟΧΡΗ ΔΙΟΙΚΗΣΗ ΧΡΗΜΑΤΟΠΙΣΤΩΤΙΚΩΝ ΥΠΗΡΕΣΙΩΝ
Κεφάλαιο 6 Η Κανονική Κατανομή.
Max-Flow: Non-terminating example with irrational capatcities
Η έννοια της δύναμης Οι δυνάμεις προκαλούν μεταβολή στην ταχύτητα
Προσέγγιση στην επαλληλία των κινήσεων
MATH 1310 Section 5.3.
Μεταγράφημα παρουσίασης:

Prolog αποκοπη

Αποκοπή Η αποκοπή παρέχει στον προγραμματιστή τη δυνατότητα να «κλαδέψει» δυναμικά το δένδρο υπολογισμού που δημιουργεί η Prolog. Είναι ένας τρόπος ελέγχου του μηχανισμού οπισθοδρόμησης, ο οποίος απαγορεύει τη δημιουργία κλαδιών που ξέρουμε ότι δεν θα οδηγήσουν σε λύση. Η αποκοπή συμβολίζεται με το χαρακτήρα «!» και πετυχαίνει πάντα. Όταν ο μηχανισμός αναζήτησης της Prolog συναντήσει μία αποκοπή Αγνοούνται όλες οι προτάσεις που ανήκουν στη διαδικασία και έπονται της πρότασης που περιέχει την αποκοπή. Αγνοούνται όλες οι εναλλακτικές λύσεις των ατομικών τύπων που βρίσκονται πριν από την αποκοπή μέσα στο σώμα του κανόνα που εμφανίζεται.

Παράδειγμα με Αποκοπή ?-uncle(bob,Y). ?-brother(bob,Z),!,father(Z,Y). {Z=john} ?-!,father(john,Y). uncle(X,Y):-brother(X,Z),!,father(Z,Y). uncle(X,Y):-brother(X,Z),mother(Z,Y). brother(bob,john). brother(bob,nick). father(john,ann). ?- father(john,Y). {Y=ann}

Αποφυγή άσκοπων ελέγχων Έστω ότι θέλουμε να υλοποιήσουμε τη συνάρτηση: f(x)=0 if x<3 f(x)=2 if 3=<x<6 f(x)=4 if x>=6 Στο πρόγραμμα που ακολουθεί αποφεύγονται οι περιττοί έλεγχοι κατά την οπισθοδρόμηση αφού γνωρίσουμε εκ των προτέρων ότι μόνο μία από τις τρεις προτάσεις μπορεί να είναι αληθής κάθε φορά. f(X,0):- X<3, !. f(X,0):- X<3, !. f(X,2):- X>=3, X<6, !. f(X,2):- X<6, !. f(X,4):- X>=6, !. f(X,4). Πρόγραμμα1 Πρόγραμμα2

Είδη αποκοπών Μία αποκοπή είναι κόκκινη όταν κατά την αφαίρεσή της από το πρόγραμμα μεταβάλλεται η δηλωτική σημασία του προγράμματος. Π.χ. στο Πρόγραμμα2 οι αποκοπές είναι κόκκινες, αφού αν αφαιρεθούν το πρόγραμμα θα επιστρέψει διαφορετικά αποτελέσματα. Μία αποκοπή είναι πράσινη όταν δεν επηρεάζει τη δηλωτική σημασία του προγράμματος. Π.χ. στο Πρόγραμμα1 οι αποκοπές είναι πράσινες, αφού αν αφαιρεθούν το πρόγραμμα θα επιστρέψει τα ίδια αποτελέσματα σε περισσότερο χρόνο.

Αποκοπή και Άρνηση not_member(X,[]). Μία από τις σημαντικότερες χρήσεις της αποκοπής είναι η υλοποίηση της άρνησης σαν αποτυχία (negation as failure). Αυτό επιτυγχάνεται με τη χρήση του ενσωματωμένου κατηγορήματος fail της Prolog, το οποίο αποτυγχάνει πάντα. Ο συνδυασμός αποκοπής και επιτυχίας κάνει δυνατή την υλοποίηση κατηγορημάτων που περιέχουν την άρνηση. Για παράδειγμα το παρακάτω πρόγραμμα επιτυγχάνει όταν ένα στοιχείο δεν είναι μέλος μίας λίστας. not_member(X,[]). not_member(X,[X|_]):-!,fail. not_member(X,[_|Rest]):-not_member(X,Rest).

Υπόθεση του Κλειστού Κόσμου Η αρχή της άρνησης σαν αποτυχία βασίζεται στην Υπόθεση του Κλειστού Κόσμου (Closed World Assumption). Σύμφωνα με αυτή όλη η απαραίτητη πληροφορία για την επίλυση του προβλήματος περιέχεται στο πρόγραμμα και οτιδήποτε δεν περιέχεται σε αυτό θεωρείται λάθος (οποιαδήποτε σχέση δεν μπορεί να αποδειχθεί από το σύστημα θεωρείται ως εσφαλμένη). Η υλοποίηση του τελεστή άρνησης του λογικού προγραμματισμού (άρνηση σαν αποτυχία) γίνεται με τη βοήθεια του συνδυασμού αποκοπής και άρνησης. not(X):- X,!,fail. not(X).

Prolog engines XSB (http://xsb.sourceforge.net/) SWI-Prolog (http://www.swi-prolog.org) SISCtus Prolog (http://www.sics.se/isl/sicstuswww/site/index.html) ECLiPSe Prolog (http://eclipse.crosscoreop.com/) Quintus Prolog (http://www.sics.se/quintus/) YAP Prolog (http://www.ncc.up.pt/~vsc/Yap/) etc…