Θεωρία Υπολογισμού
Κωνσταντίνος Κόκκινος
Επίκ. Καθηγητής
Μαθησιακά Αποτελέσματα
Οι μαθησιακοί στόχοι του μαθήματος είναι:
- Να εισάγει τους φοιτητές στη μαθηματική υποδομή του υπολογισμού και συγκεκριμένα στη θεωρία αυτομάτων, τη θεωρία τυπικών γλωσσών και γραμματικών, τις έννοιες του αλγορίθμου, της διαγνωσιμότητας, της πολυπλοκότητας και της υπολογισιμότητας.
- Να αναπτύξει την ικανότητα των φοιτητών να κατανοούν και να κατασκευάζουν μαθηματικές αποδείξεις για υπολογισμούς και αλγορίθμους.
Με την ολοκλήρωση του μαθήματος ο φοιτητής θα πρέπει να μπορεί:
- να κατηγοριοποιεί τις αφηρημένες μηχανές και να κατασκευάζει αφηρημένες μηχανές κατάλληλες για συγκεκριμένα προβλήματα
- να επιδεικνύει κατανόηση των πλεονεκτημάτων και των περιορισμών των αναλυτικών τεχνικών στην ανάπτυξη λογισμικού
- να αναγνωρίζει τη σημασία των κλάσεων πολυπλοκότητας και να υπολογίζει την πολυπλοκότητα συγκεκριμένων τύπων αλγορίθμων
- να επιδεικνύει βαθύτερη και ευρύτερη κατανόηση κλάσεων πολυπλοκότητας
- να αποδεικνύει τα βασικά αποτελέσματα της Θεωρίας Υπολογισμού
Ενδεικτικό Περιεχόμενο Μαθήματος
- ΕΙΣΑΓΩΓΗ: Αυτόματα, Υπολογισιμότητα, και Πολυπλοκότητα, μαθηματικές έννοιες και ορολογία
- ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ: Πεπερασμένα Αυτόματα, Ανταιτιοκρατία, Κανονικές Εκφράσεις, Μη Κανονικές Γλώσσες
- ΑΣΥΜΦΡΑΣΤΙΚΕΣ ΓΛΩΣΣΕΣ: Ασυμφραστικές Γραμματικές, Αυτόματα Στοίβας, Μη Ασυμφραστικές Γλώσσες,
- ΤΟ ΔΟΓΜΑ CHURCH-TURING: Μηχανές Turing, Παραλλαγές μηχανών Turing, Ο ορισμός του Αλγορίθμου,
- ΔΙΑΓΝΩΣΙΜΟΤΗΤΑ: Διαγνώσιμες Γλώσσες, Το πρόβλημα του Τερματισμού
- ΧΡΟΝΙΚΗ ΠΟΛΥΠΛΟΚΟΤΗΤΑ: Μέτρηση της Πολυπλοκότητας, Η κλάση Ρ, Η κλάση ΝΡ
- ΧΩΡΙΚΗ ΠΟΛΥΠΛΟΚΟΤΗΤΑ: Θεώρημα του Savitch, Η κλάση PSPACE