Παρουσίαση/Προβολή

Εικόνα επιλογής

Λογικός Προγραμματισμός

(7.021) -  Μπατσάκης Σωτήριος

Περιγραφή Μαθήματος

 

Το μάθημα του Λογικού προγραμματισμού στοχεύει να δώσει στους φοιτητές τις απαραίτητες θεωρητικές  και πρακτικές γνώσεις στην υπολογιστική λογική. Η υπολογιστική λογική είναι βασική γνώση της πληροφορικής και  προαπαιτούμενη γνώση σε αντικείμενα  όπως η τεχνητή νοημοσύνη, ο σημασιολογικός ιστός και οι βάσεις δεδομένων.  Αυτό το μάθημα βάζει τις θεωρητικές και πρακτικές  βάσεις για τη χρήση της λογικής ως προσέγγιση  για αναπαράσταση  γνώσης και για συλλογισμούς. Ο φοιτητής  μαθαίνει πως από τη λογική πήγαμε στο λογικό προγραμματισμό. Εκπαιδεύεται στο συμβολικό και στο  δηλωτικό προγραμματισμό. Μαθαίνει πώς να υλοποιεί σε λογική υπολογιστικά συστήματα σε διάφορα πεδία.  Η λογική βρίσκεται στη βάση της Τεχνητής Νοημοσύνης και αυτό το μάθημα βάζει   τα θεμέλια για τη διδασκαλία του μαθήματος  της Τεχνητής Νοημοσύνης.

 

Ημερομηνία δημιουργίας

Δευτέρα 6 Οκτωβρίου 2014

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

    Ενότητες Θεωρητικών  Διαλέξεων

    • Τύποι και  η αλήθειά τους.
    • Λογικές ισοδυναμίες και μετασχηματισμοί τύπων σε κανονικές μορφές στο προτασιακό λογισμό.
    • Σημασιολογική συνέπεια και εξαγωγή συμπερασμάτων.
    • Η επίλυση (Resolution) στο προτασιακό λογισμό. 
    • Συντακτικά συστατικά του κατηγορηματικού λογισμού.
    • Ερμηνείες προτάσεων, σημασιολογική συνέπεια.
    • Λογικές ισοδυναμίες, μετασχηματισμοί τύπων σε  κανονικές μορφές.
    • Εξαγωγή συμπερασμάτων στο κατηγορηματικό λογισμό.
    • Αντικατάσταση.
    • Ενοποίηση (Unification).
    • Η επίλυση στον κατηγορηματικό λογισμό. SLD-Επίλυση και SLD δέντρα.
    • Οριστικά (Definite) λογικά προγράμματα.
    • Άρνηση στο λογικό προγραμματισμό.
    • Κανονικά λογικά προγράμματα (Normal logic programs).
    • Γενικά λογικά προγράμματα.
    • Προγραμματισμός σε Prolog: Βασικά συστατικά ενός προγράμματος Prolog.
    • Ενοποίηση, Ισότητα.
    • Κατηγορήματα εισόδου και εξόδου.
    • Αναδρομή.
    • Λίστες.
    • Αριθμητική σε Prolog.
    • Τρόπος κλήσης (call mode) κατηγορήματος.
    • Τεχνικές κατασκευής αναδρομικών προγραμμάτων: Κατασκευή δομής στη κεφαλή και στο σώμα προτάσεων.
    • Δέντρο αναζήτησης, οπισθοδρόμηση και Αποκοπή ( ! ).
    • Άρνηση σε Prolog.
    • Έλεγχος ροής σε προγράμματα Prolog.
    • Τελεστές οριζόμενοι από τον χρήστη.
    • Ενσωματωμένα κατηγορήματα: (Είσοδος από αρχείο και έξοδος σε αρχείο. Μετα-λογικά κατηγορήματα. Κατηγορήματα που συλλέγουν όλες τις λύσεις ενός στόχου. Κατηγορήματα τροποποίησης του προγράμματος. Άλλα ενσωματωμένα κατηγορήματα.).
    • Δομές Δεδομένων σε Prolog.
    • Προγραμματιστικές τεχνικές.
    • Εφαρμογές του Λογικού Προγραμματισμού.

    Εργαστηριακές Ασκήσεις

    Οι εργαστηριακές ασκήσεις θα αντιστοιχούν στις ενότητες των θεωρητικών διαλέξεων.  Θα αφορούν ασκήσεις η υλοποίηση των οποίων θα γίνεται σε Prolog.  

    Μαθησιακοί στόχοι

    Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής/τρια  θα αποκτήσει τις παρακάτω επιστημονικές γνώσεις, δεξιότητες και ικανότητες κατάλληλου επιπέδου.

    • Κατανόηση σε βάθος των    βασικών αρχών της Υπολογιστικής Λογικής.
    • Εκμάθηση του Λογικού προγραμματισμού και των εφαρμογών του.
    • Να κατέχει τις εξειδικευμένες δεξιότητες που αφορούν τη χρήση της λογικής ως γλώσσας προγραμματισμού.
    • Εκμάθηση της γλώσσας προγραμματισμού Prolog.
    • Απόκτηση της ικανότητας αναπαράστασης προβλημάτων στη λογική και επίλυσης τους.
    • Να κατέχει εξειδικευμένες δεξιότητες για ανάπτυξη εφαρμογών ακολουθώντας την προσέγγιση του Λογικού Προγραμματισμού.
    • Απόκτηση ικανότητας προγραμματισμού σε Prolog για την επίλυση  σύνθετων προβλημάτων.

    Βιβλιογραφία

    -Προτεινόμενη Βιβλιογραφία :

    Ελληνική

    • Μ. Μαρακάκης, Prolog: Προγραμματισμός σε Λογική για Τεχνητή Νοημοσύνη, Εκδόσεις Νέων Τεχνολογιών, 2η έκδοση 2019, ISBN: 978-960-578-055-5. Κωδικός Βιβλίου στον Εύδοξο: 86200975.
    • Η. Σακελλαρίου, Ν. Βασιλειάδης, Π. Κεφαλάς, Δ. Σταμάτης, Τεχνικές Λογικού Προγραμματισμού – Η Γλώσσα Prolog, Ελληνικά Ακαδημαϊκά Συγγράμματα και Βοηθήματα,  www.kallipos.gr,  ISBN: 978-960-603-246-2, Σύνδεσμος Ελληνικών Ακαδημαϊκών Βιβλιοθηκών ( ΣΕΑΒ), 2015.
    • Γ. Μητακίδης, Από τη Λογική στο Λογικό Προγραμματισμό και την Prolog, εκδόσεις Καρδαμίτσα, 1992, ISBN: 960-7262-59-X.

     

    Αγγλική

     

    • Nilsson and J. Maluszynski, Logic, Programming and Prolog, Second edition, John Wiley & Sons, 1995, ISBN: 0 471 95996 0.
    • Ι. Bratko, Prolog Programming for Artificial Intelligence, Pearson Education Canada, 4th edition, 2011, ISBN 13: 9780321417466.

    -Συναφή επιστημονικά περιοδικά:

    • Theory and Practice of Logic Programming, Cambridge University Press.
    • ACM Transactions on Computational Logic, ACM.
    • New generation computing, Springer.

    Μέθοδοι αξιολόγησης

    Βαθμολογία μαθήματος
    Βαθμός θεωρίας 70% τελικού βαθμού και βαθμός εργαστηρίου 30% τελικού βαθμού.
    Βαθμολογία θεωρίας
    -Πρόοδος (προαιρετική): 30%
    -Τελικό διαγώνισμα 70% (με πρόοδο) ή 100% (χωρίς πρόοδο)
    Βαθμολογία εργαστηρίου
    -Εργασίες 50% του τελικού βαθμού. 
    -Τελικό διαγώνισμα εργαστηρίου 50% του τελικού βαθμού.
    Σημείωση: Για να περάσει το εργαστήριο ο φοιτητής θα πρέπει να έχει περάσει τις
    εργασίες και το τελικό διαγώνισμα.