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

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

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

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

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

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

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

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

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

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 7: Ασυμφραστικές Γλώσσες (Γλώσσες Ελεύθερες Συμφραζομένων)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Κανονικές Γλώσσες. ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Κανονικές Γλώσσες. Κανονικές Γλώσσες. Κανονικές Γλώσσες και Αυτόματα. Κανονικές Γλώσσες και Αυτόματα

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6

Εισαγωγή στην Επιστήμη των Υπολογιστών

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 9: Αυτόματα Στοίβας (Pushdown Automata - PDA)

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών. Προδιαγραφές

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

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

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

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

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

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

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

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

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

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

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

Chapter 7, 8 : Time, Space Complexity

Πεπερασμένα Αυτόματα. ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 8 : Αυτόματα NFA - DFA. Αλέξανδρος Τζάλλας

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

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

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

Μεταγλωττιστές. Ενότητα 2: Τυπικές γλώσσες (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

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

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

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

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

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

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

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

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί);

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

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

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

ΠΛΗ30 ΕΝΟΤΗΤΑ 3: ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ. Μάθηµα 3.2: ηµήτρης Ψούνης

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

Γραµµατικές για Κανονικές Γλώσσες

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

Chapter 7, 8 : Time, Space Complexity

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

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

Μοντελοποίηση Υπολογισμού. Γραμματικές Πεπερασμένα Αυτόματα Κανονικές Εκφράσεις

Εισαγωγή στην Επιστήμη των Υπολογιστών

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

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

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

Πληροφορική 2. Αλγόριθμοι

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

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (3) Παραδείγµατα µε Κανονικές Εκφράσεις. Σε αυτό το µάθηµα.

Transcript:

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

Τι θα κάνουμε σήμερα Εισαγωγή Επιλύσιμα Προβλήματα σχετικά με τις Κανονικές Γλώσσες (4.1.1) Επιλύσιμα Προβλήματα σχετικά με Ασυμφραστικές Γλώσσες (4.1.2) 1

Εισαγωγή Τι μελετά η διαγνωσιμότητα; Τα προβλήματα που λύνονται αλγοριθμικά Γιατί μελετούμε μη επιλύσιμα προβλήματα; Για να μπορούμε να γνωρίζουμε αν είναι εφικτή μια αλγοριθμική λύση για κάποιο πρόβλημα Για να γνωρίσουμε τις δυνατότητες και αδυναμίες των υπολογιστών 2

Προβλήματα σχετικά με Κανονικές Γλώσσες Υπολογιστικά προβλήματα που αφορούν πεπερασμένα αυτόματα. Αλγόριθμοι που ελέγχουν εάν: Πεπερασμένο αυτόματο δέχεται μια λέξη Γλώσσα ενός πεπερασμένου αυτόματου είναι η κενή Δυο πεπερασμένα αυτόματα είναι ισοδύναμα Αναπαράσταση προβλημάτων: ως γλώσσες 3

Αποδοχή/DFA ΑΠΟΔΟΧΗ/DFA={<B,w> το Β είναι ένα DFA που αποδέχεται την λέξη w} <Β,w>: κωδικοποίηση όλων των DFA μαζί με λέξεις που αποδέχονται Μ= Για είσοδο <Β,w>, όπου B ένα DFA και w μια λέξη: 1. Προσομοιώνουμε το Β για είσοδο w. 2. Εάν η προσομοίωση καταλήξει σε κατάσταση αποδοχής, αποδεχόμαστε. Εάν καταλήξει σε άλλη κατάσταση απορρίπτουμε. Η γλώσσα ΑΠΟΔΟΧΗ/DFA είναι διαγνώσιμη (αναδρομική) 4

Αποδοχή/ΝFA ΑΠΟΔΟΧΗ/ΝFA={<B,w> το Β είναι ένα ΝFA που αποδέχεται την λέξη w} Ν= Για είσοδο <Β,w>, όπου B ένα ΝFA και w μια λέξη: 1. Μετατρέπουμε το Β σε ένα ισοδύναμο DFA C. 2. Εκτελούμε την ΤΜ M πάνω στην <C,w> 3. Εάν η Μ αποδέχεται, αποδεχόμαστε. αλλιώς απορρίπτουμε. Η γλώσσα ΑΠΟΔΟΧΗ/ΝFA είναι διαγνώσιμη (αναδρομική) Χρησιμοποιεί την Μ ως υποπρόγραμμα: Η συνάρτηση μεταβάσεων της Μ ενσωματώνεται σε εκείνη της Ν 5

Αποδοχή/REX ΑΠΟΔΟΧΗ/REX={<R,w> το R είναι κανονική έκφραση που παράγει την λέξη w} Ρ= Για είσοδο <R,w>, όπου R καν. εκφρ. και w μια λέξη: 1. Μετατρέπουμε την R σε ένα ισοδύναμο NFA B. 2. Εκτελούμε την ΤΜ N πάνω στην <B,w> 3. Εάν η N αποδέχεται, αποδεχόμαστε. αλλιώς απορρίπτουμε. Η γλώσσα ΑΠΟΔΟΧΗ/REX είναι διαγνώσιμη (αναδρομική) 6

Κενότητα/DFA ΚΕΝΟΤΗΤΑ/DFA={<B> το Β είναι ένα DFA και L(B)=;} Να ελεγχθεί εάν η γλώσσα του αυτόματου είναι η κενή Πότε ένα DFA αποδέχεται κάποια από τις εισόδους του; Όταν από την εναρκτήρια μπορούμε να μεταβούμε σε κατάσταση αποδοχής ακολουθώντας τις μεταβάσεις του Τ= Για είσοδο <Β>, όπου B ένα DFA: 1. Σημαδεύουμε την εναρκτήρια κατάσταση του Β. 2. Επαναλαμβάνουμε μέχρις ότου να μην σημαδεύεται καμιά νέα κατάσταση: 3. Σημαδεύουμε όλες τις καταστάσεις στις οποίες μπορούμε να μεταβούμε από τις ήδη σημαδεμένες. 4. Εάν καμιά κατάσταση αποδοχής δεν είναι σημαδεμένη, αποδεχόμαστε, αλλιώς απορρίπτουμε. Η γλώσσα ΚΕΝΟΤΗΤΑ/DFA είναι διαγνώσιμη (αναδρομική) 7

Ισοδυναμία/DFA ΙΣΟΔΥΝΑΜΙΑ/DFA={<Α,B> τα Α,Β είναι DFA και L(Α)=L(B)} Ιδέα: Κατασκευή ενός νέου αυτόματου C που αποδέχεται μόνο τις λέξεις που γίνονται αποδεχτές είτε από το Α είτε από το Β αλλά όχι και από τα δύο: Εάν η L(C)=; τότε οι Α και Β είναι ισοδύναμες L(C) είναι η συμμετρική διαφορά L(C) = L(A) L(B) L(A) L(B) 8

Ισοδυναμία/DFA Κατασκευάζουμε C χρησιμοποιώντας τις κατασκευές κλειστότητας ως προς το συμπλήρωμα, την ένωση και την τομή F= Για είσοδο <A,Β>, όπου A,B δύο DFA: 1. Κατασκευάζουμε το DFA C. 2. Εκτελούμε την ΤΜ Τ πάνω στο C 3. Εάν η Τ αποδέχεται αποδεχόμαστε, αλλιώς απορρίπτουμε. Η γλώσσα ΙΣΟΔΥΝΑΜΙΑ/DFA είναι διαγνώσιμη (αναδρομική) 9

Προβλήματα σχετικά με Ασυμφραστικές Γλώσσες Υπολογιστικά προβλήματα για ασυμφραστικές γραμματικές. Αλγόριθμοι που ελέγχουν εάν: Ασυμφραστική γραμματική παράγει μια λέξη Γλώσσα μιας ασυμφραστικής γραμματικής είναι η κενή Ασυμφραστικές γραμματικές διαγνώσιμες 10

Παραγωγή/CFG ΠΑΡΑΓΩΓΗ/CFG={<G,w> το G είναι μια CFG που παράγει την λέξη w} Ιδέα 1: Διατρέχουμε όλες τις πιθανές παραγωγές της G και να ελέγξουμε εάν η w είναι μια από αυτές Πρόβλημα: Μπορεί να υπάρχει άπειρο πλήθος παραγωγών Εάν δεν παράγουμε την w ο αλγόριθμος δεν τερματίζει Σε αυτή την περίπτωση η ΤΜ αναγνωρίζει αλλά δεν διαγιγνώσκει Ιδέα 2: Εάν η G είναι σε κανονική μορφή Chomsky τότε οποιαδήποτε παραγωγή της w αποτελείται από 2n- 1 βήματα (όπου n= w ). Μπορούμε να ελέγξουμε μόνο παραγωγές 2n- 1 βημάτων που είναι πεπερασμένες σε αριθμό 11

Παραγωγή/CFG S= Για είσοδο <G,w>, όπου G μια CFG και w μια λέξη: 1. Μετατρέπουμε την G σε μια ισοδύναμη γραμματική σε κανονική μορφή Chomsky. 2. Συντάσσουμε όλες τις παραγωγές 2n- 1 βημάτων 3. Εάν κάποια από τις παραγωγές είναι η w, αποδεχόμαστε, αλλιώς απορρίπτουμε. Η γλώσσα ΠΑΡΑΓΩΓΗ/CFG είναι διαγνώσιμη (αναδρομική) 12

Κενότητα/CFG ΚΕΝΟΤΗΤΑ/CFG={<G> η G είναι μια CFG και L(G)=;} Ιδέα 1: Να ελέγξουμε όλες τις πιθανές λέξεις w Άπειρες λέξεις και επομένως μπορεί να μην τερματίσουμε Ιδέα 2: Πότε μια CFG παράγει κάποια από τις εισόδους του; Όταν από την εναρκτήρια μεταβλητή μπορούμε να παραγάγουμε λέξεις τερματικών συμβόλων Ελέγχουμε αν από κάθε μεταβλητή μπορούμε να παράγουμε λέξεις τερματικών συμβόλων R= Για είσοδο <G>, όπου G μια CFG: 1. Σημαδεύουμε όλα τα τερματικά σύμβολα της G. 2. Επαναλαμβάνουμε μέχρις ότου να μην σημαδευτούν όλες οι μεταβλητές: 3. Σημαδεύουμε κάθε μεταβλητή Α- >U 1 U k όπου U 1 U k είναι ήδη σημαδεμένα. 4. Εάν η εναρκτήρια δεν είναι σημαδεμένη, αποδεχόμαστε, αλλιώς απορρίπτουμε. Η γλώσσα ΚΕΝΟΤΗΤΑ/CFG είναι διαγνώσιμη (αναδρομική) 13

Ισοδυναμία/CFG ΙΣΟΔΥΝΑΜΙΑ/CFG={<G,H> τα G,H είναι CFG και L(G)=L (H)} Ιδέα 1: να χρησιμοποιήσουμε παρόμοια τακτική με τον αλγόριθμο που δείχνει την ισοδυναμία των κανονικών γλωσσών Αδύνατον αφού οι ασυμφραστικές γλώσσες δεν είναι κλειστές κάτω από τις πράξεις του συμπληρώματος και της τομής Πραγματικότητα: Η γλώσσα ΙΣΟΔΥΝΑΜΙΑ/CFG δεν είναι διαγνώσιμη 14

Κάθε Ασυμφραστική είναι διαγνώσιμη Έστω Α μια ασυμφραστική γλώσσα και θέλουμε να δώσουμε αλγόριθμο που να την διαγιγνώσκει Αφού Α είναι ασυμφραστική τότε Υπάρχει αυτόματο στοίβας που την αναγνωρίζει Υπάρχει ασυμφραστική γραμματική που την παράγει Ιδέα 1: Να προσομοιωθεί το αυτόματο στοίβας που αναγνωρίζει την Α από μια μηχανή Turing Σχετικά απλή προσομοίωση Όμως: Αν κάποιοι κλάδοι του αυτομάτου γράφουν και διαβάζουν από την στοίβα επ απειρον τότε η ΤΜ δεν τερματίζει. 15

Κάθε Ασυμφραστική είναι διαγνώσιμη Ιδέα 2: Να ελέγξουμε αν η γραμματική που παράγει την Α μπορεί να προσομοιωθεί από ΤΜ Χρήση μηχανής που διαγιγνώσκει την γλώσσα ΠΑΡΑΓΩΓΗ/ CFG Μ G = Για είσοδο w: 1. Εκτελούμε την ΤΜ S πάνω στην είσοδο <G,w> 2. Εάν η S αποδεχθεί τότε αποδεχόμαστε, αλλιώς απορρίπτουμε. 16

Σχέση Γλωσσών Αναγνωρίσιμες Διαγνώσιμες Κανονικές Ασυμφραστικές 17

Ερωτήσεις; 18