1 22/2/2017 Διαδικαστικά θέματα. Περιεχόμενο του μαθήματος. Γενικά περί λογικού προγραμματισμού και σύνδεση με την τεχνητή νοημοσύνη. Κατηγορίες προβλημάτων κατάλληλων για επίλυση μέσω λογικού προγραμματισμού. Γενικά περί λογικού προγραμματισμού με περιορισμούς. Πρόβλημα επίλυσης κρυπταρίθμου. Επίλυση Sudoku. Το πρόβλημα του πιθήκου και της μπανάνας. Το πρόβλημα των ιεραποστόλων και κανιβάλων. Συμβολική παραγώγιση.
2 23/2/2017 Ένα απλό πρόγραμμα Prolog. Γεγονότα και ερωτήσεις. Κανόνες. Κατηγορήματα, άτομα και μεταβλητές. Προτάσεις στην Prolog. Κεφαλή και σώμα κανόνα. Στόχοι. Ενσωματωμένα κατηγορήματα \=/2 και =/2. Εύρος δράσης μεταβλητών. Οπισθοδρόμηση. Δέντρο ανάλυσης. Παραδείγματα εύρεσης απάντησης σε ερώτηση Prolog μέσω δέντρου ανάλυσης.
3 1/3/2017 Διερεύνηση σχετικά με τις εναλλακτικές διατυπώσεις αναδρομικών ορισμών. Ενσωματωμένα κατηγορήματα var/1 και atom/1. Δομές και συναρτησιακά σύμβολα. Ορίσματα και βαθμός κατηγορημάτων και συναρτησιακών συμβόλων.
4 2/3/2017 Παραδείγματα χρήσης δομών. Λίστες στην Prolog. Κεφαλή και ουρά λίστας. Κενή λίστα. Παραδείγματα λιστών. Κατηγόρημα member/2. Κατηγόρημα append/3. Κατηγόρημα reverse/2. Παραλλαγή του reverse/2 με O(n) πολυπλοκότητα.
5 8/3/2017 Χρήση συσσωρευτών σε προγράμματα Prolog. Κατηγορήματα delete/3 και sublist/2. Ακολουθία Langford. Διάφορες ασκήσεις με λίστες.
6 9/3/2017 Κατηγορήματα insert/2, permutation/2 και permutation2/2. Κατηγόρημα flatten/2. Αποκοπή (!/0). Αριθμητική στην Prolog. Αριθμητικοί τελεστές, κατηγόρημα is/2 και τελεστές σύγκρισης. Ανακοίνωση Α' ομάδας ασκήσεων.
7 15/3/2017 Διάφοροι τρόποι υλοποίησης του κατηγορήματος length/2. Ορισμός length/2 για δημιουργία λίστας δεδομένου μήκους. Ορισμός length/2 καθολικής χρήσης. Ενσωματωμένο κατηγόρημα findall/3. Διάφορες ασκήσεις με αριθμητική.
8 16/3/2017 Διάφορες ασκήσεις με αποκοπή. Άρνηση στην Prolog (μέσω αποτυχίας). Υπόθεση του κλειστού κόσμου. Ενσωματωμένα κατηγορήματα fail/0, και call/1. Επισημάνσεις για τη χρήση της άρνησης. Διάφορες ασκήσεις με άρνηση.
9 22/3/2017 Ενδοθεματικοί, προθεματικοί και μεταθεματικοί τελεστές. Προτεραιότητα ορίσματος. Προκαθορισμένοι τελεστές και τελεστές οριζόμενοι από τον προγραμματιστή. Διάφορες ασκήσεις. Διάζευξη στην Prolog και κατηγόρημα ;/2.
10 23/3/2017 Προβλήματα ικανοποίησης περιορισμών. Το πρόβλημα των N βασιλισσών. Μέθοδοι οπισθοδρόμησης, γέννα-και-δοκίμαζε και 4-D με άξονες και τις διαγωνίους. Επίδειξη εκτέλεσης των προγραμμάτων. Εισαγωγή στον προγραμματισμό με περιορισμούς.
11 29/3/2017 Λογικός προγραμματισμός με περιορισμούς. Το πρόβλημα των N βασιλισσών στην Eclipse μέσω των βιβλιοθηκών fd και ic. Ευριστικά τύπου first-fail στις βιβλιοθήκες fd και ic. Επίδειξη εκτέλεσης προγραμμάτων.
12 30/3/2017 Αντιμετώπιση προβλημάτων ικανοποίησης περιορισμών, που είναι και προβλήματα βελτιστοποίησης, με τις βιβλιοθήκες fd και ic της Eclipse. Επίδειξη εκτέλεσης προγραμμάτων. Ανακοίνωση Β' ομάδας ασκήσεων.
13 5/4/2017 Είσοδος-έξοδος στην Prolog. Ενσωματωμένα κατηγορήματα write/1, nl/0 και read/1. Ενσωματωμένα κατηγορήματα name/2, =../2, functor/3 και arg/3. Ενσωματωμένα κατηγορήματα ==/2 και \==/2. Ενσωματωμένα κατηγορήματα assert/1 και retract/1. Ενσωματωμένα κατηγορήματα bagof/3 και setof/3. Διάφορες ασκήσεις.
14 6/4/2017 Το πρόβλημα της ζέβρας. Το πρόβλημα των ιεραποστόλων και κανιβάλων. Πρώτα κατά βάθος αναζήτηση. Το πρόβλημα του αγρότη, του λύκου, της κατσίκας και του λάχανου. Το πρόβλημα των κανατών.
15 26/4/2017 Θεωρία λογικού προγραμματισμού. Κατηγορήματα, συναρτησιακά σύμβολα, μεταβλητές και βαθμός/τάξη. Όροι και ατομικοί τύποι. Συνδετικά. Καλοσχηματισμένοι τύποι. Γλώσσα πρώτης τάξης. Εμβέλεια ποσοδεικτών. Κλειστοί και ανοικτοί τύποι. Λεκτικά και προτάσεις. Οριστικές προτάσεις και οριστικοί στόχοι. Προτάσεις Horn. Σύνταξη και σημασιολογία. Γενικά περί μοντελοθεωρητικής σημασιολογίας, σημασιολογίας σταθερού σημείου και λειτουργικής σημασιολογίας. Πλήρως αποτιμημένοι όροι. Σύμπαν Herbrand και βάση Herbrand. Μοντελοθεωρητική σημασιολογία. Ερμηνείες Herbrand. Μοντέλα Herbrand. Αλήθεια κλειστών τύπων.
16 27/4/2017 Συνέχεια με τη μοντελοθεωρητική σημασιολογία. Λογικό επακόλουθο. Ελάχιστο μοντέλο Herbrand. Αποτέλεσμα μοντελοθεωρητικής σημασιολογίας. Παραδείγματα. Σημασιολογία σταθερού σημείου. Σταθερό σημείο απεικόνισης. Ελάχιστο σταθερό σημείο συνεχούς απεικόνισης σε πλήρες πλέγμα. Απεικόνιση άμεσου επακόλουθου και αποτέλεσμα σημασιολογίας σταθερού σημείου. Παράδειγμα. Ασκήσεις από προηγούμενα θέματα εξετάσεων.
17 3/5/2017 Ασκήσεις από προηγούμενα θέματα εξετάσεων. Λειτουργική σημασιολογία. Κανόνας συμπερασμού. SLD-ανάλυση. Αντικατάσταση, στιγμιότυπο, παραλλαγή και σύνθεση αντικαταστάσεων. Ενοποίηση και γενικότερος ενοποιητής.
18 4/5/2017 Κανόνας συμπερασμού της SLD-ανάλυσης. SLD-απόρριψη και σύνολο επιτυχίας. Αποτέλεσμα λειτουργικής σημασιολογίας. Ασκήσεις από προηγούμενα θέματα εξετάσεων.
19 10/5/2017 Υλοποίηση συστημάτων λογικού προγραμματισμού. Διερμηνείς. Δομές δεδομένων των διερμηνέων. Μεταγλωττιστές. Αφηρημένη μηχανή του Warren (WAM). Εξομοιωτής WAM. Δυαδικά δέντρα. Μέλος δυαδικού δέντρου. Δυαδικά λεξικά. Μέλος δυαδικού λεξικού. Διάφορες ασκήσεις.
20 11/5/2017 Συνέχεια με ασκήσεις στα δυαδικά δέντρα. Εισαγωγή και διαγραφή κόμβων σε δυαδικά λεξικά. Αναπαραστάσεις γράφων σε Prolog. Εύρεση μονοπατιού σε γράφο. Εύρεση Hamiltonian μονοπατιού σε γράφο. Εύρεση μονοπατιού με κόστος σε γράφο. Εύρεση μονοπατιού ελαχίστου κόστους μεταξύ δεδομένων κόμβων. Εύρεση μονοπατιού μεγίστου κόστους μεταξύ τυχαίων κόμβων.
- 17/5/2017 Γενική απεργία. Δεν έγινε μάθημα, αλλά μετατέθηκε για την 19/5.
21 18/5/2017 Γενικά περί γνώσης. Συμπερασμός. Συστήματα βασισμένα σε γνώση. Η περίπτωση των εμπείρων συστημάτων. Αναπαράσταση γνώσης με if-then κανόνες και κανόνες παραγωγής. Συλλογιστική κατά την οπίσθια φορά και συλλογιστική κατά την εμπρόσθια φορά. Υλοποίηση των if-then κανόνων σαν κανόνες Prolog και χρήση της Prolog σαν κέλυφος (οπίσθια συλλογιστική).
22 (αναπλήρωση) 19/5/2017 Υλοποίηση των if-then κανόνων και της συλλογιστικής κατά την οπίσθια φορά με χρήση Prolog. Υλοποίηση των if-then κανόνων και της συλλογιστικής κατά την εμπρόσθια φορά με χρήση Prolog.
- 24/5/2017 Φοιτητικές εκλογές. Δεν έγινε μάθημα, αλλά μετατέθηκε για την 26/5.
23 25/5/2017 Δυνατότητα παροχής εξηγήσεων (απάντηση ερωτήσεων "ΠΩΣ") για συλλογιστική κατά την οπίσθια φορά με χρήση Prolog. Γενικά περί χειρισμού αβεβαιότητας κατά την αναπαράσταση γνώσης. Υλοποίηση με χρήση Prolog συλλογιστικής κατά την οπίσθια φορά και απλού χειρισμού αβεβαιότητας. Εισαγωγή στην αναπαράσταση γνώσης μέσω σημασιολογικών δικτύων.
24 (αναπλήρωση) 26/5/2017 Αναπαράσταση γνώσης μέσω σημασιολογικών δικτύων. Κληρονομικότητα στα σημασιολογικά δίκτυα. Υλοποίηση σε Prolog. Αναπαράσταση γνώσης μέσω πλαισίων. Κληρονομικότητα στα πλαίσια. Υλοποίηση πλαισίων σε Prolog.
25 31/5/2017 Επαγωγικές (συμπερασματικές) βάσεις δεδομένων - Datalog: Σύνταξη, μοντελοθεωρητική σημασιολογία, σημασιολογία απόδειξης. Επεκτάσεις της Datalog. Αριθμητικές συγκρίσεις. Αρνηση. Datalog και σχεσιακή άλγεβρα. Αναφορά στις σύγχρονες ανάγκες για αναπαράσταση γνώσης και εκμετάλλευση του λογικού προγραμματισμού.
26 1/6/2017 Μετα-διερμηνέας Prolog. Προσομοίωση λογικών κυκλωμάτων. Κατανόηση φυσικής γλώσσας. Παράλληλος λογικός προγραμματισμός. Γλώσσες δεσμευμένης επιλογής. Γλώσσες καθαρής παραλληλίας. Γενικά περί Ή-παραλληλίας και ΚΑΙ-παραλληλίας. Προηγούμενα θέματα εξετάσεων.