Λογικός Προγραμματισμός
Παναγιώτης Σταματόπουλος, Ιζαμπώ Καράλη
- Το μάθημα εντάσσεται στα προαιρετικά μαθήματα του Προγράμματος Σπουδών του Τμήματος Πληροφορικής και Τηλεπικοινωνιών. Εντάσσεται στην Α κατεύθυνση και είναι βασικό της 2ης ειδίκευσης (Διαχείριση Δεδομένων και Γνώσης). Διδάσκεται στο 6ο εξάμηνο. Η διδασκαλία του θεωρητικού μέρους διαρκεί 39 ώρες και τα φροντιστήρια (επίδειξη συγκεκριμένων προγραμμάτων) 13 ώρες.
- Δίνονται προγραμματιστικές ασκήσεις για κατ’ οίκον επίλυση από τους φοιτητές, ο βαθμός των οποίων συμμετέχει κατά 25% στον τελικό βαθμό. Το υπόλοιπο 75% προκύπτει από τη γραπτή εξέταση.
- Στις διαλέξεις του μαθήματος, αρχικά γίνεται μία σύντομη εισαγωγή στη φιλοσοφία του λογικού προγραμματισμού και στη συνέχεια παρουσιάζεται αναλυτικά η γλώσσα προγραμματισμού Prolog. Καλύπτονται θέματα που σχετίζονται με τη θεωρία του λογικού προγραμματισμού, τον λογικό προγραμματισμό με περιορισμούς, τις τεχνικές υλοποίησης συστημάτων λογικού προγραμματισμού και τον παράλληλο λογικό προγραμματισμό.
- Τέλος, συζητάται η χρήση του λογικού προγραμματισμού για την αναπαράσταση γνώσης, τα έμπειρα συστήματα, οι συμπερασματικές βάσεις δεδομένων και η εφαρμογή του λογικού προγραμματισμού σε θέματα που σχετίζονται με τον παγκόσμιο ιστό.
- Το μάθημα εντάσσεται στα προαιρετικά μαθήματα του Προγράμματος Σπουδών του Τμήματος Πληροφορικής και Τηλεπικοινωνιών. Εντάσσεται στην Α κατεύθυνση και είναι βασικό της 2ης ειδίκευσης (Διαχείριση Δεδομένων και Γνώσης). Διδάσκεται στο 6ο εξάμηνο. Η διδασκαλία του θεωρητικού μέρους διαρκεί 39 ώρες και τα φροντιστήρια (επίδειξη συγκεκριμένων προγραμμάτων) 13 ώρες.
- Δίνονται προγραμματιστικές ασκήσεις για κατ’ οίκον επίλυση από τους φοιτητές, ο βαθμός των οποίων συμμετέχει κατά 25% στον τελικό βαθμό. Το υπόλοιπο 75% προκύπτει από τη γραπτή εξέταση.
- Στις διαλέξεις του μαθήματος, αρχικά γίνεται μία σύντομη εισαγωγή στη φιλοσοφία του λογικού προγραμματισμού και στη συνέχεια παρουσιάζεται αναλυτικά η γλώσσα προγραμματισμού Prolog. Καλύπτονται θέματα που σχετίζονται με τη θεωρία του λογικού προγραμματισμού, τον λογικό προγραμματισμό με περιορισμούς, τις τεχνικές υλοποίησης συστημάτων λογικού προγραμματισμού και τον παράλληλο λογικό προγραμματισμό.
- Τέλος, συζητάται η χρήση του λογικού προγραμματισ
- Το μάθημα εντάσσεται στα προαιρετικά μαθήματα του Προγράμματος Σπουδών του Τμήματος Πληροφορικής και Τηλεπικοινωνιών. Εντάσσεται στην Α κατεύθυνση και είναι βασικό της 2ης ειδίκευσης (Διαχείριση Δεδομένων και Γνώσης). Διδάσκεται στο 6ο εξάμηνο. Η διδασκαλία του θεωρητικού μέρους διαρκεί 39 ώρες και τα φροντιστήρια (επίδειξη συγκεκριμένων προγραμμάτων) 13 ώρες.
- Δίνονται προγραμματιστικές ασκήσεις για κατ’ οίκον επίλυση από τους φοιτητές, ο βαθμός των οποίων συμμετέχει κατά 25% στον τελικό βαθμό. Το υπόλοιπο 75% προκύπτει από τη γραπτή εξέταση.
- Στις διαλέξεις του μαθήματος, αρχικά γίνεται μία σύντομη εισαγωγή στη φιλοσοφία του λογικού προγραμματισμού και στη συνέχεια παρουσιάζεται αναλυτικά η γλώσσα προγραμματισμού Prolog. Καλύπτονται θέματα που σχετίζονται με τη θεωρία του λογικού προγραμματισμού, τον λογικό προγραμματισμό με περιορισμούς, τις τεχνικές υλοποίησης συστημάτων λογικού προγραμματισμού και τον παράλληλο λογικό προγραμματισμό.
- Τέλος, συζητάται η χρήση του λογικού προγραμματισ
Περίγραμμα
Διδάσκοντες
Περιεχόμενο μαθήματος
Γενικά περί διαδικαστικού και δηλωτικού προγραμματισμού. Ο λογικός προγραμματισμός σαν μία εκδοχή του δηλωτικού προγραμματισμού. Η γλώσσα προγραμματισμού Prolog. Σύνταξη προγραμμάτων. Λίστες. Τελεστές. Αριθμητική.
Έλεγχος οπισθοδρόμησης. Άρνηση στην Prolog. Ενσωματωμένα κατηγορήματα. Χειρισμός δομών δεδομένων. Απλές εφαρμογές της Prolog σε προβλήματα αναζήτησης, συμβολική επεξεργασία, κατανόηση φυσικής γλώσσας και μεταπρογραμματισμό.
Θεωρία λογικού προγραμματισμού. Ερμηνείες και μοντέλα. Μοντελοθεωρητική σημασιολογία. Σημασιολογία σταθερού σημείου. Ενοποίηση. SLD-επίλυση. Λειτουργική σημασιολογία.
Λογικός προγραμματισμός με περιορισμούς. Τεχνικές υλοποίησης συστημάτων λογικού προγραμματισμού. Παράλληλος λογικός προγραμματισμός. Λογικός προγραμματισμός για αναπαράσταση γνώσης.
Αναπαράσταση γνώσης - μεθοδολογίες και υλοποιήσεις τους με χρήση της Prolog. Συστήματα βασισμένα σε γνώση - η περίπτωση των εμπείρων συστημάτων. Συμπερασματικές βάσεις δεδομένων - η περίπτωση της Datalog. Λογικός προγραμματισμός και παγκόσμιος ιστός.
Μαθησιακοί στόχοι
Ο στόχος του μαθήματος είναι να εισαγάγει τους φοιτητές στη φιλοσοφία του λογικού προγραμματισμού, σαν έναν εναλλακτικό τρόπο για την επίλυση προβλημάτων με υπολογιστή, ο οποίος δεν βασίζεται στην κλασική ιδέα του διαδικαστικού προγραμματισμού, δηλαδή ανάπτυξη ενός αλγορίθμου που επιλύει το πρόβλημα και κωδικοποίησή του σε κάποια γλώσσα που υποστηρίζει τον διαδικαστικό προγραμματισμό.
Βασικός στόχος του μαθήματος είναι κάνει το αντικείμενο ενδιαφέρον και χρήσιμο, τόσο για φοιτητές που έχουν δει στο παρελθόν σχετικά θέματα από άλλα μαθήματα, όσο για εκείνους που βλέπουν για πρώτη φορά αυτή τη διαφορετική προγραμματιστική φιλοσοφία.
Βιβλιογραφία
- Βιβλία (Textbooks)
- Bratko, "Prolog Programming for Artficial Intelligence", Third Edition, Addison-Wesley, 2000.
- Sterling, E. Shapiro, "The Art of Prolog", The MIT Press, 1994.
- F. Mellish, W. F. Clocksin, "Programming in Prolog: Using the ISO Standard", Springer Verlag, 2003.
- W. Lloyd, "Foundations of Logic Programming", Springer Verlag, 1993.
- R. Apt, M. G. Wallace, "Constraint Logic Programming Using ECLiPSe", Cambridge University Press, 2007.
- Deransart, A. Ed-Dbali, L. Cervoni, "Prolog: The Standard - Reference Manual", Springer Verlag, 1996.
- Εκπαιδευτικό υλικό στο Διαδίκτυο
- Naxos Solver
- Association for Logic Programming
- The ECLiPSe Constraint Programming System
- Σύστημα Εκμάθησης της Γλώσσας Προγραμματισμού Prolog
- Guide to Prolog Programming
- Learn Prolog Now
- 25th International Conference on Logic Programming - ICLP 2009
- 26th International Conference on Logic Programming - ICLP 2010
- 27th International Conference on Logic Programming - ICLP 2011
- 28th International Conference on Logic Programming - ICLP 2012
- 29th International Conference on Logic Programming - ICLP 2013
- 30th International Conference on Logic Programming - ICLP 2014
- 31st International Conference on Logic Programming - ICLP 2015
Ομάδα στόχος
Υποψήφιοι και εν ενεργεία φοιτητές/φοιτήτριες, και απόφοιτοι Τμημάτων Πολυτεχνικών Σχολών και Σχολών Θετικών Επιστημών.
Ενδιαφερόμενοι για τη θεματική περιοχή του προγραμματισμού υπολογιστών.
Μέθοδοι διδασκαλίας
Διαλέξεις, Φροντιστήριο, Συγγραφή εργασίας / εργασιών
Μέθοδοι αξιολόγησης
Γραπτή εξέταση (ερωτήσεις πολλαπλής επιλογής, ερωτήσεις σύντομης απάντησης, ερωτήσεις ανάπτυξης, επίλυση προβλημάτων), γραπτή εργασία
Προαπαιτούμενα
Προαπαιτούμενη γνώση αποτελούν στοιχειώδεις γνώσεις μαθηματικής λογικής.
Γενικά περί διαδικαστικού και δηλωτικού προγραμματισμού. Ο λογικός προγραμματισμός σαν μία εκδοχή του δηλωτικού προγραμματισμού. Η γλώσσα προγραμματισμού Prolog. Σύνταξη προγραμμάτων. Λίστες. Τελεστές. Αριθμητική.
Έλεγχος οπισθοδρόμησης. Άρνηση στην Prolog. Ενσωματωμένα κατηγορήματα. Χειρισμός δομών δεδομένων. Απλές εφαρμογές της Prolog σε προβλήματα αναζήτησης, συμβολική επεξεργασία, κατανόηση φυσικής γλώσσας και μεταπρογραμματισμό.
Θεωρία λογικού προγραμματισμού. Ερμηνείες και μοντέλα. Μοντελοθεωρητική σημασιολογία. Σημασιολογία σταθερού σημείου. Ενοποίηση. SLD-επίλυση. Λειτουργική σημασιολογία.
Λογικός προγραμματισμός με περιορισμούς. Τεχνικές υλοποίησης συστημάτων λογικού προγραμματισμού. Παράλληλος λογικός προγραμματισμός. Λογικός προγραμματισμός για αναπαράσταση γνώσης.
Αναπαράσταση γνώσης - μεθοδολογίες και υλοποιήσεις τους με χρήση της Prolog. Συστήματα βασισμένα σε γνώση - η περίπτωση των εμπείρων συστημάτων. Συμπερασματικές βάσεις δεδομένων - η περίπτωση της Datalog. Λογικός προγραμματισμός και παγκόσμιος ιστός.
Ο στόχος του μαθήματος είναι να εισαγάγει τους φοιτητές στη φιλοσοφία του λογικού προγραμματισμού, σαν έναν εναλλακτικό τρόπο για την επίλυση προβλημάτων με υπολογιστή, ο οποίος δεν βασίζεται στην κλασική ιδέα του διαδικαστικού προγραμματισμού, δηλαδή ανάπτυξη ενός αλγορίθμου που επιλύει το πρόβλημα και κωδικοποίησή του σε κάποια γλώσσα που υποστηρίζει τον διαδικαστικό προγραμματισμό.
Βασικός στόχος του μαθήματος είναι κάνει το αντικείμενο ενδιαφέρον και χρήσιμο, τόσο για φοιτητές που έχουν δει στο παρελθόν σχετικά θέματα από άλλα μαθήματα, όσο για εκείνους που βλέπουν για πρώτη φορά αυτή τη διαφορετική προγραμματιστική φιλοσοφία.
- Βιβλία (Textbooks)
- Bratko, "Prolog Programming for Artficial Intelligence", Third Edition, Addison-Wesley, 2000.
- Sterling, E. Shapiro, "The Art of Prolog", The MIT Press, 1994.
- F. Mellish, W. F. Clocksin, "Programming in Prolog: Using the ISO Standard", Springer Verlag, 2003.
- W. Lloyd, "Foundations of Logic Programming", Springer Verlag, 1993.
- R. Apt, M. G. Wallace, "Constraint Logic Programming Using ECLiPSe", Cambridge University Press, 2007.
- Deransart, A. Ed-Dbali, L. Cervoni, "Prolog: The Standard - Reference Manual", Springer Verlag, 1996.
- Εκπαιδευτικό υλικό στο Διαδίκτυο
- Naxos Solver
- Association for Logic Programming
- The ECLiPSe Constraint Programming System
- Σύστημα Εκμάθησης της Γλώσσας Προγραμματισμού Prolog
- Guide to Prolog Programming
- Learn Prolog Now
- 25th International Conference on Logic Programming - ICLP 2009
- 26th International Conference on Logic Programming - ICLP 2010
- 27th International Conference on Logic Programming - ICLP 2011
- 28th International Conference on Logic Programming - ICLP 2012
- 29th International Conference on Logic Programming - ICLP 2013
- 30th International Conference on Logic Programming - ICLP 2014
- 31st International Conference on Logic Programming - ICLP 2015
Υποψήφιοι και εν ενεργεία φοιτητές/φοιτήτριες, και απόφοιτοι Τμημάτων Πολυτεχνικών Σχολών και Σχολών Θετικών Επιστημών.
Ενδιαφερόμενοι για τη θεματική περιοχή του προγραμματισμού υπολογιστών.
Διαλέξεις, Φροντιστήριο, Συγγραφή εργασίας / εργασιών
Γραπτή εξέταση (ερωτήσεις πολλαπλής επιλογής, ερωτήσεις σύντομης απάντησης, ερωτήσεις ανάπτυξης, επίλυση προβλημάτων), γραπτή εργασία
Προαπαιτούμενη γνώση αποτελούν στοιχειώδεις γνώσεις μαθηματικής λογικής.
Εισαγωγική ενότητα για τον λογικό προγραμματισμό.
Λέξεις κλειδιά: μαθηματική λογική, λογικός προγραμματισμός
Αναλυτική παρουσίαση της γλώσσας προγραμματισμού Prolog μέσω της παράθεσης προγραμμάτων που επιδεικνύουν τις δυνατότητες της γλώσσας. Περιγραφή των συνηθέστερων ενσωματωμένων κατηγορημάτων της Prolog.
Λέξεις κλειδιά: γλώσσα προγραμματισμού Prolog
Σύνταξη και σημασιολογία λογικών προγραμμάτων. Μοντελοθεωρητική σημασιολογία, σημασιολογία σταθερού σημείου και λειτουργική σημασιολογία.
Λέξεις κλειδιά: λογική πρώτης τάξης, μοντελοθεωρητική σημασιολογία, σημασιολογία σταθερού σημείου, λειτουργική σημασιολογία
Αναλυτική παρουσίαση μίας επέκτασης του λογικού προγραμματισμού, αυτής του λογικού προγραμματισμού με περιορισμούς. Θέματα υλοποίησης συστημάτων λογικού προγραμματισμού και παράλληλου λογικού προγραμματισμού.
Λέξεις κλειδιά: λογικός προγραμματισμός με περιορισμούς, διερμηνέας Prolog, μεταγλωττιστής Prolog, Ή-παραλληλία, ΚΑΙ-παραλληλία
Μεθοδολογίες αναπαράστασης γνώσης και υλοποιήσεις τους με χρήση της Prolog. Συστήματα βασισμένα στη γνώση, η γλώσσα Datalog και σύνδεση του λογικού προγραμματισμού με τον παγκόσμιο ιστό.
Λέξεις κλειδιά: έμπειρα συστήματα, σημασιολογικά δίκτυα, πλαίσια, συμπερασματικές βάσεις δεδομένων, Datalog, XML, ημιδομημένα δεδομένα, RDF, λογικές περιγραφών
Ασκήσεις από το Πανεπιστημιακό έτος 2001-02 έως 2014-15.
Ανοικτό Ακαδ. Μάθημα
Αρ. Επισκέψεων : 0
Αρ. Προβολών : 0
Ημερολόγιο
Ανακοινώσεις
- - Δεν υπάρχουν ανακοινώσεις -