ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

Σχετικά έγγραφα
Θεωρία Υπολογισμού και Πολυπλοκότητα To Δόγμα Church-Turing

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Επανάληψη Μαθήματος

Σε αυτό το µάθηµα. Εισαγωγή στις Μηχανές Turing. Μηχανή Turing (Turing Machine - TM) Μηχανές Turing. Παραδείγµατα Μηχανών Turing

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή.

Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές

Σειρά Προβλημάτων 4 Λύσεις

Φροντιστήριο 8 Λύσεις

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 15: Διαγνωσιμότητα (Επιλυσιμότητα) ΙΙ

Σειρά Προβλημάτων 4 Λύσεις

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Φροντιστήριο 9 Λύσεις

Φροντιστήριο 8 Λύσεις

Φροντιστήριο 10 Λύσεις

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 16: Αναγωγές

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις

Ασκήσεις από παλιές εξετάσεις

Σειρά Προβλημάτων 5 Λύσεις

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 12: Μηχανές Turing

Λύσεις 4ης Σειράς Ασκήσεων

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 14: Διαγνωσιμότητα (Επιλυσιμότητα)

Σειρά Προβλημάτων 4 Λύσεις

CSC 314: Switching Theory

Θεωρία Υπολογισμού και Πολυπλοκότητα Χρονική Πολυπλοκότητα

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις

Θεωρία Υπολογισμού και Πολυπλοκότητα Διαγνωσιμότητα

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο

Σειρά Προβλημάτων 1 Λύσεις

Περιεχόμενα ΜΤ Τυχαίας Προσπέλασης Θεωρία Υπολογισμού Ενότητα 23: Μηχανές Turing Τυχαίας Προσπέλασης Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ.

Chapter 7, 8 : Time, Space Complexity

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος στη δεύτερη έκδοση

Θεωρία Υπολογισμού και Πολυπλοκότητα

Σειρά Προβλημάτων 5 Λύσεις

Θεωρία Υπολογισμού και Πολυπλοκότητα

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

Ασκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1

Chapter 7, 8 : Time, Space Complexity

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)

NP-πληρότητα. Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

Υπολογίσιμες Συναρτήσεις

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2)

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 4: Μη Ντετερμινιστικά (Αντιαιτιοκρατικά) Πεπερασμένα Αυτόματα (ΝFA)

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιµότητα. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 10: Αυτόματα Στοίβας II

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ

Πεπερασμένος έλεγχος καταστάσεων

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 5: Κανονικές Εκφράσεις

Θεωρήµατα Ιεραρχίας Ειδικά Θέµατα Υπολογισµού και Πολυπλοκότητας, Μάθηµα Βασικής Επιλογής Εαρινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E.

Θεωρία Υπολογισμού και Πολυπλοκότητα

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Παύλος Εφραιμίδης V1.1,

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

Φροντιστήριο 11 Λύσεις

(a 1, b 1 ) (a 2, b 2 ) = (a 1 a 2, b 1 b 2 ).

Υποθέσεις - - Θεωρήματα Υποθέσεις - Θεωρήματα Στα μαθηματικά και στις άλλες επιστήμες κάνουμε συχνά υποθέσεις. Οταν δείξουμε ότι μια υπόθεση είναι αλη

Διάλεξη 17: Συμφωνία με Βυζαντινά Σφάλματα. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

ΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

8. Πολλαπλές μερικές παράγωγοι

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2): Αυτόµατα Στοίβας. Παραδείγµατα Σχεδιασµού CFG. Παράδειγµα 1.

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)

CSC 314: Switching Theory. Chapter 3: Turing Machines

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων

Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation

Κατανεμημένα Συστήματα Ι

HY118-Διακριτά Μαθηματικά

Αλγόριθμοι για αυτόματα

Υποθέσεις - Θεωρήματα. Μαθηματικά Πληροφορικής 1ο Μάθημα. Η χρυσή τομή. Υποθέσεις - Εικασίες

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί

Αποφασισιµότητα / Αναγνωρισιµότητα. Μη Επιλύσιµα Προβλήµατα. Η έννοια της αναγωγής. Τερµατίζει µια δεδοµένη TM για δεδοµένη είσοδο;

Κατανεμημένα Συστήματα Ι

t M (w) T ( w ) O( n) = O(n 2 )

Αλγόριθμοι Ταξινόμησης Μέρος 4

771 Η - Θεωρία Υπολογισµών και Αλγορίθµων

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης

L A P. w L A f(w) L B (10.1) u := f(w)

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης

Transcript:

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

Τι θα κάνουμε σήμερα Εισαγωγή Πολυταινιακές Μηχανές Turing (3.2.1) Μη Ντετερμινιστικές Μηχανές Turing (3.2.2) Ορισμός του Αλγόριθμου Πρόβλημα Πολυωνύμων (3.3.1) Ορολογία για την περιγραφή μηχανών Turing (3.3.2) 1

Εισαγωγή Διάφοροι εναλακτικοί ορισμοί των ΤΜ Πολυταινιακές Μη ντετερμινιστικές Όλες οι παραλλαγές είναι ισοδύναμες με το αυθεντικό μοντέλο Αναγνωρίζουν την ίδια κλάση γλωσσών Πως αποδεικνύουμε ότι δυο μοντέλα είναι ισοδύναμα; Προσομοιώνουμε το ένα μέσω του άλλου 2

Πολυταινιακές ΤΜ... Τι είναι; Μια μηχανή Turing με πολλές ταινίες Κάθε ταινία έχει τη δική της κεφαλή Αρχικοποίηση ταινιών Πρώτη ταινία περιέχει την λέξη εισόδου Οι υπόλοιπες είναι κενές Συνάρτηση μεταβάσεων Επιτρέπει την εγγραφή, ανάγνωση, και μετακίνηση της κεφαλής σε κάποιες ή όλες τις ταινίες δ : Q Γ k Q Γ k {A,, Σ} k δ(q i,a 1,...,a k )=(q j,b 1,...,b k, A,,...,A) 3

Ισοδυναμία ΜΤ- ΤΜ με ΤΜ Θεώρημα Για κάθε πολυταινιακή μηχανή Turing υπάρχει ισοδύναμη μονοταινιακή μηχανή Turing M b a a a a 0 1 0 1 0 είσοδος S # 0 1 0 1 0 # a a a # b a # 4

Ισοδυναμία ΜΤ- ΤΜ με ΤΜ Για είσοδο w=w 1 w n Διαμορφώνουμε την ταινία μας να αναπαριστά και τις k ταινίες της Μ Σαρώνουμε από το πρώτο # (αρχή λέξης) μέχρι το (k+1)- οστό # (τέλος λέξης) για να προσδιορίσουμε τα σύμβολα κάτω από τις κεφαλές Με δεύτερη σάρωση ενημερώνουμε κάθε ταινία με τον τρόπο που υπαγορεύει η συνάρτηση μεταβάσεων 5

Μηχανή πολλαπλών κεφαλών Επιτρέπουμε πολλαπλές κεφαλές και μια ταινία Θεώρημα Για κάθε μηχανή Turing πολλαπλών κεφαλών υπάρχει ισοδύναμη μονοταινιακή μηχανή Turing Αποδειξη: Με προσομοίωση (αφήνεται για άσκηση) 6

Μη Ντετερμινιστικές ΤΜ Από μια συνολική κατάσταση είναι δυνατόν να προκύψουν πολλές εναλλακτικές συνολικές καταστάσεις. δ : Q Γ P(Q Γ {A, }) Θεώρημα Για κάθε μη ντετερμινιστική μηχανή Turing υπάρχει ισοδύναμη μονοταινιακή μηχανή Turing Αποδειξη: Με προσομοίωση (αφήνεται για άσκηση) 7

Αλγόριθμοι και ΤΜ - - Εισαγωγή Τι είναι ένας αλγόριθμος; Συλλογή απλών οδηγιών για τη διεκπεραίωση μιας εργασίας. Ορισμός του αλγόριθμου Ακριβής ορισμός αλγορίθμου εκφράστηκε τον 20 ο αιώνα 1900 Hilbert Απαρίθμησε 23 μαθηματικά προβλήματα Το 10 ο αφορούσε τους αλγόριθμους Εύρεση αν ένα πολυώνυμο έχει ακέραιες ρίζες Αυτό το πρόβλημα ώθησε την ανάγκη για ακριβή ορισμό των αλγορίθμων 8

Ακέραια Ρίζα Πολυωνύμων Τι είναι πολυώνυμο; Έστω το πολυώνυμο 6x 3 yz 2 +3xy 2 x 3 10 Όροι: γινόμενο μεταβλητών και συντελεστή Ρίζα: μια ανάθεση τιμών στις μεταβλητές τέτοιων ώστε το πολυώνυμο να παίρνει τιμή 0 Π.χ. x=5, y=3, z=0 Αν όλες οι ρίζες ενός πολυωνύμου είναι ακέραιοι τότε λέμε ότι το πολυώνυμο έχει ακέραια ρίζα Πρόβλημα Hilbert: Μπορούμε να επινοήσουμε μια διαδικασία (αλγόριθμο) που να μας λέει αν ένα πολυώνυμο έχει ακέραια ρίζα σε πεπερασμένο χρόνο; Σήμερα ξέρουμε ότι ΔΕΝ ΥΠΑΡΧΕΙ τέτοια διαδικασία 9

Δόγμα Church - Turing Ορίζει επακριβώς την έννοια του αλγορίθμου Church όρισε τον αλγόριθμο με λογισμό λ Turing όρισε τον αλγόριθμο με τις «μηχανές» του Ισοδύναμοι ορισμοί => Δόγμα Church- Turing Τι μπορεί να υπολογιστεί και τι δεν μπορεί να υπολογιστεί? Δόγμα Church- Turing (1936): ότι μπορεί να υπολογιστεί (υπάρχει αλγόριθμος) μπορεί να υπολογιστεί από μια μηχανή Turing. Δηλ. Αλγόριθμος είναι μια μηχανή Turing που τερματίζει για όλες τις εισόδους του προβλήματος Τα προβλήματα που δεν μπορούν να επιλυθούν από μια μηχανή Turing δεν μπορούν να επιλυθούν. (είναι μη επιλύσιμα). 10

Διατύπωση Προβλήματος Hilbert D = {p το p είναι ένα πολυώνυμο με ακέραια ρίζα} Θεωρήστε ότι «υπάρχει τρόπος» να εισάγουμε ένα πολυώνυμο ως είσοδο σε μια μηχανή Turing Θέλουμε να απαντήσουμε το ερώτημα: «Είναι η D διαγνώσιμη;» 11

Η D είναι αναγνωρίσιμη Θεωρείστε το πιο απλό πρόβλημα D 1 : D 1 = {p το p είναι ένα πολυώνυμο της x με ακέραια ρίζα} Μ1 = Για είσοδο ένα πολυώνυμο p της μεταβλητής x: Θέτουμε διαδοχικά την x ίση με 0,1,- 1,2,- 2,3,- 3,... και για κάθε τιμή υπολογίζουμε την αντίστοιχη τιμή του πολυωνύμου. Εάν το p γίνει 0, αποδεχόμαστε. Η Μ1 αναγνωρίζει την D 1 : αν δεν υπάρχει ακέραια ρίζα δεν τερματίζει Μ=διέτρεξε όλους τους πιθανούς συνδυασμούς ακεραίων στις μεταβλητές του πολυωνύμου Η Μ αναγνωρίζει την D 12

Η D είναι διαγνώσιμη; Για πολυώνυμο μιας μεταβλητής Άνω και κάτω φράγματα για τις ρίζες Εάν k το πλήθος των όρων, c max ο μέγιστος συντελεστής και c 1 ο συντελεστής του μεγιστοβάθμιου όρου τότε οι ρίζες μεταξύ των φραγμάτων ±k c max Η Μ1 μπορεί να γίνει διαγνώστης αν ελέγχει μόνο τις ακέραιες τιμές μεταξύ των φραγμάτων c 1 Ο υπολογισμός φραγμάτων στην περίπτωση των πολλαπλών μεταβλητών είναι αδύνατος Η Μ ΔΕΝ ΜΠΟΡΕΙ να είναι διαγνωστής => Η D ΔΕΝ ΕΙΝΑΙ ΔΙΑΓΝΩΣΙΜΗ 13

Περιγραφή μηχανών Turing Πραγματική χρήση μηχανών Turing Ακριβές μοντέλο για τον ορισμό αλγορίθμων Δυνατότητα να αναγνωρίζουμε αν ένα πρόβλημα είναι επιλύσιμο Πως περιγράφουμε ένα αλγόριθμο; Τυπική Περιγραφή: Αναλυτική Παράθεση των καταστάσεων της μηχανής, μεταβάσεων κτλ. Λεπτομερής Περιγραφή: Τρόπος που κινεί η μηχανή την κεφαλή της και πως αποθηκεύει στην ταινία της δεδομένα Περιγραφή Υψηλού Επιπέδου: Περιγραφή αλγορίθμου χωρίς να αναφερθούμε στο τρόπο διαχείρισης της ταινίας ή της κεφαλής. 14

Περιγραφή μηχανών Turing Είσοδος μιας μηχανής: πάντοτε μια ΛΕΞΗ Κωδικοποίηση: Μετατροπή οποιουδήποτε αντικειμένου σε λέξη Συμβολισμός κωδικοποίησης αντικειμένου Ο: <Ο> Συμβολισμός κωδικοποίησης έκφρασης Ο1,Ο2,..,Οκ: <Ο1,Ο2,...,Οκ> Περιγραφή αλγορίθμου με μηχανή Turing Είσοδος στην πρώτη γραμμή w: αν η είσοδος είναι μια λέξη <Α>: αν η είσοδος είναι κωδικοποίηση του αντικειμένου Περιγραφή σταδίων και βημάτων του υπολογισμού της μηχανής 15

Παράδειγμα 1 Α={<G> το G είναι συνδεδεμένο ακατεύθυντο γράφημα} Μ= Για είσοδο <G>, την κωδικοποίηση κάποιου ακατεύθυντου γραφήματος G: 1. Επιλέγουμε και σημαίνουμε τον πρώτο κόμβο 2. Επαναλαμβάνουμε μέχρι να μην σημαίνεται κανένας: 1. Για κάθε κόμβο u: ελέγχουμε αν υπάρχει ακμή που να τον συνδέει με κάποιον ήδη σημασμένο κόμβο. Αν ναι τότε σημαίνουμε και τον u. 3. Ελέγχουμε αν είναι όλοι οι κόμβοι σημασμένοι. Αν ναι αποδεχόμαστε αλλιώς απορρίπτουμε 16

Παράδειγμα 1 Κωδικοποίηση G: G= 4 3 1 2 <G>=(1,2,3,4)((1,2),(2,3),(3,1),(1,4)) 17

Ερωτήσεις; 18