Υπολογισιμότητα και Πολυπλοκότητα (Μοντέλα Υπολογισμού, Τυπικές Γλώσσες και Αυτόματα)
Weekly outline
- General
General
Προσφέρεται ως Υπολογισιμότητα και Πολυπλοκότητα (ΣΕΜΦΕ, ΣΗΜΜΥ) και ως Μοντέλα Υπολογισμού, Τυπικές Γλώσσες και Αυτόματα (ΑΛΜΑ, ΕΜΕ, Μαθηματική Προτοτυποποιήση).
Εαρινό εξάμηνο 2021-2022
Περιγραφή
Υπολογισιμότητα, Λογική θεμελίωση πληροφορικής, Ιστορική αναδρομή στο πρόβλημα αποκρισιμότητας μαθηματικών προτάσεων, Eπιλυσιμότητα ή υπολογισιμότητα προβλημάτων με μηχανιστικό, δηλαδή αλγοριθμικό, τρόπο. Απλά ισοδύναμα υπολογιστικά μοντέλα: μηχανές Turing, προγράμματα WHILE. Επαγωγή και αναδρομή, κωδικοποίηση και σημασιολογία. Θεωρία σταθερού σημείου. Θεωρία Tarski και υπολογιστικών στρατηγικών. Αριθμητική ιεραρχία. Οι γλώσσες και οι αναπαραστάσεις τους. Γραμματικές, context-sensitive και context-free γραμματικές. Πεπερασμένα αυτόματα και κανονικές γραμματικές. Pushdown Αυτόματα. Μηχανές Turing. Αυτόματα και αναγνώριση γλωσσών. Προχωρημένα θέματα από την θεωρία τυπικών γραμματικών. Υπολογιστική Πολυπλοκότητα. Σχέσεις μεταξύ κλάσεων πολυπλοκότητας.L --> NL --> P --> NP --> PSPACE = NPSPACE --> EXPTIME.
Co-κλάσεις, Αναγωγές και Πληρότητα. Μαντεία. Πολυωνυμική ιεραρχία. Πιθανοτικές, τυχαιότητα (randomness). Διαλογικές/αλληλεπίδραση, PCP. Μετρητικές κλάσεις. Προσεγγιστική Πολυπλοκότητα. Πολυπλοκότητα αναζήτησης. Παραμετρική πολυπλοκότητα. Κβαντική πολυπλοκότητα. Μη-ομοιομόρφα κυκλώματα.
Διδάσκοντες
- Στάθης Ζάχος, Καθηγητής (zachos@cs.ntua.gr)
- Πέτρος Ποτίκας, Ε.Δι.Π. (ppotik@cs.ntua.gr)
Διαλέξεις
- Παρασκευή 11:45-14:30, ΣΗΜΜΥ, ΣΕΜΦΕ, 11:45-15:30 Μεταπτυχιακά προγράμματα
Έναρξη
- 25/2/2022.
Τρόπος εξέτασης
Η εξέταση του μαθήματος αποτελείται από δύο μέρη: α) Μέρος Α, ερωτήσεις θεωρίας και είναι με κλειστές σημειώσεις και βιβλία και β) Μέρος Β, ασκήσεις και είναι με ανοιχτές σημειώσεις (επιτρέπεται να χρησιμοποιήσετε τις σημειώσεις σας και βιβλία).
Βιβλιογραφία
- Σ. Ζάχος. Σημειώσεις μαθήματος.
- D. Sipser. Introduction to the Τheory of Computation.
- J.E. Hopcroft και J.D. Ullman. Introduction to Automata Theory, Languages and Computation.
- H. R. Lewis και C. Papadimitriou. Elements of the Theory of Computation, 2nd edition.
- M. Harrison. Introduction to Switching and Automata Theory. McGraw-Hill Book Company, New York (1965).
- D. C. Kozen. Automata and Computability (Undergraduate Texts in Computer Science).
- Martin D. Davis, Ron Sigal, Elaine J. Wayuker. Computability, Complexity, and Languages, 2nd edition.
- C. Papadimitriou. Computational Complexity.
- S. Arora, B. Barak. Computational Complexity: A modern approach.
- S. Homer, A. Selman. Computability and Complexity.
- N. Jones. Computability and Complexity From a Programming Perspective.
Υλικό
Διαφάνειες Μαθήματος
- Διαφάνειες για Πολυπλοκότητα αναζήτησης.
- Διαφάνειες για Παραμετρική Πολυπλοκότητα.
- Διαφάνειες για Παραμετρική Πολυπλοκότητα (ΝΕΟ).
- Διαφάνειες για Κβαντική Πολυπλοκότητα.
- Διαφάνειες για Κβαντική Πολυπλοκότητα - διαφάνειες Ορέστη Χαρδούβελη
- Διαφάνειες για Κβαντική Πολυπλοκότητα - διαφάνειες Μάριου Ρόζου
- Διαφάνειες για PPP-completeness - διαφάνειες Μ. Ζαμπετάκη
- Διαφάνειες για PPP-completeness - διαφάνειες Α. Μέρτζιου
- Σημειώσεις για παραμετρική πολυπλοκότητα.
- Σημειώσεις για κβαντική πολυπλοκότητα.
- Σημειώσεις για πολυπλοκότητα αναζήτησης.
- Σημειώσεις για μη-ομοιόμορφα κυκλώματα.
Ασκήσεις (υπάρχουν και στο βιβλίο)
Μοντέλα υπολογισμού
- 1η Σειρά Προκαταρκτικά (ps) (pdf)
- 2η Σειρά LOOP (ps) (pdf)
- 3η Σειρά Κωδικοποίηση (ps) (pdf)
- 4η Σειρά Πρωταρχικές αναδρομικές συναρτήσεις (ps) (pdf)
- 5η Σειρά Σχήματα McCarthy - Στρατηγικές (ps) (pdf)
- 6η Σειρά GOTO - Μηχανές Turing (ps) (pdf)
- 7η Σειρά Καθολικότητα - Αναδρομικότητα (ps) (pdf)
- 8η Σειρά Αναδρομικά αριθμήσιμα σύνολα (ps) (pdf) (Θ. 75, 76 - Θεώρ. παραμέτρων, Θεώρ. S-m-n)
- 9η Σειρά Μαντεία - Αριθμητικά κατηγορήματα (ps) (pdf)
- 9'η Σειρά (pdf)
Αυτόματα και Τυπικές Γραμματικές
- 10η σειρά (ps) (pdf)
- 11η σειρά (ps) (pdf)
- 12η σειρά (ps) (pdf)
- 13η σειρά (ps) (pdf)
- 14η σειρά (ps) (pdf)
Πολυπλοκότητα
- 15η σειρά (pdf)
- 25 February - 3 March
- 4 March - 10 March
- 11 March - 17 March
- 18 March - 24 March
- 25 March - 31 March
- 1 April - 7 April
- 8 April - 14 April
- 15 April - 21 April
- 22 April - 28 April
- 29 April - 5 May