- | 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 | Ενημέρωση για τη μορφή και το περιεχόμενο της εξέτασης του μαθήματος. Συζήτηση επάνω σε προηγούμενα θέματα εξετάσεων. |