Περιεχόμενο μαθήματος
- Μαθηματική Λογική (Προτασιακή Λογική, Κανονικές Μορφές, Μηχανισμοί Εξαγωγής Συμπερασμάτων, Αρχή της Ανάλυσης, Κατηγορηματική Λογική, Μεταβλητές και Ποσοδείκτες, Αντικατάσταση και Ενοποίηση).
- Σχέση Μαθηματικής Λογικής με Λογικό Προγραμματισμό (Μορφή Kowalski, Προτάσεις Horn).
- Λογικός Προγραμματισμός (Βασικές έννοιες, Ιστορία, Η γλώσσα Prolog).
- Σύνταξη λογικών προγραμμάτων (Ερωτήσεις, Γεγονότα, Κανόνες, Κατηγορήματα, Σύνθετοι όροι).
- Ταυτοποίηση.
- Μηχανισμός ελέγχου.
- Αναδρομικοί Κανόνες.
- Λίστες.
- Παράσταση αριθμών (Αριθμητικές πράξεις, Σύγκριση, Μαθηματικές Συναρτήσεις).
- Χειρισμός συμβολοσειρών.
- Είσοδος/Έξοδος.
- Μεταβλητή κλήση.
- Προσδιορισμός τύπου.
- Σύνθεση/διάσπαση σύνθετων όρων.
- Αποκοπή (Επίδραση στο δένδρο υπολογισμού, Χρήση).
- Άρνηση σαν αποτυχία.
- Διαχείριση λύσεων.
- Διαχείριση προγράμματος.
- Μεθοδολογία Προγραμματισμού.
- Εφαρμογές Λογικού Προγραμματισμού.
Διδάσκοντες
Διδάσκων: Νικόλαος Βασιλειάδης, Αναπληρωτής Καθηγητής
Συνεργάτης ανάπτυξης περιεχομένου: Εμμανουήλ Ρήγας
Μαθησιακοί στόχοι
Γνώσεις: Εξοικείωση με τις αρχές της Μαθηματικής Λογικής, Εξοικείωση με την χρήση της Μαθηματικής Λογικής ως Γλώσσας Προγραμματισμού, Κατάρτιση στην Γλώσσα Προγραμματισμού Prolog.
Δεξιότητες: Απόκτηση ικανότητας αναπαράστασης και επίλυσης λογικών εκφράσεων. Απόκτηση ικανότητας προγραμματισμού με την Γλώσσα Προγραμματισμού Prolog.
Προαπαιτούμενα
Απαραίτητες: Βασικές Γνώσεις Προγραμματισμού, Βασικές Γνώσεις Διακριτών Μαθηματικών, Βασικές Γνώσεις Δομών Δεδομένων. Επιθυμητές: Βασικές Γνώσεις Τεχνητής Νοημοσύνης.
Βιβλιογραφία
- PROγραμματίζοντας στη LOGική, Μ. Κατζουράκη, Μ. Γεργατσούλης, Σ. Κόκκοτος, Ελληνική Εταιρία Επιστημόνων Η/Υ και Πληροφορικής, Αθήνα 1991.
ή
Prolog: Προγραμματισμός σε Λογική για Τεχνητή Νοημοσύνη, Μανώλης Μαρακάκης, Εκδόσεις Νέων Τεχνολογιών, ISBN 978-960-6759-98-7, Αθήνα 2014. - Σημειώσεις-Διαφάνειες διδάσκοντος για το μάθημα.
- Πολυμεσικός οδηγός εκμάθησης Prolog.
- Programming in Prolog, W. Clocksin, C. Mellish, Springer-Verlag.
- Prolog Programming for Artificial Intelligence, Ivan Bratko, Addison-Wesley, (2nd or 3rd ed.).
Επιπλέον συνιστώμενη βιβλιογραφία:
- PROγραμματίζοντας στη LOGική, Μ. Κατζουράκη, Μ. Γεργατσούλης, Σ. Κόκκοτος, Ελληνική Εταιρία Επιστημόνων Η/Υ και Πληροφορικής, Αθήνα 1991. (βασικές γνώσεις της γλώσσας Prolog)
- Prolog: Προγραμματισμός σε Λογική για Τεχνητή Νοημοσύνη, Μανώλης Μαρακάκης, Εκδόσεις Νέων Τεχνολογιών, ISBN 978-960-6759-98-7, Αθήνα 2014. (βασικές γνώσεις της γλώσσας Prolog)
- Σημειώσεις-Διαφάνειες διδάσκοντος για το μάθημα. (βασικές γνώσεις της γλώσσας Prolog- animatedπαραδείγματα εκτέλεσης)
- Πολυμεσικός οδηγός εκμάθησης Prolog. (βασικές γνώσεις της γλώσσας Prolog– animatedπαραδείγματα εκτέλεσης)
- Programming in Prolog, W. Clocksin, C. Mellish, Springer-Verlag. (βασικές γνώσεις της γλώσσας Prolog – χρήσιμα παραδείγματα)
- Prolog Programming for Artificial Intelligence, Ivan Bratko, Addison-Wesley, (2nd or 3rd ed.). (βασικές γνώσεις της γλώσσας Prolog, προχωρημένα θέματα,προγραμματισμός εφαρμογών Τεχνητής Νοημοσύνης)
- The Art of Prolog, second edition : Advanced Programming Techniques, Leon S. Sterling and Ehud Y. Shapiro, MIT Press, 1994. (πολύ προχωρημένα θέματα προγραμματισμού εφαρμογών Τεχνητής Νοημοσύνης)