Θεωρία Υπολογισμού και Πολυπλοκότητα Διαγνωσιμότητα
|
|
- Νατάσα Θεοδωρίδης
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Θεωρία Υπολογισμού και Πολυπλοκότητα Διαγνωσιμότητα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Διαγνώσιμες Γλώσσες (4.1) Επιλύσιμα Προβλήματα σχετικά με Κανονικές Γλώσσες Επιλύσιμα Προβλήματα σχετικά με Ασυμφραστικές Γλώσσες Το Πρόβλημα του Τερματισμού (4.2) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-1
2 Διαγνωσιμότητα (Decidability) Διαγνώσιμα προβλήματα (decidable problems) Τα προβλήματα που λύνονται αλγοριθμικά Που βρίσκονται τα όρια της αλγοριθμικής επιλυσιμότητας; Γιατί μελετούμε την ανεπιλυτότητα; Για να μπορούμε να γνωρίζουμε αν είναι εφικτή μια αλγοριθμική λύση για κάποιο πρόβλημα Για να γνωρίσουμε τις δυνατότητες και αδυναμίες των υπολογιστών Για να αποκτήσουμε μια σφαιρική άποψη της έννοιας του υπολογισμού ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-2
3 Προβλήματα σχετικά με Κανονικές Γλώσσες Υπολογιστικά προβλήματα που αφορούν πεπερασμένα αυτόματα. Το πρόβλημα της αποδοχής Έλεγχος κατά πόσο κάποιο αυτόματο αποδέχεται μια λέξη Το πρόβλημα της κενότητας Έλεγχος κατά πόσο η γλώσσα που αναγνωρίζει ένα αυτόματο είναι κενή Το πρόβλημα της ισοδυναμίας Έλεγχος κατά πόσο δύο αυτόματα αναγνωρίζουν τις ίδιες γλώσσες Θα αναπαραστήσουμε τα προβλήματα ως γλώσσες. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-3
4 Το Πρόβλημα της Αποδοχής σε DFA Πρόβλημα: Να καταστρώσουμε ένα αλγόριθμο ο οποίος, με δεδομένα εισόδου ένα DFA B και μια λέξη w να αποφασίζει κατά πόσο τo B αποδέχεται τη w; Παράδειγμα: Το αυτόματο a q 0 a b b q 1 αποδέχεται την είσοδο abb; Το ερώτημα αυτό μπορεί να διατυπωθεί μέσω μιας γλώσσας: A DFA = { Β, w : το Β είναι ένα DFA που αποδέχεται τη λέξη w} Είναι η γλώσσα Α DFA διαγνώσιμη; ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-4
5 Το Πρόβλημα της Αποδοχής σε DFA Το ερώτημα συνίσταται στην κατασκευή μιας ΤΜ η οποία με δεδομένο εισόδου ένα αυτόματο Β και μια λέξη w να αποδέχεται αν και μόνο αν το Β αποδέχεται τη w. Επιστρέφοντας στο παράδειγμα a b a Β: w = abb q 0 Αναζητούμε ΤΜ η οποία, με δεδομένο εισόδου b q 1 ((q0,q1)(a,b)((q0,a,q0)(q0,b,q1)(q1,a,q0)(q1,b,q1)(q0)(q1))(abb) B = (Q, Σ, δ, q 0, F) w θα οδηγήσει σε αποδοχή (αφού το Β αποδέχεται τη w). ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-5
6 Το Πρόβλημα της Αποδοχής σε DFA A DFA = { Β, w : το Β είναι ένα DFA που αποδέχεται τη λέξη w} Ψευδοκώδικας: Για είσοδο Β, w, όπου Β = (Q, Σ, δ, q 0, F): Θέσε q := q 0 Για i := 1 μέχρι size(w): q := δ(q, w i ) Αν q F αποδεχόμαστε, διαφορετικά απορρίπτουμε Περιγραφή ΤΜ: Μ = Για είσοδο Β, w, όπου Β ένα DFA, και w μια λέξη Προσομοιώνουμε το B για είσοδο w Αν η προσομοίωση καταλήξει σε κατάσταση αποδοχής, αποδεχόμαστε, διαφορετικά απορρίπτουμε. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-6
7 Το Πρόβλημα της Αποδοχής σε DFA A DFA = { Β, w : το Β είναι ένα DFA που αποδέχεται τη λέξη w} Λεπτομέρειες της ΜΤ: 1. Κατ αρχή θα πρέπει να ελέγξουμε ότι η είσοδος έχει την ορθή μορφή. 2. Προσομοίωση: Τρέχουσα κατάσταση Τρέχον του Β σύμβολο λέξης ((q0,q1)(a,b)((q0,a,q0)(q0,b,q1)(q1,a,q0)(q1,b,q1)(q0)(q1))(abb) q acc Συμπέρασμα: Η γλώσσα A DFA είναι διαγνώσιμη. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-7
8 Μηχανή Turing για ΑΠΟΔΟΧΗ ΝFA A ΝFA = { Β, w : το Β είναι ένα ΝFA που αποδέχεται τη λέξη w} Ν = Για είσοδο Β,w, όπου B ένα ΝFA και w μια λέξη: 1. Μετατρέπουμε το Β σε ένα ισοδύναμο DFA C. 2. Εκτελούμε την ΤΜ M(Διαφάνεια 8-6) πάνω στη λέξη C,w 3. Αν η Μ αποδέχεται, αποδεχόμαστε, αλλιώς απορρίπτουμε. Συμπέρασμα: Η γλώσσα A ΝFA είναι διαγνώσιμη (αναδρομική) Χρησιμοποιεί την Μ ως υποπρόγραμμα: Η συνάρτηση μεταβάσεων της Μ ενσωματώνεται σε εκείνη της Ν ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-8
9 Παραγωγή Λέξης από Κανονικές Εκφράσεις Π REX = { R, w : η R είναι μια κανονική έκφραση που παράγει τη λέξη w} Ρ = Για είσοδο R, w, όπου R κανονική έκφραση και w μια λέξη: 1. Μετατρέπουμε την R σε ένα ισοδύναμο NFA B. 2. Εκτελούμε την ΤΜ N(Διαφάνεια 8-8) πάνω στη λέξη Β, w 3. Αν η N αποδέχεται, αποδεχόμαστε, αλλιώς απορρίπτουμε. Συμπέρασμα: Η γλώσσα Π REX είναι διαγνώσιμη (αναδρομική) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-9
10 Το πρόβλημα της Κενότητας σε DFA ΚΕΝΟΤΗΤΑ DFA ={ Β το Β είναι ένα DFA και L(Β)= } Να ελεγχθεί αν η γλώσσα του αυτόματου είναι η κενή Πότε ένα DFA αποδέχεται κάποια από τις εισόδους του; Όταν από την εναρκτήρια μπορούμε να μεταβούμε σε κατάσταση αποδοχής ακολουθώντας τις μεταβάσεις του Τ = Για είσοδο Β, όπου B ένα DFA: 1. Σημαδεύουμε την εναρκτήρια κατάσταση του Β. 2. Επαναλαμβάνουμε μέχρις ότου να μην σημαδεύεται καμιά νέα κατάσταση: 3. Σημαδεύουμε όλες τις καταστάσεις στις οποίες μπορούμε να μεταβούμε από τις ήδη σημαδεμένες. 4. Αν καμιά κατάσταση αποδοχής δεν είναι σημαδεμένη, αποδεχόμαστε, αλλιώς απορρίπτουμε. Συμπέρασμα: Η γλώσσα ΚΕΝΟΤΗΤΑ DFA είναι διαγνώσιμη (αναδρομική) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-10
11 Το Πρόβλημα της Ισοδυναμία σε DFA ΙΣΟΔΥΝΑΜΙΑ DFA ={ Α, Β τα Α, Β είναι DFA και L(Α)=L(Β)} Ιδέα: Κατασκευή ενός νέου αυτόματου C που αποδέχεται μόνο τις λέξεις που γίνονται αποδεκτές είτε από το Α είτε από το Β αλλά όχι και από τα δύο: Αν η L(C)= τότε οι Α και Β είναι ισοδύναμες L(C): η συμμετρική διαφορά ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-11
12 Μηχανή Turing για ΙΣΟΔΥΝΑΜΙΑ DFA Κατασκευάζουμε το αυτόματο C χρησιμοποιώντας τις κατασκευές της κλειστότητας ως προς το συμπλήρωμα, την ένωση και την τομή F = Για είσοδο Α, Β, όπου A, B δύο DFA: 1. Κατασκευάζουμε το DFA C. 2. Εκτελούμε την ΤΜ Τ (Διαφάνεια 8-10) πάνω στο C 3. Αν η Τ αποδέχεται αποδεχόμαστε, αλλιώς απορρίπτουμε. Συμπέρασμα: Η γλώσσα ΙΣΟΔΥΝΑΜΙΑ DFA είναι διαγνώσιμη (αναδρομική). ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-12
13 Προβλήματα σχετικά με Ασυμφραστικές Γλώσσες Υπολογιστικά προβλήματα για ασυμφραστικές γραμματικές Παραγωγή λέξης από Ασυμφραστική Γραμματική Κενότητα γλώσσας Ασυμφραστικής Γραμματικής Ισοδυναμία Ασυμφραστικών Γραμματικών Διαγνωσιμότητα Ασυμφραστικών Γλωσσών ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-13
14 Το Πρόβλημα της Παραγωγής από CFG ΠΑΡΑΓΩΓΗ CFG = { G, w το G είναι μια CFG που παράγει την λέξη w} Ιδέα 1: Διατρέχουμε όλες τις πιθανές παραγωγές της G και ελέγχουμε αν η w είναι μια από αυτές Πρόβλημα: Μπορεί να υπάρχει άπειρο πλήθος παραγωγών Aν η γραμματική δεν παράγει την w ο αλγόριθμος δεν τερματίζει Σε αυτή την περίπτωση η ΤΜ αναγνωρίζει αλλά δεν διαγιγνώσκει Ιδέα 2: Aν η G είναι σε κανονική μορφή Chomsky τότε οποιαδήποτε παραγωγή της w αποτελείται από 2n-1 βήματα (όπου n= w ). Ελέγχουμε μόνο παραγωγές 2n-1 βημάτων που είναι πεπερασμένες σε αριθμό ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-14
15 Υπενθύμιση: Κανονικές Μορφές Chomsky ΟΡΙΣΜΟΣ Μια ασυμφραστική γραμματική G βρίσκεται σε κανονική μορφή Chomsky αν κάθε κανόνας της βρίσκεται σε μια από τις μορφές Α ΒC A a όπου a οποιοδήποτε τερματικό σύμβολο, Α οποιαδήποτε μεταβλητή, και B και C οποιεσδήποτε μεταβλητές διάφορες της εναρκτήριας S. Επιπλέον επιτρέπεται ο κανόνας S ε. ΘΕΩΡΗΜΑ Κάθε ασυμφραστική γλώσσα παράγεται από κάποια ασυμφραστική γραμματική σε κανονική μορφή Chomsky ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-15
16 Μηχανή Turing για ΠΑΡΑΓΩΓΗ CFG S = Για είσοδο G, w, όπου G μια CFG και w μια λέξη: 1. Μετατρέπουμε τη G σε μια ισοδύναμη γραμματική σε κανονική μορφή Chomsky. 2. Συντάσσουμε όλες τις παραγωγές 2n-1 βημάτων 3. Aν κάποια από τις παραγωγές είναι η w, αποδεχόμαστε, αλλιώς απορρίπτουμε. Συμπέρασμα: Η γλώσσα ΠΑΡΑΓΩΓΗ CFG είναι διαγνώσιμη ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-16
17 Έλεγχος Σύνταξης Προγραμμάτων (Parsing) Ο έλεγχος της σύνταξης προγραμμάτων αποτελεί μια ειδική περίπτωση του προβλήματος της παραγωγής από CFG: Δοθείσας της γραμματικής που περιγράφει τη σύνταξη μιας γλώσσας έλεγξε κατά πόσο ένα πρόγραμμα παράγεται από αυτή (είναι συντακτικά ορθό) Προφανώς ο αλγόριθμος που περιγράψαμε είναι υπερβολικά χρονοβόρος για να εφαρμοστεί στην πράξη για το συγκεκριμένο πρόβλημα Είναι όμως απλός στην παρουσίασή του. Πολυπλοκότητα χώρου και χρόνου vs απλότητα Μελετώντας την επιλυσιμότητα δεν μας ενδιαφέρει η πολυπλοκότητα είναι αρκετό να δείξουμε ότι ένα πρόβλημα μπορεί να λυθεί αλγοριθμικά. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-17
18 Το πρόβλημα της Κενότητας σε CFG KENOTHTA CFG = { G το G είναι μια CFG και L(G)= } Ιδέα 1: Να ελέγξουμε όλες τις πιθανές λέξεις w Άπειρες λέξεις και επομένως μπορεί να μην τερματίσουμε Ιδέα 2: Πότε μια CFG παράγει μια λέξη; Όταν από την εναρκτήρια μεταβλητή μπορούμε να παραγάγουμε λέξεις τερματικών συμβόλων Γενικότερο πρόβλημα: Ελέγχουμε αν από κάθε μεταβλητή μπορούμε να παραγάγουμε λέξεις τερματικών συμβόλων ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-18
19 Μηχανή Turing για ΚΕΝΟΤΗΤΑ CFG R= Για είσοδο G, όπου G μια CFG: 1. Σημαδεύουμε όλα τα τερματικά σύμβολα της G. 2. Επαναλαμβάνουμε μέχρις ότου να μην μπορούμε να σημαδέψουμε άλλες μεταβλητές: 3. Σημαδεύουμε κάθε μεταβλητή Α για την οποία υπάρχει κανόνας Α U 1 U k όπου τα U 1 U k είναι ήδη σημαδεμένα. 4. Αν η εναρκτήρια δεν είναι σημαδεμένη, αποδεχόμαστε, αλλιώς απορρίπτουμε. Συμπέρασμα: Η γλώσσα ΚΕΝΟΤΗΤΑ CFG είναι διαγνώσιμη (αναδρομική) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-19
20 Παράδειγμα Έστω η γραμματική P apb P aq Q ε Q aq Βήμα 1: Σημαδεύουμε όλα τα τερματικά σύμβολα P P P Q Q ε Q Q Βήμα 2: Σημαδεύουμε τη Q P P ε Βήμα 3: Σημαδεύουμε τη P ε P ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-20
21 Το πρόβλημα της Ισοδυναμίας σε CFG ΙΣΟΔΥΝΑΜΙΑ CFG ={ G, H τα G, H είναι CFG και L(Α)=L(Β)} Ιδέα: να χρησιμοποιήσουμε παρόμοια τακτική με τον αλγόριθμο ισοδυναμίας σε κανονικές γλώσσες Πρόβλημα: Η κλάση των ασυμφραστικών γλωσσών δεν είναι κλειστή κάτω από τις πράξεις του συμπληρώματος και της τομής Πραγματικότητα: Μπορούμε να δείξουμε ότι Συμπέρασμα: Η γλώσσα ΙΣΟΔΥΝΑΜΙΑ CFG δεν είναι διαγνώσιμη. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-21
22 Κάθε Ασυμφραστική Γλώσσα είναι Διαγνώσιμη Έστω Α μια ασυμφραστική γλώσσα και θέλουμε να καταστρώσουμε αλγόριθμο που να την διαγιγνώσκει Να αποφασίζει κατά πόσο μια λέξη ανήκει ή όχι στην Α Αφού Α είναι ασυμφραστική τότε Υπάρχει αυτόματο στοίβας που την αναγνωρίζει Υπάρχει ασυμφραστική γραμματική που την παράγει Ιδέα 1: Να προσομοιωθεί το αυτόματο στοίβας που αναγνωρίζει την Α από μια μηχανή Turing Σχετικά απλή προσομοίωση Όμως: Αν κάποιοι κλάδοι του αυτομάτου γράφουν και διαβάζουν από την στοίβα επ άπειρον τότε η ΤΜ δεν τερματίζει δεν διαγιγνώσκει ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-22
23 Κάθε Ασυμφραστική Γλώσσα είναι Διαγνώσιμη Ιδέα 2: Να διαγνώσουμε τη γλώσσα μέσω της γραμματικής που την παράγει Χρήση μηχανής που διαγιγνώσκει την γλώσσα ΠΑΡΑΓΩΓΗ CFG Έστω Α η ασυμφραστική γλώσσα που θέλουμε να διαγνώσουμε και G μια ασυμφραστική γραμματική που την παράγει Μηχανή που διαγιγνώσκει την Α Μ G = Για είσοδο w: 1. Εκτελούμε την ΤΜ S(Διαφάνεια 8-16) με είσοδο G, w 2. Αν η S αποδεχθεί τότε αποδεχόμαστε, αλλιώς απορρίπτουμε. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-23
24 Σχέση Γλωσσών αναγνωρίσιμες διαγνώσιμες ασυμφραστικές κανονικές ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-24
25 To Πρόβλημα του Τερματισμού Ανεπιλυτότητα: υπάρχουν προβλήματα που δεν μπορούν να επιλυθούν μέσω των υπολογιστών Τι είδους προβλήματα είναι αυτά; Συνηθισμένα προβλήματα από πολλές περιοχές της Πληροφορικής Παράδειγμα: Το πρόβλημα της επαλήθευσης λογισμικού Τι είδους προβλημάτων είναι ανεπίλυτα; Πως δείχνουμε το ανεπίλυτο τέτοιων προβλημάτων; ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-25
26 Αποδοχή ΤΜ A ΤΜ = { Μ, w η Μείναι μια ΤΜ που αποδέχεται τη λέξη w} ΘΕΩΡΗΜΑ Η γλώσσα Α ΤΜ είναι μη διαγνώσιμη. Εντούτοις η A ΤΜ είναι αναγνωρίσιμη: Υπάρχει ΤΜ η οποία αποδέχεται κάθε ζεύγος Μ, w που ανήκει στη γλώσσα (δηλαδή, η μηχανή Μ αποδέχεται τη λέξη w) Η εν λόγω μηχανή είναι η Καθολική Μηχανή Turing (Universal Turing Machine) Μια μηχανή που μπορεί να προσομοιώσει οποιαδήποτε άλλη ΤΜ με αφετηρία την περιγραφή της Έναυσμα για την ανάπτυξη υπολογιστών αποθηκευμένου προγράμματος ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-26
27 Μηχανές Turing έναντι υπολογιστών πρόγραμμα είσοδος υπολογιστής έξοδος Ένας υπολογιστής είναι μια μηχανή η οποία επεξεργάζεται την είσοδό της σύμφωνα με μια ακολουθία εντολών. Πως μπορεί μια μηχανή Turing να πάρει ως είσοδο ένα πρόγραμμα; ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-27
28 Η Καθολική Μηχανή Turing πρόγραμμα M είσοδος x για M U Το αποτέλεσμα της εφαρμογής του M στο x Η Καθολική TM U παίρνει ως εισόδους ένα πρόγραμμα Μ και μια λέξη x και προσομοιώνει το Μ στο x. To πρόγραμμα M ορίζεται επίσης ως μια TM! ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-28
29 Μηχανές Turing ως λέξεις / R q q a q r M Μηχανή Turing: (Q,,,, q 0, q acc, q rej ) H πιο πάνω μηχανή Turing μπορεί να αναπαρασταθεί ως την πιο κάτω λέξη M = (q,q a,q r ) (0,1) (0,1, ) ((q,q, / R) (q,q a,0/0r) (q,q r,1/1r)) (q) (q a ) (q r ) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-29
30 Η Καθολική Μηχανή Turing U (q,q a,q r )(0,1)(0,1, 001 Το πρόγραμμα M Η είσοδος w για το M U = Για είσοδο M, w, Τρέξε την M στην είσοδο w Αν η M αποδεχθεί τη w, αποδέξου. Αν η M απορρίψει τη w, απόρριψε. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-30
31 Αποδοχή από Καθολική ΤΜ U A ΤΜ = { Μ, w η Μ είναι μια ΤΜ που αποδέχεται τη λέξη w} U = Για είσοδο M, w, Τρέξε την M στην είσοδο w M αποδέχεται τη w Mαπορρίπτει τη w Mεγκλωβίζεται στη w U αποδέχεται το M, w U απορρίπτει το M, w U εγκλωβίζεται στο M, w Η TM U αναγνωρίζει αλλά δεν διαγιγνώσκει την A TM ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-31
32 Αναγνώριση Διάγνωση q acc q rej αποδοχή απόρριψη εγκλωβισμός τερματισμός Μια ΤΜ αναγνωρίζει μια γλώσσα αν για κάθε λέξη της γλώσσας οδηγείται σε αποδοχή. Μια TM διαγιγνώσκει μια γλώσσα αν για κάθε λέξη της γλώσσας οδηγείται σε αποδοχή και, επιπλέον, τερματίζει σε κάθε είσοδο (δεν εγκλωβίζεται ποτέ). ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-32
33 Επομένως: Η Γλώσσα Α ΤΜ είναι μη διαγνώσιμη Η ΤΜ U δεν διαγιγνώσκει τη γλώσσα Α ΤΜ. Δεν έχει τρόπο να διαπιστώσει ότι μια ΤΜ Μ μπορεί να εγκλωβιστεί/να μην τερματίσει σε μια λέξη w. Θα δείξουμε ότι τέτοιος τρόπος δεν υπάρχει το πρόβλημα του τερματισμού είναι μη επιλύσιμο. Το Θεώρημα του Turing: ΘΕΩΡΗΜΑ Η γλώσσα Α ΤΜ είναι μη διαγνώσιμη. Η απόδειξη βασίζεται στην τεχνική της διαγωνιοποίησης Επινοήθηκε από τον Μαθηματικό Georg Cantor, 1873 Προσπαθούσε να συγκρίνει τα μεγέθη 2 άπειρων συνόλων ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-33
34 Μέθοδος Διαγωνιοποίησης Πως μπορούμε να ξέρουμε αν δυο πεπερασμένα σύνολα είναι ισομεγέθη; Μετρούμε τα στοιχεία τους Και αν είναι μη πεπερασμένα; Cantor: Αν μπορούμε να συνταιριάξουμε κάθε στοιχείο του ενός με ένα στοιχείο του άλλου ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-34
35 Μέθοδος της Διαγωνιοποίησης Ορισμοί Έστω δύο σύνολα Α και Β και f συνάρτηση από το Α στο Β: Η f είναι μονομορφική ή ένα-προς-ένα αν κάθε ζεύγος ξεχωριστών στοιχείων του Α απεικονίζεται σε δύο ξεχωριστά στοιχεία του Β a b f(a) f(b) Η f είναι επιμορφική ή επί του Β αν χρησιμοποιεί όλα τα στοιχεία του Β για κάθε b υπάρχει a τέτοιο ώστε f(a) =b Δύο σύνολα Α και Β λέγονται ισομεγέθη αν υπάρχει μονομορφική και επιμορφική συνάρτηση f : Α Β που να τα συνδέει. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-35
36 Παράδειγμα 1 Έστω τα σύνολα: N = {1, 2, 3,...} φυσικοί αριθμοί = {2, 4, 6,...} άρτιοι αριθμοί Είναι τα δύο σύνολα ισομεγέθη; Θεωρήστε την αντιστοιχία f(n)=2n από το N στο n f(n) Κάθε στοιχείο του N αντιστοιχεί σε ένα μοναδικό στοιχείο του Άρα τα N και είναι ισομεγέθη!! ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-36
37 Αριθμήσιμα και Υπεραριθμήσιμα Σύνολα ΟΡΙΣΜΟΣ Ένα σύνολο λέγεται αριθμήσιμο αν είναι πεπερασμένο ή ισομέγεθες με το N. ΟΡΙΣΜΟΣ Ένα σύνολο λέγεται υπεραριθμήσιμο αν δεν είναι ούτε πεπερασμένο ούτε ισομέγεθες με το N. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-37
38 Παράδειγμα 2 Έστω το σύνολο R των πραγματικών αριθμών Θεώρημα: Το R είναι υπεραριθμήσιμο Έστω ότι υπάρχει αντιστοιχία f από το N στο R n f(n) Θα κατασκευάσουμε ένα αριθμό x που δεν συνταιριάζεται με κανένα από τους αριθμούς στο N (δεν υπάρχει n, τέτοιο ώστε f(n) = x). Ο x πρέπει να διαφέρει από όλους τους πραγματικούς αριθμούς που έχουν αντιστοιχία ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-38
39 Παράδειγμα 2(συν.) Κατασκευή x: Επιλέγουμε το x μεταξύ [0,1] έτσι ώστε Για το n-οστό δεκαδικό ψηφίο του x επιλέγουμε ένα αριθμό διαφορετικό από το n-οστό ψηφίο του δεκαδικού που αντιστοιχεί στο n: Το 1 ο δεκαδικό ψηφίο του x να διαφέρει από το αντίστοιχο ψηφίο του f(1) Το 2 ο δεκαδικό ψηφίο του x να διαφέρει από το αντίστοιχο ψηφίο του f(2) Για παράδειγμα, αν η f ορίζεται όπως πιο κάτω n f(n) επιλέγουμε x = Άρα ο αριθμός x δεν συμπίπτει με τον αριθμό f(n) για οποιοδήποτε n και επομένως δεν αντιστοιχείται από τη συνάρτηση f. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-39
40 Μη Αναγνωρίσιμες Γλώσσες ΠΟΡΙΣΜΑ Υπάρχουν μη αναγνωρίσιμες γλώσσες. Πλήθος γλωσσών: υπεραριθμήσιμο Πλήθος μηχανών Turing: αριθμήσιμο Παρατήρηση: Κάθε ΤΜ αναγνωρίζει ακριβώς μια γλώσσα Συμπέρασμα: Υπάρχουν γλώσσες που δεν αναγνωρίζονται από καμιά μηχανή Turing ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-40
41 Πρόβλημα του Τερματισμού Απόδειξη A ΤΜ = { Μ, w η Μείναι μια ΤΜ που αποδέχεται τη λέξη w} Θεώρημα: Η γλώσσα Α ΤΜ δεν είναι διαγνώσιμη. Απόδειξη με αντίφαση: Ας υποθέσουμε ότι η γλώσσα Α ΤΜ είναι διαγνώσιμη. Έστω μηχανή Turing Η, η οποία διαγιγνώσκει την Α ΤΜ : Η= Για είσοδο Μ, w, όπου Μ μια ΤΜ και w μια λέξη: Προσομοιώνουμε την Μ για είσοδο w. Αν η Μ μεταβεί στην κατάσταση αποδοχής, αποδεχόμαστε. Αν η Μ δεν αποδέχεται, είτε επειδή έφτασε σε κατάσταση απόρριψης είτε επειδή δεν τερματίζει, απορρίπτουμε. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-41
42 Απόδειξη (συν.) M, w Αποδέξου αν η M αποδέχεται το w H Απόρριψε αν η M δεν αποδέχεται το w Έστω H η ΤΜ που δίνει το αντίθετο αποτέλεσμα από αυτό της H H acc rej H acc rej Απλά, ανταλλάσουμε την κατάσταση αποδοχής με την κατάσταση απόρριψης. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-42
43 Απόδειξη (συν.) M, w H Αποδέξου αν η M δεν αποδέχεται το w Απόρριψε αν η M αποδέχεται το w Έστω D η ακόλουθη TM: D = Για είσοδο Μ, όπου Μ μια ΤΜ : Εκτελούμε την Η για είσοδο M, M. Αν η H μεταβεί στην κατάσταση αποδοχής, αποδεχόμαστε. Αν η H μεταβεί στην κατάσταση απόρριψης, απορρίπτουμε. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-43
44 Απόδειξη (συν.) M D D αν η MD απορρίπτει το M D αποδοχή ή αν η ΜD εγκλωβίζεται στο M D απόρριψη αν η MD αποδέχεται το M D Τι γίνεται αν M = D? Αν η D αποδέχεται το D τότε η D απορρίπτει το D Αν η D απορρίπτει το D τότε η D αποδέχεται το D η H δεν εγκλωβίζεται επομένως ούτε η D εγκλωβίζεται Αντίφαση! ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-44
45 Απόδειξη με αντίφαση Συμπέρασμα απόδειξης Υποθέσαμε ότι η A TM είναι διαγνώσιμη Στη συνέχεια κατασκευάσαμε τις μηχανές Turing H, H, D Όμως η D είναι αδύνατον να υπάρχει! Και επομένως το ίδιο ισχύει για τις Η και Η. Συμπέρασμα: Η γλώσσα Α ΤΜ είναι μη διαγνώσιμη. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-45
46 Διαγωνιοποίηση στην απόδειξη Μπορούμε να αναπαραστήσουμε τη συμπεριφορά όλων των ΤΜ για λέξεις στο {0,1} * μέσω ενός πίνακα (οι τιμές που αναφέρονται είναι ενδεικτικές). Πιθανές είσοδοι w Όλες οι δυνατές Μηχανές Turing M 1 M 2 M 3 acc rej rej acc rej acc loop rej rej loop rej rej Μη πεπερασμένος πίνακας για κάθε ζεύγος (M, w) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-46
47 Διαγωνιοποίηση στην απόδειξη (συν.) M 1 M 2 M 3 M 4 M 1 M 2 M 3 acc loop rej acc rej acc rej acc loop rej loop rej Ας μελετήσουμε τη συμπεριφορά όλων των ΤΜ των οποίων η είσοδος w περιγράφει μια TM. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-47
48 Διαγωνιοποίηση στην απόδειξη (συν.) M 1 M 2 M 3 M 4 M 1 M 2 acc loop rej acc rej acc rej acc D rej rej acc rej Αν η A TM είναι διαγνώσιμη, τότε η TM D θα πρέπει να αναφέρεται στον πίνακα. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-48
49 Διαγωνιοποίηση στην απόδειξη (συν.) M 1 M 2 M 3 M 4 M 1 M 2 acc loop rej acc rej acc rej acc D rej rej acc rej Σε κάθε στήλη, η D πρέπει να έχει αντίθετη τιμή από αυτή που βρίσκεται στην διαγώνιο της ίδιας στήλης. M D αποδοχή αν η M απορρίπτει την M απόρριψη αν η M αποδέχεται την M ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-49
50 Διαγωνιοποίηση στην απόδειξη (συν.) M 1 M 2 M 1 M 2 M 3 M 4 acc loop rej acc rej acc rej acc D loop acc D rej rej acc rej ; Και στη θέση (D, D ); Η θέση αυτή θα πρέπει να έχει τιμή αντίθετη του εαυτού της. Άτοπο! ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-50
51 Μη αναγνωρίσιμες γλώσσες Μια γλώσσα είναι διαγνώσιμη αν υπάρχει μηχανή Turing που να την διαγιγνώσκει. Μια γλώσσα είναι αναγνωρίσιμη αν υπάρχει μηχανή Turing που να την αναγνωρίζει. Μια γλώσσα είναι συμπληρωματικά αναγνωρίσιμη το συμπλήρωμά της είναι αναγνωρίσιμη γλώσσα. Θεώρημα: Μια γλώσσα είναι διαγνώσιμη αν και μόνο αν είναι αναγνωρίσιμη και συμπληρωματικά αναγνωρίσιμη. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-51
52 Μη αναγνωρίσιμες γλώσσες ΘΕΩΡΗΜΑ Αν οι και L είναι αναγνωρίσιμες γλώσσες, τότε η είναι διαγνώσιμη γλώσσα. Ιδέα της απόδειξης w M αποδοχή αν w L απορρ./εγκλ. αν w L αποδοχή w w αποδοχή αν w L M απόρρ./εγκλ. αν w L απόρριψη ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-52
53 Βασική Ιδέα της Απόδειξης Πως κατασκευάζουμε τη μηχανή που διαγιγνώσκει την L; Προσπάθεια 1: Τ = Για είσοδο w 1. Προσομοίωσε την Μ με είσοδο το w. Αν αποδέχεται, αποδέξου. 2. Προσομοίωσε την Μ με είσοδο το w. Αν αποδέχεται, απόρριψε. Πρόβλημα: Αν η Μ εγκλωβιστεί στο w δεν θα μεταβούμε ποτέ στο Βήμα 2! ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-53
54 Βασική Ιδέα της Απόδειξης (συν.) ΘΕΩΡΗΜΑ Αν οι και L είναι αναγνωρίσιμες γλώσσες, τότε η είναι διαγνώσιμη γλώσσα. Μηχανή Turing που διαγιγνώσκει την L: Έστω M μηχανή Turing που αναγνωρίζει την L, και M μηχανή Turing που αναγνωρίζει L Με είσοδο w, while true Εκτέλεσε t μεταβάσεις του Μ στην w. Αν αποδέχεται, αποδέξου. Εκτέλεσε t μεταβάσεις του Μ στην w. Αν αποδέχεται, απόρριψε. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-54
55 Μη αναγνωρίσιμες γλώσσες Η γλώσσα Α ΤΜ είναι αναγνωρίσιμη αλλά δεν είναι διαγνώσιμη. Θεωρείστε το συμπλήρωμα της γλώσσας Α ΤΜ : A TM = { M, w : η M είναι μια TM που δεν αποδέχεται την w} = { M, w : η M απορρίπτει ή εγκλωβίζεται στην w} Από το θεώρημα συμπεραίνουμε ότι: Η γλώσσα Α ΤΜ είναι μη αναγνωρίσιμη. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 8-55
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 15: Διαγνωσιμότητα (Επιλυσιμότητα) ΙΙ
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 15: Διαγνωσιμότητα (Επιλυσιμότητα) ΙΙ Τι θα κάνουμε σήμερα Επιλύσιμα Προβλήματα σχετικά με Ασυμφραστικές Γλώσσες (4.1.2) Το Πρόβλημα του Τερματισμού
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 14: Διαγνωσιμότητα (Επιλυσιμότητα)
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 14: Διαγνωσιμότητα (Επιλυσιμότητα) Τι θα κάνουμε σήμερα Εισαγωγή Επιλύσιμα Προβλήματα σχετικά με τις Κανονικές Γλώσσες (4.1.1) Επιλύσιμα Προβλήματα
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές
Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ανεπίλυτα Προβλήματα από τη Θεωρία Γλωσσών (5.1) To Πρόβλημα της Περάτωσης Το Πρόβλημα της Κενότητα
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { a 2n b n c 3n n 2 } : H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { ww w {a,b}* }. (β) Να διατυπώσετε την τυπική περιγραφή
Διαβάστε περισσότεραΦροντιστήριο 10 Λύσεις
Άσκηση 1 Φροντιστήριο 10 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {0,1} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.
Διαβάστε περισσότεραΦροντιστήριο 9 Λύσεις
Άσκηση 1 Φροντιστήριο 9 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {a,b} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { n 3 } (α) H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την επτάδα Q,
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει την ακόλουθη γλώσσα. { a n b n+2 c n 2 n 2 } Λύση: H ζητούμενη μηχανή Turing μπορεί να
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { D το D είναι ένα DFA το οποίο αποδέχεται όλες τις λέξεις στο Σ * } (α) Για να διαγνώσουμε το πρόβλημα μπορούμε
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {1010 2 10 3 10 n 1 10 n 1 n 1}. (β) Να διατυπώσετε
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {w 1w 2 w 1 {0,1} * και w 2 = 0 k 1 m όπου k και m
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w#z w, z {a,b}* και η z είναι υπολέξη της w}. Συγκεκριμένα,
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w w = (ab) 2m b m (ba) m, m 0 } (β) Να διατυπώσετε
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { Μ η Μ είναι μια ΤΜ η οποία διαγιγνώσκει το πρόβλημα ΙΣΟΔΥΝΑΜΙΑ ΤΜ (διαφάνεια 9 25)} (α) Γνωρίζουμε ότι το
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { ww rev w {a, b} * και w αποτελεί καρκινική λέξη } (α) H ζητούμενη μηχανή
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Επανάληψη Μαθήματος
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Επανάληψη Μαθήματος Το Μάθημα σε μια Διαφάνεια Υπολογιστικά μοντέλα Κανονικές Γλώσσες Ντετερμινιστικά Αυτόματα Μη Ντετερμινιστικά Αυτόματα Κανονικές Εκφράσεις
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 16: Αναγωγές
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 16: Αναγωγές Τι θα κάνουμε σήμερα Το Πρόβλημα του Τερματισμού (4.2) Εισαγωγή στις Αναγωγές Ανεπίλυτα Προβλήματα από την Θεωρία των Γλωσσών (5.1) Απεικονιστικές
Διαβάστε περισσότεραΜια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E.
Οι γλώσσες των Μηχανών Turing Αποφασισιµότητα / Αναγνωρισιµότητα Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L Αποδέχεται όταν (η είσοδος στην TM) w L. Ορέστης Τελέλης telelis@unipi.gr Τµήµα
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { G 1, G 2 οι G 1 και G 2 είναι δύο CFG που παράγουν μια κοινή λέξη μήκους 144 } (β) { D,k το D είναι ένα DFA
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) ({ G η G είναι μια ασυμφραστική γραμματική που δεν παράγει καμιά λέξη με μήκος μικρότερο του 2 } (β) { Μ,w
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { G,k η G είναι μια ασυμφραστική γραμματική η οποία παράγει κάποια λέξη 1 n όπου n k } (β) { Μ,k η Μ είναι
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1)
Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ασυμφραστικές Γραμματικές (2.1) Τυπικός Ορισμός Σχεδιασμός Ασυμφραστικών Γραμματικών
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 7: Ασυμφραστικές Γλώσσες (Γλώσσες Ελεύθερες Συμφραζομένων)
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 7: Ασυμφραστικές Γλώσσες (Γλώσσες Ελεύθερες Συμφραζομένων) Τι θα κάνουμε σήμερα Εισαγωγικά Ασυμφραστικές Γραμματικές (2.1) Τυπικός Ορισμός Της Ασυμφραστικής
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 12: Μηχανές Turing
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 12: Μηχανές Turing Τι θα κάνουμε σήμερα Εισαγωγή στις Μηχανές Turing (TM) Τυπικός Ορισμός Μηχανής Turing (3.1.1) 1 Τι είδαμε μέχρι στιγμής Πεπερασμένα
Διαβάστε περισσότεραΗ NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή.
Μη ντετερµινιστικές Μηχανές Turing - NTMs (1/6) Μηχανές Turing: Μη ντετερµινισµός, Επιλύσιµα Προβλήµατα Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 10 εκεµβρίου 2016
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Πιο κάτω υπάρχει ένα σχεδιάγραμμα που τοποθετεί τις κλάσεις των κανονικών, ασυμφραστικών, διαγνώσιμων και αναγνωρίσιμων γλωσσών μέσα στο σύνολο όλων των γλωσσών. Ακολουθούν
Διαβάστε περισσότεραΑσκήσεις από παλιές εξετάσεις
Άσκηση 2 - Τελική εξέταση 2012 Ασκήσεις από παλιές εξετάσεις (α) [10 μονάδες] Να μετατρέψετε το πιο κάτω NFA σε ένα ισοδύναμο DFA χρησιμοποιώντας την κατασκευή που μελετήσαμε στο μάθημα. a a q 0 a, ε q
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 10: Αυτόματα Στοίβας II
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 10: Αυτόματα Στοίβας II Τι θα κάνουμε σήμερα Ισοδυναμία αυτομάτων στοίβας με ασυμφραστικές γραμματικές (2.2.3) 1 Ισοδυναμία PDA με CFG Θεώρημα: Μια
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)
Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { R η R είναι μια κανονική έκφραση η οποία παράγει μια μη πεπερασμένη γλώσσα} (β) { G η G είναι μια CFG η οποία
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα To Δόγμα Church-Turing
Θεωρία Υπολογισμού και Πολυπλοκότητα To Δόγμα Church-Turing Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Μηχανές Turing (3.1) Τυπικό Ορισμός Παραδείγματα Παραλλαγές Μηχανών Turing (3.2) Πολυταινιακές
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2)
Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Κανονικές Εκφράσεις (1.3) Τυπικός Ορισμός Ισοδυναμία με κανονικές γλώσσες Μη Κανονικές
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων Τι θα κάνουμε σήμερα Εισαγωγή Πολυταινιακές Μηχανές Turing (3.2.1) Μη Ντετερμινιστικές Μηχανές
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)
Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες () Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Πεπερασμένα Αυτόματα (Κεφάλαιο., Sipser) Ορισμός πεπερασμένων αυτομάτων και ορισμός του
Διαβάστε περισσότεραΑσκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1
Ασκήσεις Επανάληψης Άσκηση 1 (Τελική Εξέταση 5/015) Να δείξετε ότι η πιο κάτω γλώσσα δεν είναι διαγνώσιμη. { Μ L(M) {ΘΕΩΡΙΑ, ΥΠΟΛΟΓΙΣΜΟΥ} και L(M) 3} (Για την αναγωγή μπορείτε να χρησιμοποιήσετε τη γνωστή
Διαβάστε περισσότεραΦροντιστήριο 8 Λύσεις
Άσκηση 1 Θεωρήστε την πιο κάτω Μηχανή Turing. Φροντιστήριο 8 Λύσεις Σε κάθε σκέλος, να προσδιορίσετε την ακολουθία των φάσεων τις οποίες διατρέχει η μηχανή όταν δέχεται τη διδόμενη λέξη. (α) 11 (β) 1#1
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 4: Μη Ντετερμινιστικά (Αντιαιτιοκρατικά) Πεπερασμένα Αυτόματα (ΝFA)
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 4: Μη Ντετερμινιστικά (Αντιαιτιοκρατικά) Πεπερασμένα Αυτόματα (ΝFA) Τι θα κάνουμε σήμερα Εισαγωγή στα Μη Ντετερμινιστικά Πεπερασμένα Αυτόματα Τυπικός
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 5: Κανονικές Εκφράσεις
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 5: Κανονικές Εκφράσεις Τι θα κάνουμε σήμερα Κλειστότητα Κανονικών Πράξεων (1.2.3) Εισαγωγή στις Κανονικές Εκφράσεις Τυπικός ορισμός της κανονικής
Διαβάστε περισσότεραCSC 314: Switching Theory
CSC 314: Switching Theory Course Summary 9 th January 2009 1 1 Θέματα Μαθήματος Ερωτήσεις Τι είναι αλγόριθμος? Τι μπορεί να υπολογιστεί? Απαντήσεις Μοντέλα Υπολογισμού Δυνατότητες και μη-δυνατότητες 2
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3)
Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Μη Ασυμφραστικές Γλώσσες (2.3) Λήμμα Άντλησης για Ασυμφραστικές Γλώσσες Παραδείγματα
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητα Ενδιάμεση Εξέταση Ημερομηνία : Παρασκευή, 17 Μαρτίου 2017 Διάρκεια : 9.00 10.30 Διδάσκουσα : Άννα Φιλίππου Ονοματεπώνυμο:
Διαβάστε περισσότεραΑυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6
Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων
Διαβάστε περισσότεραΑυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation
Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation Διδάσκων: Στάθης Ζάχος Επιμέλεια Διαφανειών: Μάκης Αρσένης CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Φεβρουάριος 2017 Διδάσκων: Στάθης Ζάχος ( CoReLab
Διαβάστε περισσότεραΦροντιστήριο 8 Λύσεις
Άσκηση 1 Φροντιστήριο 8 Λύσεις Θεωρήστε την πιο κάτω Μηχανή Turing όπου όλες οι μεταβάσεις που απουσιάζουν οδηγούν στην κατάσταση απόρριψης (q απόρριψης). Σε κάθε σκέλος, να προσδιορίσετε την ακολουθία
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη των Υπολογιστών
Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη των Υπολογιστών
Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 6η ενότητα: Αυτόματα, τυπικές γλώσσες, γραμματικές Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής http://www.corelab.ece.ntua.gr/courses/introcs
Διαβάστε περισσότεραΑυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών. Προδιαγραφές
Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσ.h.m.μ.y. & Σ.Ε.Μ.Φ.Ε. http://www.corelab.ece.ntua.gr/courses/ 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές Στάθης Ζάχος Συνεργασία: Κωστής Σαγώνας Επιμέλεια:
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)
Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές
Διαβάστε περισσότεραΑλγόριθμοι για αυτόματα
Κεφάλαιο 8 Αλγόριθμοι για αυτόματα Κύρια βιβλιογραφική αναφορά για αυτό το Κεφάλαιο είναι η Hopcroft, Motwani, and Ullman 2007. 8.1 Πότε ένα DFA αναγνωρίζει κενή ή άπειρη γλώσσα Δοθέντος ενός DFA M καλούμαστε
Διαβάστε περισσότεραnum(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))
Υπολογισμοί με Μ.Τ. Εστω M = (K, Σ, δ, s, {y, n}) μια Μ.Τ. Κάθε συνολική κατάσταση τερματισμού της οποίας η κατάσταση τερματισμού είναι το y, θα ονομάζεται συνολική κατάσταση αποδοχής, ενώ αν η κατάσταση
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητα Ενδιάμεση Εξέταση Ημερομηνία : Κυριακή, 15 Μαρτίου 2015 Διάρκεια : 15.00 17.00 Διδάσκουσα : Άννα Φιλίππου Ονοματεπώνυμο:
Διαβάστε περισσότεραΣειρά Προβλημάτων 3 Λύσεις
Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) {0 n 1 n n > 0} {0 n 1 2n n > 0} (β) {w {a,b} * η w ξεκινά και τελειώνει με το ίδιο σύμβολο
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα
Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 10. Μηχανές Turing 20,23 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μηχανές Turing: Ένα Γενικό Μοντέλο Υπολογισμού Ποια μοντέλα υπολογισμού μπορούν να δεχθούν γλώσσες
Διαβάστε περισσότεραΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος στη δεύτερη έκδοση
Πρόλογος του επιµελητή xiii Πρόλογος στην πρώτη έκδοση xv Προς τους ϕοιτητές.......................... xv Προς τους διδάσκοντες........................ xvii Ηπρώτηέκδοση........................... xviii
Διαβάστε περισσότεραΑριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί
Αριθμήσιμα σύνολα Μαθηματικά Πληροφορικής 5ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Ορισμός Πόσα στοιχεία έχει το σύνολο {a, b, r, q, x}; Οσα και το σύνολο {,,, 4, 5} που είναι
Διαβάστε περισσότεραΣε αυτό το µάθηµα. Εισαγωγή στις Μηχανές Turing. Μηχανή Turing (Turing Machine - TM) Μηχανές Turing. Παραδείγµατα Μηχανών Turing
Σε αυτό το µάθηµα Εισαγωγή στις Μηχανές Turing Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Παραδείγµατα Μηχανών Turing Παραλλαγές: Πολυταινιακές, Μη ντετερµινιστικές
Διαβάστε περισσότεραf(t) = (1 t)a + tb. f(n) =
Παράρτημα Αʹ Αριθμήσιμα και υπεραριθμήσιμα σύνολα Αʹ1 Ισοπληθικά σύνολα Ορισμός Αʹ11 (ισοπληθικότητα) Εστω A, B δύο μη κενά σύνολα Τα A, B λέγονται ισοπληθικά αν υπάρχει μια συνάρτηση f : A B, η οποία
Διαβάστε περισσότεραΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ
ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 11: Καθολική μηχανή Turing Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως
Διαβάστε περισσότεραΘεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος
Περιγραφή μαθήματος Θεωρία Υπολογισμού Άρτιοι ΑΜ Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας (Θεωρία Αλγορίθμων). Διδάσκων: Σταύρος Κολλιόπουλος
Διαβάστε περισσότεραΘεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr
Θεωρία Υπολογισμού Άρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr Περιγραφή μαθήματος Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας
Διαβάστε περισσότεραΣειρά Προβλημάτων 1 Λύσεις
ΕΠΛ: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Θεωρείστε τις γλώσσες Α = { n n } και Β = {w η w είναι λέξη επί του αλφαβήτου {,} τ.ώ. w }. (α) Για κάθε μια από τις πιο κάτω γλώσσες
Διαβάστε περισσότεραΚανονικές Γλώσσες. ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Κανονικές Γλώσσες ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Κανονικές Γλώσσες Κανονική γλώσσα αν
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα
Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 12. Θεωρία Υπολογισιμότητας 30Μαρτίου, 17 Απριλίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Θέση Church-Turing Τι μπορεί να υπολογιστεί και τι δεν μπορεί να υπολογιστεί?
Διαβάστε περισσότεραΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ
ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 8: Ιδιότητες Γραμματικών χωρίς Συμφραζόμενα Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΆδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 24: Μη Ντεντερμινιστικές Μηχανές Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως
Διαβάστε περισσότεραΣειρά Προβλημάτων 3 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { a m b n c p m,n,p 0 και είτε m + n = p είτε m = n + p } (β) { xx rev yy rev x, y {a,b}
Διαβάστε περισσότερα10.1 Υπολογίσιμες συναρτήσεις και αναδρομικά σύνολα
Κεφάλαιο 10 Υπολογισιμότητα Κύρια βιβλιογραφική αναφορά για αυτό το Κεφάλαιο είναι η Hopcroft, Motwani, and Ullman 2007. 10.1 Υπολογίσιμες συναρτήσεις και αναδρομικά σύνολα Μέχρι στιγμής έχουμε δει ουσιαστικά
Διαβάστε περισσότεραΣειρά Προβλημάτων 3 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { a k b m c n k < m ή m > 2n, όπου k,m,n 0 } Μια γραμματική για τη γλώσσα έχει ως εξής:
Διαβάστε περισσότεραΣειρά Προβλημάτων 3 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { a i b j c k d m i, j, k, m 0 και i + j = k + m } (β) { uxvx rev u,v,x {0,1,2} + και όλα
Διαβάστε περισσότεραΠολλοί τρόποι περιγραφής αλγορίθμων. Όλοι είναι μηχανιστικά ισοδύναμοι και ειδικά ισοδύναμοι με μερικές αναδρομικές συναρτήσεις.
Θέση Church-Turing I Πολλοί τρόποι περιγραφής αλγορίθμων. Όλοι είναι μηχανιστικά ισοδύναμοι και ειδικά ισοδύναμοι με μερικές αναδρομικές συναρτήσεις Θέση Church-Turing: Όλες οι υπολογίσιμες συναρτήσεις
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητα Ενδιάμεση Εξέταση Ημερομηνία : Σάββατο, 15 Μαρτίου 2014 Διάρκεια : 9.30 11.30 Διδάσκουσα : Άννα Φιλίππου Ονοματεπώνυμο:
Διαβάστε περισσότεραΚανονικές Γλώσσες. Κανονικές Γλώσσες. Κανονικές Γλώσσες και Αυτόματα. Κανονικές Γλώσσες και Αυτόματα
Κανονικές Γλώσσες Κανονικές Γλώσσες Διδάσκοντες: Φ. Αφράτη, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Κανονική γλώσσα αν παράγεται από κανονική γραμματική. Παραγωγές P (V Σ) Σ * ((V Σ) ε) Παραγωγές μορφής:
Διαβάστε περισσότεραChapter 7, 8 : Time, Space Complexity
CSC 314: Switching Theory Chapter 7, 8 : Time, Space Complexity 12 December 2008 1 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτεμπορούμεναπεριγράψουμεμεένααλγόριθμο μπορεί να
Διαβάστε περισσότεραΣύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata
Σύνοψη Προηγούµενου Γλώσσες χωρίς Συµφραζόµενα (2) Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Αυτόµατα Στοίβας Pushdown utomata Ισοδυναµία µε τις Γλώσσες χωρίς Συµφραζόµενα:
Διαβάστε περισσότεραΛύσεις 4ης Σειράς Ασκήσεων
Λύσεις 4ης Σειράς Ασκήσεων Άσκηση 1 Αναγάγουμε τν Κ 0 που γνωρίζουμε ότι είναι μη-αναδρομική (μη-επιλύσιμη) στην γλώσσα: L = {p() η μηχανή Turing Μ τερματίζει με είσοδο κενή ταινία;} Δοσμένης της περιγραφής
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 3: Ντετερμινιστικά Πεπερασμένα Αυτόματα (DFA)
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 3: Ντετερμινιστικά Πεπερασμένα Αυτόματα (DFA) Τι θα κάνουμε σήμερα Εισαγωγή στα Ντετερμινιστικά Πεπερασμένα Αυτόματα 14-Sep-11 Τυπικός Ορισμός Ντετερμινιστικών
Διαβάστε περισσότεραΣειρά Προβλημάτων 3 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { w {(, )} * οι παρενθέσεις στην w είναι ισοζυγισμένες } (β) { a k b m c 2m a k k > 0,
Διαβάστε περισσότεραΕλληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 8 : Αυτόματα NFA - DFA. Αλέξανδρος Τζάλλας
Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Θεωρία Υπολογισμού Ενότητα 8 : Αυτόματα NFA - DFA Αλέξανδρος Τζάλλας 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 11: Μη Ασυμφραστικές Γλώσσες
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 11: Μη Ασυμφραστικές Γλώσσες Τι θα κάνουμε σήμερα Εισαγωγικά (2.3) Το Λήμμα της Άντλησης για ασυμφραστικές γλώσσες (2.3.1) Παραδείγματα 1 Πότε μια
Διαβάστε περισσότεραΑποφασισιµότητα / Αναγνωρισιµότητα. Μη Επιλύσιµα Προβλήµατα. Η έννοια της αναγωγής. Τερµατίζει µια δεδοµένη TM για δεδοµένη είσοδο;
Αποφασισιµότητα / Αναγνωρισιµότητα Ορέστης Τελέλης telelis@unipi.gr Μη Επιλύσιµα Προβλήµατα Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 2/12/2015 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Αποφασισιµότητα 2/12/2015
Διαβάστε περισσότεραΠοιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί);
Μοντελοποίηση του Υπολογισµού Στοιχεία Θεωρίας Υπολογισµού (): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ποιές οι θεµελιώδεις δυνατότητες
Διαβάστε περισσότεραΣτοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές
Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 1 /
Διαβάστε περισσότεραΆδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 21: Υπολογισμοί ΜΤ - Αναδρομικές Γλώσσες Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα Τι θα κάνουμε σήμερα Εισαγωγικά Χρονική Πολυπλοκότητα (7) Κλάση P (7.2) Κλάση ΝΡ (7.3) ΝΡ-πληρότητα (7.4) Χωρική
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 9: Αυτόματα Στοίβας (Pushdown Automata - PDA)
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 9: Αυτόματα Στοίβας (Pushdown Automata - PDA) Τι θα κάνουμε σήμερα Εισαγωγή στα Αυτόματα Στοίβας Τυπικός Ορισμός Αυτομάτου Στοίβας (2.2.1) Παραδείγματα
Διαβάστε περισσότεραΦροντιστήριο 11 Λύσεις
Άσκηση 1 Φροντιστήριο 11 Λύσεις Να αποδείξετε ότι η κλάση Ρ είναι κλειστή ως προς τις πράξεις της ένωσης, της συναρμογής και του συμπληρώματος. Θα πρέπει να δείξουμε ότι: (α) Ένωση: Αν οι Λ 1 και Λ 2 είναι
Διαβάστε περισσότεραΣημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης
Σημειώσεις Λογικής I Εαρινό Εξάμηνο 2011-2012 Καθηγητής: Λ. Κυρούσης 2 Τελευταία ενημέρωση 28/3/2012, στις 01:37. Περιεχόμενα 1 Εισαγωγή 5 2 Προτασιακή Λογική 7 2.1 Αναδρομικοί Ορισμοί - Επαγωγικές Αποδείξεις...................
Διαβάστε περισσότεραΆδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 13: Ελαχιστοποίηση αυτομάτων Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα
Θεωρία Υπολογισμού και Πολυπλοκότητα Κλάσεις P, NP NP-πληρότητα 15 Απριλίου 2008 Δρ. Παπαδοπούλου Βίκη 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτε μπορούμε να περιγράψουμε με
Διαβάστε περισσότεραΔιακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Διαβάστε περισσότεραΣειρά Προβλημάτων 3 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { xyxy rev x {a, b}, y {a, b} * } (α) Μια γραμματική για τη γλώσσα έχει ως εξής: S as a
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 1: Μαθηματικό Υπόβαθρο
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 1: Μαθηματικό Υπόβαθρο Τι θα κάνουμε σήμερα Εισαγωγικά (0.1) Σύνολα (0.2.1, 0.2.2) Συναρτήσεις & Σχέσεις (;;) (0.2.3) 1 Περιοχές που θα μελετήσουμε
Διαβάστε περισσότεραΥπολογίσιμες Συναρτήσεις
Υπολογίσιμες Συναρτήσεις Σ Π Υ Ρ Ι Δ Ω Ν Τ Ζ Ι Μ Α Σ Δ Τ Ο Μ Ε Α Σ Τ Μ Η Μ Α Μ Α Θ Η Μ Α Τ Ι Κ Ω Ν Σ Χ Ο Λ Η Θ Ε Τ Ι Κ Ω Ν Ε Π Ι Σ Τ Η Μ Ω Ν Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Ι Ω Α Ν Ν Ι Ν Ω Ν Υπολογίσιμες Συναρτήσεις
Διαβάστε περισσότεραΣειρά Προβλημάτων 3 Λύσεις
Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { xyw 1w 2 x, y {a, b}, w 1 = a n, w 2 = b 2n, όπου, αν x=y=a, τότε n = 2k, διαφορετικά
Διαβάστε περισσότεραΆδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Cretive Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπ
Θεωρία Υπολογισμού Ενότητα 11: Κλειστότητα, ΠΑ & καν. εκφράσεις Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Cretive Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Διαβάστε περισσότεραΜη επιλυσιμότητα I. Απόδειξη. Ορίζουμε # # =
Μη επιλυσιμότητα I Θεώρημα Το TOT (πρόβλημα ολικής συνάρτησης) είναι μη επιλύσιμο, δηλαδή η f δεν είναι αναδρομική όπου: 1, αν φ x είναι ολική f(x) = 0, αλλιώς Απόδειξη. Ορίζουμε h(x) = φ x (x) + 1, αν
Διαβάστε περισσότεραΣύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2): Αυτόµατα Στοίβας. Παραδείγµατα Σχεδιασµού CFG. Παράδειγµα 1.
Σύνοψη Προηγούµενου Γλώσσες χωρίς Συµφραζόµενα 2): Αυτόµατα Στοίβας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Μη Κανονικές Γλώσσες Το Λήµµα της Αντλησης για τις
Διαβάστε περισσότεραΠεριεχόμενα ΜΤ Τυχαίας Προσπέλασης Θεωρία Υπολογισμού Ενότητα 23: Μηχανές Turing Τυχαίας Προσπέλασης Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ.
Θεωρία Υπολογισμού Ενότητα 23: Μηχανές Turing Τυχαίας Προσπέλασης Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως
Διαβάστε περισσότεραΣειρά Προβλημάτων 3 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { x x η τιμή της αριθμητικής έκφρασης 10 2n + 10 n + 1, n 1} (β) { a i b j c k d m i, j,
Διαβάστε περισσότερα