Εργαστήριο μαθήματος «Τεχνολογία Γνώσης» Σαντιπαντάκης Γιώργος
Οπισθοδρόμηση (Backtrack) Μία κλήση (ερώτηση) ικανοποιείται από μία πρόταση, αν ταυτοποιείται από την κεφαλή της πρότασης. Όταν μία κλήση ταυτοποιείται με ένα από τα γεγονότα του προγράμματος τότε αυτή ικανοποιείται και απομακρύνεται από την ερώτηση. Αν η κλήση ταυτοποιείται με έναν κανόνα, τότε αντικαθίσταται από το σώμα του κανόνα. Αν στο πρόγραμμα υπάρχουν περισσότερες από μία προτάσεις με τις οποίες μπορεί να ταυτοποιηθεί, τότε ταυτοποιείται με την πρώτη στο πρόγραμμα (Σημείο οπισθοδρόμησης) Σε περίπτωση αποτυχίας εύρεσης λύσης (ή αν χρήστης ζητήσει και άλλες λύσεις), ο μηχανισμός οπισθοδρόμησης επιστρέφει στο τελευταίο σημείο οπισθοδρόμησης.
Παράδειγμα shines(gold). shines(spoon). yellow(banana). yellow(gold). precious(X):- yellow(X), shines(X). ?- precious(X). backtrack.pl
Παράδειγμα shines(gold). shines(spoon). yellow(banana). yellow(gold). precious(X):- yellow(X), shines(X). ?- precious(X). precious(X)yellow(X),shines(X) yellow(X)X=banana shines(banana) X=gold shines(gold)