Συζήτηση:Datalog

Τελευταίο σχόλιο: πριν από 6 έτη από Wolfymoza στο θέμα Σχόλιο 6-12-2014


Σχόλιο 6-12-2014 Επεξεργασία

Κατάσταση: έγινε

Σε δύο σημεία (Α και Β) του παρακάτω κειμένου η επεξήγηση της αναπαράστησης των σταθερών με το κατηγόρημα περιγράφονται ανάποδα. Ποιό είναι σωστό? Α) parent(bill,mary) --> γονιός του bill είναι η mary Β) ancestor(X,Y) --> ο X είναι πρόγονος του Y

"Παράδειγμα προγράμματος σε Datalog: parent(bill,mary). parent(mary,john). Αυτές οι δύο γραμμές ορίζουν δύο γεγονότα, δηλ. δυο πράγματα που είναι πάντα αληθή. Διαισθητικά σημαίνουν: γονιός του bill είναι η mary and γονιός της mary είναι ο john. ancestor(X,Y) :- parent(X,Y). ancestor(X,Y) :- parent(X,Z),ancestor(Z,Y). Αυτές οι δύο γραμμές περιγράφουν τους κανόνες που ορίζουν τη σχέση προγόνου (ancestor). Ένας κανόνας αποτελείται από δύο κύρια μέρη που χωρίζονται από το σύμβολο :-. Το μέρος στα αριστερά του είναι η κεφαλή, το μέρος στα δεξιά του είναι το σώμα του κανόνα. Ένας κανόνας διαβάζεται (και μπορεί διαισθητικά να γίνει κατανοητός) ως εξής: <κεφαλή> αν είναι γνωστό ότι <σώμα>. Τα κεφαλαία γράμματα είναι μεταβλητές. Επομένως στο παράδειγμα ο πρώτος κανόνας μπορεί να διαβαστεί σαν ο X είναι πρόγονος του Y αν είναι γνωστό ότι ο X είναι γονιός του Y και ο δεύτερος κανόνας σαν ο X είναι πρόγονος του Y αν είναι γνωστό ότι ο X είναι γονιός κάποιου Z και ο Z είναι πρόγονος του Y. Η σειρά των προτάσεων δεν έχει σημασία στην Datalog σε αντίθεση με την Prolog, η οποία εξαρτάται από τη σειρά τους για να υπολογίσει το αποτέλεσμα της κλήσης μιας ερώτησης." Αναφορά: Βασίλης Τσουλχάς 85.73.221.148 11:01, 6 Δεκεμβρίου 2014 (UTC)Απάντηση

Η παράγραφος δεν έχει κάποιος πρόβλημα, αλλαγή αναφοράς σε "έγινε". Wolfymoza (συζήτηση) 07:19, 26 Ιουνίου 2017 (UTC)Απάντηση

Επιστροφή στη σελίδα "Datalog".