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. Υποστήριξη υπολογισμού τιμών σχισμών στα πλαίσια.