| 1 | 16/2/2026 | Διαδικαστικά θέματα. Περιεχόμενο του μαθήματος. Γενικά περί λογικού προγραμματισμού και σύνδεση με την τεχνητή νοημοσύνη. Κατηγορίες προβλημάτων κατάλληλων για επίλυση μέσω λογικού προγραμματισμού. Γενικά περί λογικού προγραμματισμού με περιορισμούς. Πρόβλημα εύρεσης μυστικού κωδικού. Επίλυση Sudoku. Το πρόβλημα των ιεραποστόλων και κανιβάλων. Το πρόβλημα των κανατών. Συμβολική παραγώγιση. Ακολουθία Langford. |
| 2 | 17/2/2026 | Ένα απλό πρόγραμμα Prolog. Γεγονότα και ερωτήσεις. Κανόνες. Κατηγορήματα, άτομα και μεταβλητές. Προτάσεις στην Prolog. Κεφαλή και σώμα κανόνα. Στόχοι. Εύρος δράσης μεταβλητών. Οπισθοδρόμηση. Ενσωματωμένα κατηγορήματα \=/2 και =/2. Εισαγωγή στην προσέγγιση διαχείρισης της άρνησης από την Prolog. Αναδρομικοί κανόνες. Διερεύνηση σχετικά με τις εναλλακτικές διατυπώσεις αναδρομικών ορισμών. |
| - | 23/2/2026 | Καθαρή Δευτέρα. Δεν έγινε μάθημα. |
| 3 | 24/2/2026 | Δηλωτική και διαδικαστική σημασία κανόνων Prolog. Ορισμός ancestor/2 με βάση τον τρόπο κλήσης του. Ενσωματωμένα κατηγορήματα var/1 και atom/1. Ενσωματωμένα κατηγορήματα αριθμητικής >/2 και =</2. Δέντρο ανάλυσης. Παράδειγμα εύρεσης απάντησης σε ερώτηση Prolog μέσω δέντρου ανάλυσης. Διερεύνηση σχετικά με τη σειρά κανόνων σε αναδρομικούς ορισμούς και τη σειρά στόχων σε αναδρομικούς κανόνες. Αλφάβητο της Prolog και συντακτικοί κανόνες ατόμων, κατηγορημάτων και μεταβλητών. |
| 4 | 2/3/2026 | Δομές και συναρτησιακά σύμβολα. Ορίσματα και βαθμός κατηγορημάτων και συναρτησιακών συμβόλων. Παραδείγματα χρήσης δομών. Λίστες στην Prolog. Κεφαλή και ουρά λίστας. Κενή λίστα. Παραδείγματα λιστών. Κατηγόρημα member/2. Κατηγόρημα append/3. |
| 5 | 3/3/2026 | Υλοποίηση langford/1. Κατηγόρημα reverse/2. Διάφορες ασκήσεις με λίστες (first/2, last/2, insert_at_start/3, insert_at_end/3, evenlength/1, oddlength/1, palindrome/1). Παραλλαγή του reverse/2 με O(n) πολυπλοκότητα. Χρήση συσσωρευτών σε προγράμματα Prolog. Κατηγόρημα delete/3. |
| 6 | 9/3/2026 | Κατηγορήματα gensubset/2 και checksubset/2. Αριθμητική στην Prolog. Αριθμητικοί τελεστές, κατηγόρημα is/2 και τελεστές σύγκρισης. Διάφοροι τρόποι υλοποίησης του κατηγορήματος length/2. Ορισμός length/2 για δημιουργία λίστας δεδομένου μήκους. Υλοποίηση πρώτα κατά βάθος αναζήτησης σε Prolog και εφαρμογή της στο πρόβλημα των ιεραποστόλων και κανιβάλων και στο πρόβλημα του αγρότη, του λύκου, της κατσίκας και του λάχανου. Εύρεση βέλτιστης λύσης μέσω επαναληπτικής εμβάθυνσης. Διάζευξη στην Prolog και κατηγόρημα ;/2. Ανακοίνωση Α' ομάδας εργασιών. Πρώτη συζήτηση για την εργασία 1 της Α' ομάδας. |
| 7 | 10/3/2026 | Ενσωματωμένο κατηγόρημα findall/3. Κατηγόρημα flatten/2. Αποκοπή (!/0). Άρνηση στην Prolog (μέσω αποτυχίας). Κατηγορήματα call/1 και fail/0. Υλοποίηση της άρνησης στην Prolog. Κατηγορήματα permutation/2 και permutation2/2. Διάφορες ασκήσεις με αριθμητική (max/3, maxlist/2, is_ordered/1). Συνέχεια της συζήτησης για την εργασία 1 της Α' ομάδας. |
| 8 | 16/3/2026 | Διάζευξη στην Prolog και κατηγόρημα ;/2. Δομή if-then-else της Prolog. Κατηγόρημα sublist/2. Κατηγορήματα between/3, allbetween/3 και εναλλακτικές υλοποιήσεις τους. Εισαγωγή στους τελεστές. Δυαδικοί και μοναδιαίοι τελεστές. Ενδοθεματικοί, προθεματικοί και μεταθεματικοί τελεστές. Ενσωματωμένο κατηγόρημα current_op/3. Προτεραιότητα ορίσματος και σημασία των x και y στους τύπους τελεστών yfx, xfy και xfx. Προσεταιριστικότητα τελεστών. Ενσωματωμένο κατηγόρημα op/3. Προκαθορισμένοι τελεστές και τελεστές οριζόμενοι από τον προγραμματιστή. Διάφορες ασκήσεις με τελεστές. |
| 9 | 17/3/2026 | Συνέχεια με ασκήσεις επί των τελεστών. Συζήτηση για την εργασία 2 της Α' ομάδας. Κατηγορήματα add_matr/3, scale_vec/3, out_prod/3. Γενικά περί προβλημάτων ικανοποίησης περιορισμών. Ορισμός και εναλλακτικές μοντελοποιήσεις τους. Το πρόβλημα του χρωματισμού χάρτη, το πρόβλημα των N βασιλισσών και μοντελοποιήσεις τους. |
| 10 | 23/3/2026 | Το πρόβλημα των N βασιλισσών. Μέθοδοι οπισθοδρόμησης, γέννα-και-δοκίμαζε και 4-D με άξονες και τις διαγωνίους. Επίδειξη εκτέλεσης των προγραμμάτων. Πρώιμος έλεγχος και ενεργός εκμετάλλευση των περιορισμών. Αντιμετώπιση του προβλήματος των N βασιλισσών με πρώιμο έλεγχο και ευρετικό MRV σε απλή Prolog. Λογικός προγραμματισμός με περιορισμούς. Το πρόβλημα των N βασιλισσών στην Eclipse μέσω της βιβλιοθήκης ic. Ευρετικά τύπου first-fail. Επίδειξη εκτέλεσης προγράμματος. |
| 11 | 24/3/2026 | Το πρόβλημα των N βασιλισσών στην Eclipse μέσω των βιβλιοθηκών fd και gfd. Επίδειξη εκτέλεσης προγραμμάτων. Βήματα αντιμετώπισης προβλημάτων ικανοποίησης περιορισμών. Συνηθέστεροι περιορισμοί στη βιβλιοθήκη ic της Eclipse και κατηγορήματα συστηματικής αποτίμησης μεταβλητών. Οι περιορισμοί ως μεταβλητές πεδίων. Η βιβλιοθήκη ic_global της Eclipse. Ο κρυπτάριθμος SEND + MORE = MONEY. Εισαγωγή στην αντιμετώπιση προβλημάτων ικανοποίησης περιορισμών, που είναι και προβλήματα βελτιστοποίησης. Ανακοίνωση Β' ομάδας εργασιών. |
| 12 | 30/3/2026 | Παραδείγματα επίλυσης προβλημάτων ικανοποίησης περιορισμών με τη βιβλιοθήκη ic της Eclipse (Sudoku, γρίφος 7.11, κρυπτάριθμος κλασμάτων). Συνέχεια με την αντιμετώπιση προβλημάτων ικανοποίησης περιορισμών, που είναι και προβλήματα βελτιστοποίησης. Η βιβλιοθήκη branch_and_bound της Eclipse. Το πρόβλημα των N βασιλισσών στην εκδοχή του με βελτιστοποίηση αντικειμενικής συνάρτησης. Επίδειξη εκτέλεσης του προγράμματος με ic + branch_and_bound, καθώς και με την fd. Συζήτηση για την εργασία 3 της Α' ομάδας. |
| 13 | 31/3/2026 | Συνέχεια της συζήτησης για την εργασία 3 της Α' ομάδας. Ενσωματωμένα κατηγορήματα assert/1, asserta/1, assertz/1, retract/1, arg/3, functor/3 και =../2. Συζήτηση για τις εργασίες 4 και 5 της Β' ομάδας. |
| 14 | 20/4/2026 | Θεωρία λογικού προγραμματισμού. Κατηγορήματα, συναρτησιακά σύμβολα, μεταβλητές και βαθμός/τάξη. Όροι και ατομικοί τύποι. Συνδετικά. Καλοσχηματισμένοι τύποι. Γλώσσα πρώτης τάξης. Εμβέλεια ποσοδεικτών. Κλειστοί και ανοικτοί τύποι. Λεκτικά και προτάσεις. Οριστικές προτάσεις και οριστικοί στόχοι. Προτάσεις Horn. Σύνταξη και σημασιολογία. Γενικά περί μοντελοθεωρητικής σημασιολογίας, σημασιολογίας σταθερού σημείου και λειτουργικής σημασιολογίας. Πλήρως αποτιμημένοι όροι. Σύμπαν Herbrand και βάση Herbrand. Μοντελοθεωρητική σημασιολογία. Ερμηνείες Herbrand. |
| 15 | 21/4/2026 | Συνέχεια με τη μοντελοθεωρητική σημασιολογία. Μοντέλα Herbrand. Αλήθεια κλειστών τύπων. Λογικό επακόλουθο. Ελάχιστο μοντέλο Herbrand. Αποτέλεσμα μοντελοθεωρητικής σημασιολογίας. Παραδείγματα μοντελοθεωρητικής σημασιολογίας. Σημασιολογία σταθερού σημείου. Σταθερό σημείο απεικόνισης. Ελάχιστο σταθερό σημείο συνεχούς απεικόνισης σε πλήρες πλέγμα. Τελεστής άμεσου επακόλουθου και αποτέλεσμα σημασιολογίας σταθερού σημείου. Παραδείγματα. |
| 16 | 27/4/2026 | Λειτουργική σημασιολογία. Κανόνας συμπερασμού. SLD-ανάλυση. Αντικατάσταση, στιγμιότυπο, παραλλαγή και σύνθεση αντικαταστάσεων. Ενοποίηση και γενικότερος ενοποιητής. Κανόνας συμπερασμού της SLD-ανάλυσης. SLD-απόρριψη και σύνολο επιτυχίας. Αποτέλεσμα λειτουργικής σημασιολογίας. Διάφορες ασκήσεις. |
| 17 | 28/4/2026 | Συζήτηση για την εργασία 6 της Β' ομάδας. Ασκήσεις επί της σημασιολογίας λογικών προγραμμάτων. |
| 18 | 4/5/2026 | Γενικά περί γνώσης. Συμπερασμός. Συστήματα βασισμένα σε γνώση. Η περίπτωση των εμπείρων συστημάτων. Αναπαράσταση γνώσης με if-then κανόνες και κανόνες παραγωγής. Συλλογιστική κατά την οπίσθια φορά και συλλογιστική κατά την εμπρόσθια φορά. Υλοποίηση των if-then κανόνων σαν κανόνες Prolog και χρήση της Prolog σαν κέλυφος (οπίσθια συλλογιστική). |
| 19 | 5/5/2026 | Υλοποίηση των if-then κανόνων και της συλλογιστικής κατά την οπίσθια φορά με χρήση Prolog. Υλοποίηση των if-then κανόνων και της συλλογιστικής κατά την εμπρόσθια φορά με χρήση Prolog. Δυνατότητα παροχής εξηγήσεων (απάντηση ερωτήσεων "ΠΩΣ") για συλλογιστική κατά την οπίσθια φορά με χρήση Prolog. Γενικά περί χειρισμού αβεβαιότητας κατά την αναπαράσταση γνώσης. Υλοποίηση με χρήση Prolog συλλογιστικής κατά την οπίσθια φορά και απλού χειρισμού αβεβαιότητας. |
| 20 | 11/5/2026 | Συλογιστική με if-then κανόνες και πληροφορία παρεχόμενη από τον χρήστη. Αναπαράσταση γνώσης μέσω σημασιολογικών δικτύων. Κληρονομικότητα στα σημασιολογικά δίκτυα. Υλοποίηση σημασιολογικών δικτύων με χρήση Prolog. |
| 21 | 12/5/2026 | Σύνοψη. Αναπαράσταση γνώσης μέσω πλαισίων. Κληρονομικότητα στα πλαίσια. Υλοποίηση σε Prolog. Υποστήριξη υπολογισμού τιμών σχισμών στα πλαίσια. |