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.