Περιεχόμενο μαθήματος

Περιεχόμενο μαθήματος

  • Μαθηματική Λογική (Προτασιακή Λογική, Κανονικές Μορφές, Μηχανισμοί Εξαγωγής Συμπερασμάτων, Αρχή της Ανάλυσης, Κατηγορηματική Λογική, Μεταβλητές και Ποσοδείκτες, Αντικατάσταση και Ενοποίηση).
  • Σχέση Μαθηματικής Λογικής με Λογικό Προγραμματισμό (Μορφή 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.).

 

Επιπλέον συνιστώμενη βιβλιογραφία:

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