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