| 1 | 19/2/2013 | Διαδικαστικά θέματα. Περιεχόμενο του μαθήματος. Γενικά περί λογικού προγραμματισμού και σύνδεση με την τεχνητή νοημοσύνη. Κατηγορίες προβλημάτων κατάλληλων για επίλυση μέσω λογικού προγραμματισμού. Γενικά περί λογικού προγραμματισμού με περιορισμούς. Αυτόματη κατασκευή ωρολογίων προγραμμάτων. Ο κύβος του Rubik. Πρόγραμμα ημερίδας. Συμπλήρωση σταυρολέξου. Το πρόβλημα της ζέβρας. Το πρόβλημα των ιεραποστόλων και καννιβάλων. Συμβολική παραγώγιση. |
| 2 | 22/2/2013 | Ένα απλό πρόγραμμα Prolog. Γεγονότα και ερωτήσεις. Κανόνες. Κατηγορήματα, άτομα και μεταβλητές. Προτάσεις στην Prolog. Κεφαλή και σώμα κανόνα. Στόχοι. Ενσωματωμένο κατηγόρημα \=/2. |
| 3 | 26/2/2013 | Αναδρομικοί κανόνες. Εύρος δράσης μεταβλητών. Οπισθοδρόμηση. Δέντρο ανάλυσης. Παραδείγματα εύρεσης των απαντήσεων σε ερωτήσεις Prolog μέσω δέντρων ανάλυσης. Ενσωματωμένο κατηγόρημα =/2. |
| 4 | 1/3/2013 | Διερευνήσεις σχετικά με τη σειρά των στόχων σε κανόνες. Ενσωματωμένα κατηγορήματα var/1 και atom/1. Δέντρα ανάλυσης σε περιπτώσεις διαφορετικής σειράς αναδρομικών/μη αναδρομικών κανόνων και αναδρομικών/μη αναδρομικών στόχων στο σώμα κανόνα. Ανακοίνωση Α' ομάδας ασκήσεων. |
| 5 | 5/3/2013 | Δομές και συναρτησιακά σύμβολα. Ορίσματα και βαθμός κατηγορημάτων και συναρτησιακών συμβόλων. Παραδείγματα χρήσης δομών. Λίστες στην Prolog. Κεφαλή και ουρά λίστας. Κενή λίστα. Παραδείγματα λιστών. |
| 6 | 8/3/2013 | Κατηγόρημα member/2. Κατηγόρημα append/3. Ακολουθία Lanford. Κατηγόρημα reverse/2. Αριθμητική στην Prolog. Αριθμητικοί τελεστές, κατηγόρημα is/2 και τελεστές σύγκρισης. |
| 7 | 12/3/2013 | Κατηγορήματα add_at_start/3 και add_at_end/3. Κατηγορήματα first/2 και last/2. Κατηγορήματα delete/3 και insert/3. Κατηγόρημα reverse1/2. Χρήση συσσωρευτών σε προγράμματα Prolog. Κατηγόρημα length/2. Διάφοροι τρόποι υλοποίησης του κατηγορήματος length/2. Ορισμός length/2 για δημιουργία λίστας δεδομένου μήκους. Ορισμός length/2 καθολικής χρήσης. |
| - | 13/3/2013 | Έκτακτο φροντιστηριακό μάθημα από τον Νίκο Κατζούρη για την 1η και τη 2η άσκηση. |
| 8 | 15/3/2013 | Παραδείγματα κατηγορημάτων επεξεργασίας λιστών. Κατηγόρημα flatten/2. Αποκοπή (!/0). Εισαγωγή στην άρνηση στην Prolog (μέσω αποτυχίας). |
| 9 | 19/3/2013 | Διάφορες ασκήσεις με λίστες και αριθμητική. Ενσωματωμένο κατηγόρημα findall/3. Συνέχεια με την άρνηση στην Prolog. Υπόθεση του κλειστού κόσμου. Ενσωματωμένα κατηγορήματα fail/0, και call/1. Επισημάνσεις για τη χρήση της άρνησης. |
| 10 | 22/3/2013 | Ενσωματωμένο κατηγόρημα name/2. Τελεστές. Προτεραιότητα και είδη τελεστών. Ενδοσημασμένοι, προσημασμένοι και μετασημασμένοι τελεστές. Προτεραιότητα ορίσματος. Προκαθορισμένοι τελεστές και τελεστές οριζόμενοι από τον προγραμματιστή. |
| - | 26/3/2013 | Έκτακτο φροντιστηριακό μάθημα από τον Νίκο Κατζούρη για την 3η άσκηση. Το πρόβλημα της ζεβρας. |
| 11 | 27/3/2013 | Διάφορες ασκήσεις με άρνηση και αποκοπή. Ενσωματωμένα κατηγορήματα write/1 και nl/0. Ενσωματωμένα κατηγορήματα read/1 και get/1. Ενσωματωμένα κατηγορήματα =../2, functor/3 και arg/3. Ενσωματωμένα κατηγορήματα ==/2 και \==/2. Ενσωματωμένα κατηγορήματα assert/1 και retract/1. |
| 12 | 29/3/2013 | Προβλήματα ικανοποίησης περιορισμών. Το πρόβλημα των N βασιλισσών. Μέθοδοι οπισθοδρόμησης και γέννα-και-δοκίμαζε. Επίδειξη εκτέλεσης των προγραμμάτων. Εισαγωγή στον προγραμματισμό με περιορισμούς. |
| 13 | 2/4/2013 | Λογικός προγραμματισμός με περιορισμούς. Το πρόβλημα των N βασιλισσών στην Eclipse μέσω των βιβλιοθηκών fd και ic. Ευριστικά τύπου first-fail στις βιβλιοθήκες fd και ic. Επίδειξη εκτέλεσης των προγραμμάτων. |
| 14 | 5/4/2013 | Αντιμετώπιση προβλημάτων ικανοποίησης περιορισμών, που είναι και προβλήματα βελτιστοποίησης, με τις βιβλιοθήκες fd και ic της Eclipse. Ανακοίνωση Β' ομάδας ασκήσεων. |
| 15 | 9/4/2013 | Θεωρία λογικού προγραμματισμού. Κατηγορήματα, συναρτησιακά σύμβολα, μεταβλητές και βαθμός/τάξη. Όροι και ατομικοί τύποι. Συνδετικά. Καλοσχηματισμένοι τύποι. Γλώσσα πρώτης τάξης. Εμβέλεια ποσοδεικτών. Κλειστοί και ανοικτοί τύποι. Λεκτικά και προτάσεις. Οριστικές προτάσεις και οριστικοί στόχοι. Προτάσεις Horn. Σύνταξη και σημασιολογία. Γενικά περί μοντελοθεωρητικής σημασιολογίας, σημασιολογίας σταθερού σημείου και λειτουργικής σημασιολογίας. Πλήρως αποτιμημένοι όροι. Σύμπαν Herbrand και βάση Herbrand. |
| - | 10/4/2013 | Έκτακτο φροντιστηριακό μάθημα από τον Νίκο Κατζούρη για τις ασκήσεις στον λογικό προγραμματισμό με περιορισμούς. |
| 16 | 12/4/2013 | Μοντελοθεωρητική σημασιολογία. Ερμηνείες Herbrand. Μοντέλα Herbrand. Αλήθεια κλειστών τύπων. Λογικό επακόλουθο. Ελάχιστο μοντέλο Herbrand. Αποτέλεσμα μοντελοθεωρητικής σημασιολογίας. Παραδείγματα. |
| 17 | 16/4/2013 | Ομιλία της Prof. Sally McClean ("Cloud Computing and Semantic Modelling"). Ασκήσεις στη μοντελοθεωρητική σημασιολογία. |
| 18 | 19/4/2013 | Σημασιολογία σταθερού σημείου. Σταθερό σημείο απεικόνισης. Ελάχιστο σταθερό σημείο συνεχούς απεικόνισης σε πλήρες πλέγμα. Απεικόνιση άμεσου επακόλουθου και αποτέλεσμα σημασιολογίας σταθερού σημείου. Παράδειγμα. Ασκήσεις από προηγούμενα θέματα εξετάσεων. Λειτουργική σημασιολογία. Κανόνας συμπερασμού. SLD-ανάλυση. Αντικατάσταση, στιγμιότυπο, παραλλαγή και σύνθεση αντικαταστάσεων. Ενοποίηση και γενικότερος ενοποιητής. |
| 19 | 23/4/2013 | Συνέχεια με τη λειτουργική σημασιολογία. Κανόνας συμπερασμού της SLD-ανάλυσης. SLD-απόρριψη και σύνολο επιτυχίας. Αποτέλεσμα λειτουργικής σημασιολογίας. Υλοποίηση συστημάτων λογικού προγραμματισμού. Διερμηνείς. Δομές δεδομένων των διερμηνέων. Μεταγλωττιστές. Αφηρημένη μηχανή του Warren (WAM). Εξομοιωτής WAM. Παράλληλος λογικός προγραμματισμός. Γλώσσες δεσμευμένης επιλογής. Γλώσσες καθαρής παραλληλίας. Γενικά περί Ή-παραλληλίας και ΚΑΙ-παραλληλίας. |
| - | 24/4/2013 | Έκτακτο φροντιστηριακό μάθημα από τον Νίκο ποθητό για τον Naxos Solver και την άσκηση 6. |
| 20 | 26/4/2013 | Δυαδικά δέντρα. Μέλος δυαδικού δέντρου. Δυαδικά λεξικά. Μέλος δυαδικού λεξικού. Διάφορες ασκήσεις. Εισαγωγή και διαγραφή κόμβων σε δυαδικά λεξικά. |
| 21 | 13/5/2013 | Γενικά περί γνώσης. Συμπερασμός. Συστήματα βασισμένα σε γνώση - η περίπτωση των εμπείρων συστημάτων. Αναπαράσταση γνώσης με if-then κανόνες και κανόνες παραγωγής. Συλλογιστική κατά την οπίσθια φορά και συλλογιστική κατά την εμπρόσθια φορά. |
| 22 | 17/5/2013 | Υλοποίηση των if-then κανόνων σαν κανόνες Prolog και χρήση της Prolog σαν κέλυφος (οπίσθια συλλογιστική). Υλοποίηση των if-then κανόνων και της συλλογιστικής κατά την οπίσθια φορά με χρήση Prolog. Υλοποίηση των if-then κανόνων και της συλλογιστικής κατά την εμπρόσθια φορά με χρήση Prolog. Δυνατότητα παροχής εξηγήσεων (απάντηση ερωτήσεων "ΠΩΣ") για συλλογιστική κατά την οπίσθια φορά με χρήση Prolog. |