Θεωρία Υπολογισμού και Πολυπλοκότητα To Δόγμα Church-Turing
|
|
- Ηιονη Κουρμούλης
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Θεωρία Υπολογισμού και Πολυπλοκότητα To Δόγμα Church-Turing Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Μηχανές Turing (3.1) Τυπικό Ορισμός Παραδείγματα Παραλλαγές Μηχανών Turing (3.2) Πολυταινιακές Μηχανές Turing Μη ντετερμινιστικές Μηχανές Turing ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-1
2 To Δόγμα των Church-Turing Αν υπάρχει κάποια μέθοδος (αλγόριθμος) μέσω της οποίας μπορούμε να διεκπεραιώσουμε κάποιο υπολογισμό, τότε ο ίδιος υπολογισμός μπορεί να διεκπεραιωθεί μέσω μιας μηχανής Turing (ή μέσω μιας συνάρτησης διατυπωμένης στο λ-calculus ή μέσω μίας αναδρομικής συνάρτησης). Alonzo Church ( ) Alan Turing ( ) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-2
3 Τι είναι ένας υπολογιστής; Ένας υπολογιστής είναι μια μηχανή η οποία επεξεργάζεται την είσοδό της σύμφωνα με μια ακολουθία από εντολές. πρόγραμμα είσοδος υπολογιστής έξοδος ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-3
4 Υπολογιστικά μοντέλα που έχουμε μελετήσει Πεπερασμένα Αυτόματα Το πιο απλό υπολογιστικό μοντέλο Πεπερασμένη μνήμη Αυτόματα στοίβας Άπειρη μνήμη προσπελάσιμη μόνο ως στοίβα Και οι δύο πιο πάνω μηχανές αδυνατούν να διεκπεραιώσουν πολύ απλές εργασίες Δεν μπορούν να χρησιμοποιηθούν ως μοντέλα υπολογιστών γενικής χρήσης ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-4
5 Μηχανές Turing (Turing Machine, TM) Μηχανή Turing (Alan Turing 1936) Πολύ πιο ισχυρό μοντέλο Διαθέτει άπειρη μνήμη Μπορεί να την προσπελάσει χωρίς περιορισμούς Μπορεί να κάνει ακριβώς ότι και ένας υπολογιστής Εξακολουθούν να υπάρχουν προβλήματα που δεν μπορεί να επιλύσει Αυτά τα προβλήματα βρίσκονται πέρα από τα όρια των υπολογιστικών δυνατοτήτων ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-5
6 Σύγκριση ΤΜ με DFA και PDA Σχηματική αναπαράσταση πεπερασμένου αυτόματου Ελεγκτής: Καταστάσεις και Μεταβάσεις Καταστάσεων Ταινία: Λέξη Εισόδου Βέλος : Κεφαλή Εισόδου ελεγκτής καταστάσεων a a b b είσοδος Ο ελεγκτής διαβάζει το επόμενο σύμβολο και βάσει αυτού καθορίζει την επόμενη κατάσταση του αυτομάτου. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-6
7 Σύγκριση ΤΜ με DFA και PDA Σχηματική Αναπαράσταση πεπερασμένου αυτόματου στοίβας Ελεγκτής: Καταστάσεις και Μεταβάσεις Καταστάσεων Ταινία: Λέξη Εισόδου Βέλος : Κεφαλή Εισόδου Στοίβα: Εγγραφή και διάβασμα συμβόλων ελεγκτής καταστάσεων x y z στοίβα a a b b είσοδος Ο ελεγκτής διαβάζει (1) το επόμενο σύμβολο και (2) το στοιχείο στην κορυφή της στοίβας και, βάσει αυτής της δυάδας, αποφασίζει ποια θα είναι η επόμενη κατάσταση. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-7
8 Σύγκριση ΤΜ με DFA και PDA Σχηματική αναπαράσταση Μηχανής Turing Ελεγκτής: Καταστάσεις και Μεταβάσεις Καταστάσεων Καταστάσεις αποδοχής και απόρριψης Αν δεν φτάσουμε σε αποδοχή ή απόρριψη η ΤΜ δεν τερματίζει Ταινία: Άπειρη Αρχικά περιέχει λέξη εισόδου και σύμβολα διαστήματος στις υπόλοιπες θέσεις Βέλος : Κεφαλή Εισόδου Μετακινείται δεξιά και αριστερά Δυνατότητα εγγραφής και ανάγνωσης ελεγκτής καταστάσεων a a b b είσοδος κενά ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-8
9 Παράδειγμα L 1 = {w#w: w {a, b}*} Στρατηγική Διάβασε το πρώτο σύμβολο Διάγραψε το σύμβολο που διάβασες (x) Διάβασε το πρώτο σύμβολο μετά από το # Αν τα δύο σύμβολα που διάβασες δεν είναι όμοια τότε απόρριψε τη λέξη Διαφορετικά, διάγραψε και το δεύτερο σύμβολο abbaa#abbaa xbbaa#abbaa xbbaa#abbaa xbbaa#xbbaa Στο τέλος πρέπει να υπάρχουν μόνο x και #. Αν όχι, απορρίπτουμε. Διαφορετικά αποδεχόμαστε. xxxxx#xxxxx ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-9
10 Λειτουργία Μηχανών Turing Παρούσα κατάσταση a b,α q 1 q 2 a b a Από την κατάσταση q 1 αν το επόμενο γράμμα είναι a, τότε το αντικαθιστούμε με b, και μετακινούμαστε στη ταινία μια θέση προς τα αριστερά. Νέα κατάσταση a b,α q 1 q 2 a b b ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-10
11 Τυπικός ορισμός ΤΜ ΟΡΙΣΜΟΣ Μηχανή Turing είναι μια επτάδα Q, Σ, Γ, δ,,, 1. Το Q είναι ένα πεπερασμένο σύνολο καταστάσεων 2. Το είναι το αλφάβητο εισόδου, που δεν περιέχει το σύμβολο διαστήματος 3. Το Γ είναι το αλφάβητο ταινίας, με Γ, Σ Γ 4. Η συνάρτηση μετάβασης δ: (Q {q acc, q rej }) Q Γ {Α, Δ} 5. q o Q είναι η εναρκτήρια κατάσταση 6. q acc Q είναι η κατάσταση αποδοχής 7. q rej Q είναι η κατάσταση απόρριψης, με q rej q acc Σημείωση: Οι μηχανές Turing είναι ντετερμινιστικές ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-11
12 Πως υπολογίζει μια ΤΜ Μια ΤΜ υπολογίζει ως εξής: Με δεδομένο εισόδου μια λέξη w αρχικά: Η λέξη w καταχωρείται στις αρχικές θέσεις της ταινίας Η κεφαλή τοποθετείται στην αριστερότερη θέση Το υπόλοιπο της ταινίας περιέχει το σύμβολο Το πρώτο σηματοδοτεί το τέλος της λέξης εισόδου Στη συνέχεια Η μηχανή ακολουθεί τις μεταβάσεις Συνεχίζουμε μέχρι να φτάσουμε σε κατάσταση αποδοχής ή απόρριψης. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-12
13 Λειτουργία μιας μηχανής Turing Κατά την εκτέλεση μιας μετάβαση σε μια ΤΜ, αλλάζουν: Η κατάσταση στην οποία βρίσκεται η μηχανή Το περιεχόμενο της ταινίας Η θέση της κεφαλής Κάθε συνδυασμός για αυτές τις τρεις οντότητες ονομάζεται φάση της μηχανής. Αναπαριστούμε μια φάση γράφοντας τα μη-κενά γράμματα της ταινίας παρεμβάλλοντας την κατάσταση του αυτομάτου αριστερά από το σημείο που βρίσκεται η κεφαλή. Π.χ. Η φάση 1011q01111 αναπαριστά την κατάσταση όπου Το αυτόματο βρίσκεται στην κατάσταση q H ταινία έχει περιεχόμενο Και η κεφαλή βρίσκεται στο δεύτερο 0 ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-13
14 Παράδειγμα Φάσης Φάση q 1 a b a abq 1 a q 1 a b,δ q acc q acc a b b abbq acc ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-14
15 Φάσεις Μια φάση Φ 1 αποδίδει μια φάση Φ 2 αν μπορούμε να μεταβούμε από την Φ 1 στη Φ 2 με ένα μόνο βήμα η ua q i bv αποδίδει την u q j acv αν υπάρχει μετάβαση δ(q i, b) = (q j, c, A) Εναρκτήρια φάση για είσοδο w: q 0 w Αποδεκτική φάση: Η μηχανή βρίσκεται στην κατάσταση αποδοχής Απορριπτική φάση: Η μηχανή βρίσκεται στην κατάσταση απόρριψης Τερματικές φάσεις: αποδεκτική και απορριπτική ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-15
16 Γλώσσα μιας Μηχανής Turing Μια ΤΜ Μ αποδέχεται τη λέξη x αν υπάρχει μια ακολουθία φάσεων Φ 0, Φ 1,..., Φ k όπου Φ 0 αρχική Φ i αποδίδει Φ i+1 Φ k φάση αποδοχής L(M) η γλώσσα της Μ (Μ αναγνωρίζει την L): L = σύνολο των λέξεων που αποδέχεται η Μ ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-16
17 Εγκλωβισμός Οι Μηχανές Turing δυνατόν να εμφανίσουν ένα ασυνήθιστο φαινόμενο,δ q 0 q acc q rej = {0, 1} Είσοδος: ε Η μηχανή δεν τερματίζει ποτέ Για οποιαδήποτε είσοδο υπάρχουν τρεις περιπτώσεις: q acc q rej αποδοχή απόρριψη εγκλωβισμός ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-17
18 Αναγνωρίσιμες και Διαγνώσιμες Γλώσσες ΟΡΙΣΜΟΣ Μια γλώσσα λέγεται κατά Turing αναγνωρίσιμη (ή αναδρομικά απαριθμίσιμη) αν υπάρχει μηχανή Turing που την αναγνωρίζει, δηλαδή, που αποδέχεται όλες τις λέξεις που ανήκουν στην γλώσσα. ΟΡΙΣΜΟΣ Μια γλώσσα λέγεται κατά Turing διαγνώσιμη (ή αναδρομική) αν υπάρχει μηχανή Turing που την διαγιγνώσκει, δηλαδή, που τερματίζει σε κάθε λέξη είτε αποδέχοντας είτε απορρίπτοντας την λέξη. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-18
19 Παράδειγμα 1 Να δώσετε μηχανή Turing που να αναγνωρίζει τη γλώσσα L 1 = {w#w w {a, b}*} Περιγραφή Μηχανής: 1 Μέχρι να συναντήσεις το σύμβολο # 2 Διάβασε το επόμενο σύμβολο 3 Γράψε x στη θέση του 4 Μετακινήσου δεξιά πέραν του # και όλων των x 5 Αν το σύμβολο διαφέρει από αυτό που διαβάστηκε, απόρριψε τη λέξη Διαφορετικά 6 Γράψε x 7 Μετακινήσου αριστερά πέραν του # και σταμάτα δεξιά από το τελευταίο x 8 Αν βλέπεις μόνο x να ακολουθούνται από xbbaa#xbbaa xxbaa#xbbaa xxbaa#xbbaa xxbaa#xxbaa xxbaa#xxbaa, αποδέξου τη λέξη ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-19
20 Παράδειγμα 1 (συν.) a a,δ b b,δ x x,δ q 0 # #R 1 q a1 x x,δ q 1 8 # #,Δ 4,Δ q a2 q acc x x,a q 2 # #,A 7 a a,a b b,a q 3 q rej Ότι λείπει q b1 4 # #,Δ q b2 a a,δ b b,δ x x,δ x x,δ ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-20
21 Παράδειγμα 1 (συν.) q 0 # #R 1 a a,δ b b,δ q a1 q 1 # #,Δ x x,δ,δ 8 4 x x,δ q a2 q acc x x,a q 2 # #,A 7 a a,a b b,a q 3 Είσοδος: aab#aab Φάσεις: q 0 aab#aab xq a1 ab#aab xaq a1 b#aab xabq a1 #aab xab#q a2 aab xabq 2 #xab q b1 a a,δ b b,δ 4 # #,Δ q b2 x x,δ x x,δ xaq 3 b#xab xq 3 ab#xab q 3 xab#xab xq 0 ab#xab ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-21
22 Παράδειγμα 2 Να δώσετε μηχανή Turing που να αναγνωρίζει τη γλώσσα L 2 ={w w έχει το ίδιο πλήθος από 0 και 1} Βασική Ιδέα TM: Για κάθε 0: Διέγραψε το 0 Εντόπισε ένα 1 Αν δεν βρεις απέρριψε τη λέξη Διαφορετικά διέγραψε το 1 Αν έχουν μείνει 1 απέρριψε τη λέξη, διαφορετικά αποδέξου τη λέξη x01001 x01001 x0x x0x001 xxx00x xxx001 xxxx0x xxx001 Απόρριψη! xxx00x ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-22
23 Παράδειγμα 2(συν.) Υλοποίηση της Ιδέας: Αν η είσοδος είναι το ε αποδέξου Για κάθε a: Προχώρησε δεξιά μέχρι να βρεις το πρώτο 0 Αν δεν βρεις προχώρησε στο Βήμα 7 Αντικατάστησε το 0 με x Επέστρεψε στην αρχή της ταινίας. Πως;; Προχώρησε δεξιά μέχρι να βρεις το πρώτο 1 Αν δεν βρεις απέρριψε τη λέξη Διαφορετικά αντικατάστησε το 1 με x Επέστρεψε στην αρχή της ταινίας και επανάλαβε από το Βήμα 2 Αν έχουν μείνει 1 απέρριψε τη λέξη, διαφορετικά αποδέξου τη λέξη x01001 x01001 x01001 x0x001 x0x001 ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-23
24 Παράδειγμα 2 (συν.) Λεπτομέρειες Υλοποίησης: Για τη μετακίνηση της κεφαλής στην πρώτη θέση της ταινίας Σημαδεύουμε το πρώτο σύμβολο της ταινίας Και διατηρούμε το σημάδι αυτό ακόμη και όταν το σύμβολο αυτό «διαγραφεί» (αντικατασταθεί από το x) Σ = {0,1} Γ = {0,1,x,0,1,x} ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-24
25 Παράδειγμα 3 Να δώσετε μηχανή Turing που να αναγνωρίζει τη γλώσσα L 3 = {a i b j c k i j = k και i, j, k > 0 } Βασική Ιδέα TM: aabbcccc Για κάθε a: Σημάδεψε όλα τα b και τον ίδιο αριθμό από c Επανάφερε όλα τα b αλλά όχι τα c Διέγραψε το a aabbcccc aabbcccc aabbcccc aabbcccc aabbcccc aabbcccc aabbcccc aabbcccc Αν όλα τα a και τα c έχουν διαγραφεί, αποδέξου τη λέξη. Σ = {a, b, c} Γ = {a, b, c, a, b, c, } ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-25
26 Υλοποίηση της ιδέας: Παράδειγμα 3(συν.) Ξεκινώντας διαβάζουμε τη λέξη μας για να ελέγξουμε ότι έχει τη ζητούμενη μορφή aa * bb * cc * Επιστρέφουμε στην αρχή της ταινίας. Πως;; Για κάθε a: Σημάδεψε όλα τα b και τον ίδιο αριθμό από c. Πως;; Επανάφερε όλα τα b αλλά όχι τα c Διέγραψε το a Αν όλα τα a και τα c έχουν διαγραφεί, αποδέξου τη λέξη. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-26
27 Παράδειγμα 3 (συν.) Λεπτομέρειες Υλοποίησης: aabbcccc Για τη μετακίνηση της κεφαλής στην πρώτη θέση της ταινίας Σημαδεύουμε το πρώτο σύμβολο της ταινίας aabbcccc Για την διαγραφή όλων των b και του ίδιο αριθμό από c. Αντικατάστησε το πρώτο b με b Εντόπισε το πρώτο c Αντικατέστησε το c με c Μετακινήσου αριστερά στην πρώτη θέση μετά από τα b Αν υπάρχουν και άλλα b επανέλαβε τη διαδικασία Σ = {a, b, c} Γ = {a, b, c, a, b, c, a, a, } aaqbbcccc aabqbcccc aabbqcccc aabqbcccc aabbqcccc aabbcqccc aabbqcccc ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-27
28 Παράδειγμα 4 Να δώσετε μηχανή Turing που να αναγνωρίζει τη γλώσσα L 4 = {#x 1 #x 2...#x l x i {0, 1}* και x i x j για κάθε i j} Βασική Ιδέα της ΤΜ #01#0011#1 Για κάθε είσοδο w, Για κάθε ζεύγος τμημάτων x i και x j στο w, Συγκρίνουμε τα τμήματα x i και x j Αν είναι τα ίδια, απορρίπτουμε. Διαφορετικά αποδεχόμαστε. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-28
29 Υλοποίηση της Ιδέας: Παράδειγμα 4 (συν.) #01#0011#1 0. Αν η είσοδος είναι το ε ή το #, αποδέξου Σημάδεψε το πρώτο #, δηλαδή αντικατάστησε το # με #, και μετακινήσου δεξιά Σημάδεψε το επόμενο μη-σημαδεμένο #. Αν δεν υπάρχουν άλλα τέτοια # τότε αποδέξου τη λέξη. Σύγκρινε τις συμβολοσειρές δεξιά από τα #. Αν είναι οι ίδιες απέρριψε. Επέστρεψε στο Βήμα 3 4. Σημάδεψε το επόμενο # δεξιά από το δεξιό # Αν δεν υπάρχει άλλο # τότε μετακίνησε το πρώτο # δεξιά στο επόμενο # και το δεύτερο # στο αμέσως επόμενο #. Αν δεν είναι εφικτό αποδέξου. #01#0011#1 #01#0011#1 #01#0011#1 #01#0011#1 #01#0011#1 ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-29
30 Συνέχεια Παραδείγματος: Παράδειγμα 4 (συν.) 3. Σύγκρινε τις συμβολοσειρές δεξιά από τα #. Αν είναι οι ίδιες απέρριψε. 4. Σημάδεψε το επόμενο # δεξιά από το δεξιό # Αν δεν υπάρχει άλλο # τότε μετακίνησε το πρώτο # δεξιά στο επόμενο # και το δεύτερο # στο αμέσως επόμενο #. Αν δεν είναι εφικτό αποδέξου. #01#0011#1 #01#0011#1 Αποδοχή! ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-30
31 Πως παρουσιάζουμε τις Μηχανές Turing; Σε αντίθεση με τα DFA, NFA, PDA, σπάνια παρουσιάζουμε πλήρη συστήματα μεταβάσεων για TM. Πραγματική χρήση μηχανών Turing Ακριβές μοντέλο για τον ορισμό αλγορίθμων Δυνατότητα να αναγνωρίζουμε αν ένα πρόβλημα είναι επιλύσιμο Πως περιγράφουμε ένα αλγόριθμο; Τυπική Περιγραφή: Αναλυτική παράθεση των καταστάσεων της μηχανής, των μεταβάσεων, κτλ. Λεπτομερής Περιγραφή: Τρόπος που κινεί η μηχανή την κεφαλή της και πως αποθηκεύει στην ταινία της δεδομένα Περιγραφή Υψηλού Επιπέδου: Περιγραφή αλγορίθμου χωρίς να αναφερθούμε στον τρόπο διαχείρισης της ταινίας ή της κεφαλής. Συνήθως παρουσιάζουμε μια ΤΜ μέσω μιας περιγραφής σε ψηλό επίπεδο. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-31
32 Περιγραφή μηχανών Turing Είσοδος μηχανής: πάντοτε μια ΛΕΞΗ Κωδικοποίηση: Μετατροπή οποιουδήποτε αντικειμένου σε λέξη Συμβολισμός κωδικοποίησης αντικειμένου Ο: <Ο> Συμβολισμός κωδικοποίησης έκφρασης Ο 1,Ο 2,..,Ο k : <Ο 1,Ο 2,...,Ο k > Περιγραφή αλγορίθμου με μηχανή Turing Είσοδος στην πρώτη γραμμή w: αν η είσοδος είναι μια λέξη <Α>: αν η είσοδος είναι κωδικοποίηση του αντικειμένου Περιγραφή σταδίων και βημάτων του υπολογισμού της μηχανής ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-32
33 Παράδειγμα 5 Να δώσετε μηχανή Turing που να αναγνωρίζει τη γλώσσα L 5 = { G : G ένα συνεκτικό ακατεύθυντο γράφημα} Πως κωδικοποιούμε ένα γράφο;; Ως μια λέξη! Παράδειγμα: 1 2 (1,2,3,4)((1,4),(2,3),(3,4)(4,2)) Μέθοδος: (κορυφές)(ακμές) 3 4 καμιά κορυφή δεν πρέπει να επαναλαμβάνεται οι ακμές είναι ζεύγη:(κορυφή 1,κορυφή 2 ) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-33
34 Για είσοδο G : Παράδειγμα 5 (συν.) Περιγραφή Υψηλού Επιπέδου της ΤΜ 0. Επιβεβαίωσε ότι η είσοδος G περιγράφει ένα γράφο (όχι επανάληψη κορυφών, οι ακμές αναφέρονται σε κορυφές) 1. Σημάδεψε την πρώτη κορυφή του G 2. Επανάλαβε μέχρι να μην μπορείς να σημαδέψεις καινούριες κορυφές : x x Για κάθε κορυφή, σημάδεψέ την αν συνδέεται 1 2 μέσω ακμής με μία ήδη σεσημασμένη κορυφή x x Αν όλες οι κορυφές έχουν σημαδευτεί αποδέξου, διαφορετικά απέρριψε. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-34
35 Παράδειγμα 5 (συν.) (1,2,3,4)((1,4)(2,3)(3,4)(4,2)) (1,2,3,4)((1,4)(2,3)(3,4)(4,2)) (1,2,3,4)((1,4)(2,3)(3,4)(4,2)) (1,2,3,4)((1,4)(2,3)(3,4)(4,2)) (1,2,3,4)((1,4)(2,3)(3,4)(4,2)) (1,2,3,4)((1,4)(2,3)(3,4)(4,2)) (1,2,3,4)((1,4)(2,3)(3,4)(4,2)) (1,2,3,4)((1,4)(2,3)(3,4)(4,2)) (1,2,3,4)((1,4)(2,3)(3,4)(4,2)) (1,2,3,4)((1,4)(2,3)(3,4)(4,2)) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-35
36 Παραλλαγές των Μηχανών Turing Διάφοροι εναλλακτικοί ορισμοί των ΤΜ Πολυταινιακές Μη ντετερμινιστικές Όλες οι παραλλαγές είναι ισοδύναμες με το αυθεντικό μοντέλο Αναγνωρίζουν την ίδια κλάση γλωσσών Το μοντέλο είναι ευσταθές Πως αποδεικνύουμε ότι δυο μοντέλα είναι ισοδύναμα; Προσομοιώνουμε το ένα μέσω του άλλου Παράδειγμα: Έστω η παραλλαγή των ΤΜ όπου δ: (Q {q acc, q rej }) Q Γ {Α, Δ, Σ} όπου το Σ συμβολίζει τη δυνατότητα η κεφαλή να μείνει στάσιμη κατά την εκτέλεση μιας μετάβασης. Η παραλλαγή αυτή μπορεί να προσομοιωθεί από την αυθεντική ΤΜ και αντίστροφα. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-36
37 Πολυταινιακές Μηχανές Turing Multi-tape Turing machine (ΜΤ-ΤΜ) Μια μηχανή Turing με πολλές ταινίες Κάθε ταινία έχει τη δική της κεφαλή Αρχικοποίηση ταινιών Πρώτη ταινία περιέχει την λέξη εισόδου Οι υπόλοιπες είναι κενές Οι πολλαπλές ταινίες είναι βοηθητικές Για παράδειγμα, μπορούν να χρησιμεύσουν για προσωρινή αποθήκευση ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-37
38 Σχηματική Αναπαράσταση ελεγκτής ταινία 1 ταινία ταινία Κάθε μετάβαση δυνατόν να εξαρτάται από τις τιμές που δείχνονται από τα βέλη πολλών ή και όλων των ταινιών. Τα διάφορα βέλη κινούνται ανεξάρτητα το ένα από το άλλο ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-38
39 Συνάρτηση μεταβάσεων Συνάρτηση μεταβάσεων Επιτρέπει την εγγραφή, ανάγνωση, και μετακίνηση της κεφαλής σε κάποιες ή όλες τις ταινίες : Γ Γ {Α,Δ,Σ},,, =(,,,,Α,Δ,,Α) Παράδειγμα:,0,,0 =(, 1,1,0, Δ, Δ, Α) /1Δ /1Δ 0/0Α q 3 q ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-39
40 Ισοδυναμία ΜΤ-ΤΜ με ΤΜ ΘΕΩΡΗΜΑ Για κάθε πολυταινιακή μηχανή Turing υπάρχει ισοδύναμη μονοταινιακή μηχανή Turing μία ταινία πολλές ταινίες ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-40
41 Προσομοίωση ΜΤ-ΤΜ από ΤΜ Αποθηκεύουμε τα περιεχόμενα όλων των ταινιών σε μία ταινία Χρησιμοποιούμε το σύμβολο # ως οριοθέτη Χρησιμοποιούμε την κουκκίδα για να δείξουμε τη θέση των κεφαλών M Γ = {0, 1, } S # # 0 1 # # Γ = {0, 1,, 0, 1,, #} ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-41
42 Προσομοίωση ΜΤ-ΤΜ από ΤΜ (συν.) Παράδειγμα με τρεις ταινίες x 1 x 2 x a x i y 1 y 2 y b y j z 1 z 2 z k z c #x 1 x 2...x a...x i #y 1 y 2...y b...y j #z 1 z 2...z c...z k # ΜΤ-TM TM ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-42
43 Προσομοίωση ΜΤ-ΤΜ από ΤΜ (συν.) Αρχικοποίηση w 1 w 2...w n #w 1 w 2...w n # # # S: Για είσοδο w 1...w n : 1. Γράφουμε στην ταινία τα περιεχόμενα #w 1 w 2...w n # # # ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-43
44 Προσομοίωση ΜΤ-ΤΜ από ΤΜ (συν.) Προσομοίωση μετάβασης Έστω η ακόλουθη μετάβαση q 3 0/1R /1R 0/0L q Προσομοιώνουμε τη μετάβαση σε κάθε εικονική ταινία. Αν χρειαστεί μετακινούμε σύμβολα προς τα δεξιά για να διαθέσουμε περισσότερο χώρο σε μια εσωτερική ταινία # # # 0 1 # # # # # ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-44
45 Προσομοίωση ΜΤ-ΤΜ από ΤΜ (συν.) Για είσοδο w 1...w n : 1. Γράφουμε στην ταινία τα περιεχόμενα #w 1 w 2...w n # # # Για να προσομοιώσουμε ένα βήμα τη ΜΤ-ΤΜ: Σαρώνουμε την ταινία για να προσδιορίσουμε τις εικονικές κεφαλές Με μια δεύτερη σάρωση ενημερώνουμε τις εικονικές ταινίες σύμφωνα με τη συνάρτηση μεταβάσεων την ΜΤ-ΤΜ Αν σε κάποιο σημείο κάποια από τις εικονικές κεφαλές μετακινηθεί προς τα δεξιά και βρεθεί σε κάποιο #, καταχωρούμε σε αυτό το σημείο ένα σύμβολο διαστήματος αφού μετακινήσουμε όλα τα επόμενα σύμβολα μια θέση προς τα δεξιά ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-45
46 Μη Ντετερμινιστικές ΤΜ Από μια κατάσταση είναι δυνατόν να προκύψουν πολλές εναλλακτικές συνολικές καταστάσεις. Συνάρτηση μεταβάσεων ΘΕΩΡΗΜΑ : Γ ( Γ {Α, Δ}) Για κάθε μη ντετερμινιστική μηχανή Turing υπάρχει ισοδύναμη μονοταινιακή μηχανή Turing ντετερμινιστική ΤΜ μη ντετερμινιστική ΤΜ παραλείπεται ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-46
47 Αλγόριθμοι και ΤΜ Τι είναι ένας αλγόριθμος; Αλγόριθμος είναι μια πεπερασμένη ακολουθία εντολών οι οποίες αν ακολουθηθούν επιτυγχάνεται κάποιο επιθυμητό αποτέλεσμα. Ορισμός του αλγόριθμου Ακριβής ορισμός αλγορίθμου εκφράστηκε τον 20 ο αιώνα Το 10 ο πρόβλημα του Hilbert Εύρεση αν ένα πολυώνυμο έχει ακέραιες ρίζες Σήμερα ξέρουμε ότι το πρόβλημα είναι αλγοριθμικά ανεπίλυτο Η αντίληψη της εποχής δεν παρείχε μέσα για να επιδειχθεί ότι δεν υπάρχει αλγόριθμος για κάποιο πρόβλημα Αναγκαία προϋπόθεση: ακριβής ορισμός της έννοιας του αλγόριθμου ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-47
48 Τα 23 προβλήματα του Hilbert Κορυφαίος Μαθηματικός της εποχής του Στη διάλεξή του στο Διεθνές Συνέδριο Μαθηματικών 1900, παρουσίασε 23 προβλήματα τα οποία πρότεινε ως στόχο για τον 20 ο αιώνα David Hilbert ( ) Το 10 ο πρόβλημα αναφέρεται σε πολυώνυμα και τις ρίζες τους Πολυώνυμο: 6x 3 yz 2 + 3xy 2 x 3 10 (Ακέραια) Ρίζα του πολυωνύμου: x = 5, y = 3, z = = = 0 Το 10 ο πρόβλημα του Hilbert Να επινοηθεί μια πεπερασμένη μέθοδος που να ελέγχει αν ένα πολυώνυμο έχει ακέραια ρίζα ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-48
49 Δόγμα Church - Turing Ακριβής ορισμός της έννοιας του αλγόριθμου Church: λ-calclulus Turing: Μηχανές Turing Ισοδύναμοι ορισμοί Αυτή η συσχέτιση της άτυπης έννοιας του αλγόριθμου με τους ισοδύναμους ακριβείς ορισμούς οδήγησε στο Δόγμα Church-Turing (1936) Αν υπάρχει κάποια μέθοδος (αλγόριθμος) μέσω της οποίας μπορούμε να διεκπεραιώσουμε κάποιο υπολογισμό, τότε ο ίδιος υπολογισμός μπορεί να διεκπεραιωθεί μέσω μιας μηχανής Turing (ή μέσω μιας συνάρτησης διατυπωμένης στο λ-calculus). Επομένως: Αλγόριθμος είναι μια μηχανή Turing που τερματίζει για όλες τις εισόδους του προβλήματος Τα προβλήματα που δεν μπορούν να επιλυθούν από μια μηχανή Turing δεν μπορούν να επιλυθούν από οποιοδήποτε μοντέλο υπολογισμού γνωρίζουμε. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-49
50 Διατύπωση 10 ου Προβλήματος Hilbert Να επινοηθεί μια Μηχανή Turing που να ελέγχει αν ένα πολυώνυμο έχει ακέραια ρίζα Ισοδύναμα, έστω D = {p το p είναι ένα πολυώνυμο με ακέραια ρίζα} Υπάρχει ΤΜ που να διαγιγνώσκει την D; ή Είναι η D διαγνώσιμη; Βασισμένος στην δουλειά των Gödel, Church, Turing, Davis, Putnam, Robinson, το 1970 ο Yuri Matijasievičέδειξε ότι: Δεν υπάρχει τέτοια μηχανή! ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-50
51 Διαγνωσιμότητα και Αναγνωρισιμότητα Θεωρείστε το πιο απλό πρόβλημα D 1 : D 1 = {p το p είναι ένα πολυώνυμο της x με ακέραια ρίζα} Μια μηχανή που αναγνωρίζει το πρόβλημα είναι η εξής: Μ 1 = Για είσοδο ένα πολυώνυμο p της μεταβλητής x: Θέτουμε διαδοχικά την x ίση με 0,1,-1,2,-2,3,-3,... και για κάθε τιμή υπολογίζουμε την αντίστοιχη τιμή του πολυωνύμου. Εάν το p γίνει 0, αποδεχόμαστε. Η Μ 1 αναγνωρίζει την D 1 Περίπτωση 1: Έστω υπάρχει ρίζα k. Θα την εντοπίσουμε μετά από το πολύ 2k + 1 επαναλήψεις Περίπτωση 2: Έστω ότι δεν υπάρχει ρίζα. Τότε η ΤΜ δεν θα τερματίσει ποτέ. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-51
52 Αναγνωρισιμότητα Συμπέρασμα: Η D 1 είναι αναγνωρίσιμη Παρόμοια : Η D είναι αναγνωρίσιμη! Μ = Για κάθε συνδυασμό των δυνατών τιμών των μεταβλητών του πολυωνύμου: Υπολογίζουμε την αντίστοιχη τιμή του πολυωνύμου. Εάν το p γίνει 0, αποδεχόμαστε. Η Μ αναγνωρίζει την D ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-52
53 Για πολυώνυμο μιας μεταβλητής Διαγνωσιμότητα; Άνω και κάτω φράγματα για τις ρίζες Εάν k το πλήθος των όρων, c max η απόλυτη τιμή του μέγιστου συντελεστή και c 1 ο συντελεστής του μεγιστοβάθμιου όρου τότε οι ρίζες μεταξύ των φραγμάτων Η Μ 1 μπορεί να γίνει διαγνώστης αν ελέγχει μόνο τις ακέραιες τιμές μεταξύ των φραγμάτων Matijasievič (1970) Ο υπολογισμός φραγμάτων στην περίπτωση των πολλαπλών μεταβλητών είναι αδύνατος Η Μ δεν μπορεί να διαγνώσει τη D. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-53
54 Το Δόγμα Church-Turing quantum computing Turing Machine DNA computing ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 7-54
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων Τι θα κάνουμε σήμερα Εισαγωγή Πολυταινιακές Μηχανές Turing (3.2.1) Μη Ντετερμινιστικές Μηχανές
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 12: Μηχανές Turing
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 12: Μηχανές Turing Τι θα κάνουμε σήμερα Εισαγωγή στις Μηχανές Turing (TM) Τυπικός Ορισμός Μηχανής Turing (3.1.1) 1 Τι είδαμε μέχρι στιγμής Πεπερασμένα
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { ww w {a,b}* }. (β) Να διατυπώσετε την τυπική περιγραφή
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { n 3 } (α) H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την επτάδα Q,
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {w 1w 2 w 1 {0,1} * και w 2 = 0 k 1 m όπου k και m
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { a 2n b n c 3n n 2 } : H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την
Διαβάστε περισσότεραΦροντιστήριο 8 Λύσεις
Άσκηση 1 Θεωρήστε την πιο κάτω Μηχανή Turing. Φροντιστήριο 8 Λύσεις Σε κάθε σκέλος, να προσδιορίσετε την ακολουθία των φάσεων τις οποίες διατρέχει η μηχανή όταν δέχεται τη διδόμενη λέξη. (α) 11 (β) 1#1
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει την ακόλουθη γλώσσα. { a n b n+2 c n 2 n 2 } Λύση: H ζητούμενη μηχανή Turing μπορεί να
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {1010 2 10 3 10 n 1 10 n 1 n 1}. (β) Να διατυπώσετε
Διαβάστε περισσότεραΣειρά Προβλημάτων 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 } (β) Να διατυπώσετε
Διαβάστε περισσότεραΦροντιστήριο 8 Λύσεις
Άσκηση 1 Φροντιστήριο 8 Λύσεις Θεωρήστε την πιο κάτω Μηχανή Turing όπου όλες οι μεταβάσεις που απουσιάζουν οδηγούν στην κατάσταση απόρριψης (q απόρριψης). Σε κάθε σκέλος, να προσδιορίσετε την ακολουθία
Διαβάστε περισσότεραΣειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { ww rev w {a, b} * και w αποτελεί καρκινική λέξη } (α) H ζητούμενη μηχανή
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές
Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ανεπίλυτα Προβλήματα από τη Θεωρία Γλωσσών (5.1) To Πρόβλημα της Περάτωσης Το Πρόβλημα της Κενότητα
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Επανάληψη Μαθήματος
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Επανάληψη Μαθήματος Το Μάθημα σε μια Διαφάνεια Υπολογιστικά μοντέλα Κανονικές Γλώσσες Ντετερμινιστικά Αυτόματα Μη Ντετερμινιστικά Αυτόματα Κανονικές Εκφράσεις
Διαβάστε περισσότεραΣε αυτό το µάθηµα. Εισαγωγή στις Μηχανές Turing. Μηχανή Turing (Turing Machine - TM) Μηχανές Turing. Παραδείγµατα Μηχανών Turing
Σε αυτό το µάθηµα Εισαγωγή στις Μηχανές Turing Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Παραδείγµατα Μηχανών Turing Παραλλαγές: Πολυταινιακές, Μη ντετερµινιστικές
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)
Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές
Διαβάστε περισσότεραΦροντιστήριο 9 Λύσεις
Άσκηση 1 Φροντιστήριο 9 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {a,b} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Διαγνωσιμότητα
Θεωρία Υπολογισμού και Πολυπλοκότητα Διαγνωσιμότητα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Διαγνώσιμες Γλώσσες (4.1) Επιλύσιμα Προβλήματα σχετικά με Κανονικές Γλώσσες Επιλύσιμα Προβλήματα
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)
Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές
Διαβάστε περισσότεραΦροντιστήριο 10 Λύσεις
Άσκηση 1 Φροντιστήριο 10 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {0,1} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 15: Διαγνωσιμότητα (Επιλυσιμότητα) ΙΙ
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 15: Διαγνωσιμότητα (Επιλυσιμότητα) ΙΙ Τι θα κάνουμε σήμερα Επιλύσιμα Προβλήματα σχετικά με Ασυμφραστικές Γλώσσες (4.1.2) Το Πρόβλημα του Τερματισμού
Διαβάστε περισσότεραnum(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))
Υπολογισμοί με Μ.Τ. Εστω M = (K, Σ, δ, s, {y, n}) μια Μ.Τ. Κάθε συνολική κατάσταση τερματισμού της οποίας η κατάσταση τερματισμού είναι το y, θα ονομάζεται συνολική κατάσταση αποδοχής, ενώ αν η κατάσταση
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) ({ G η G είναι μια ασυμφραστική γραμματική που δεν παράγει καμιά λέξη με μήκος μικρότερο του 2 } (β) { Μ,w
Διαβάστε περισσότεραΗ NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή.
Μη ντετερµινιστικές Μηχανές Turing - NTMs (1/6) Μηχανές Turing: Μη ντετερµινισµός, Επιλύσιµα Προβλήµατα Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 10 εκεµβρίου 2016
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { R η R είναι μια κανονική έκφραση η οποία παράγει μια μη πεπερασμένη γλώσσα} (β) { G η G είναι μια CFG η οποία
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Πιο κάτω υπάρχει ένα σχεδιάγραμμα που τοποθετεί τις κλάσεις των κανονικών, ασυμφραστικών, διαγνώσιμων και αναγνωρίσιμων γλωσσών μέσα στο σύνολο όλων των γλωσσών. Ακολουθούν
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα
Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 10. Μηχανές Turing 20,23 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μηχανές Turing: Ένα Γενικό Μοντέλο Υπολογισμού Ποια μοντέλα υπολογισμού μπορούν να δεχθούν γλώσσες
Διαβάστε περισσότεραΑσκήσεις από παλιές εξετάσεις
Άσκηση 2 - Τελική εξέταση 2012 Ασκήσεις από παλιές εξετάσεις (α) [10 μονάδες] Να μετατρέψετε το πιο κάτω NFA σε ένα ισοδύναμο DFA χρησιμοποιώντας την κατασκευή που μελετήσαμε στο μάθημα. a a q 0 a, ε q
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 14: Διαγνωσιμότητα (Επιλυσιμότητα)
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 14: Διαγνωσιμότητα (Επιλυσιμότητα) Τι θα κάνουμε σήμερα Εισαγωγή Επιλύσιμα Προβλήματα σχετικά με τις Κανονικές Γλώσσες (4.1.1) Επιλύσιμα Προβλήματα
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { D το D είναι ένα DFA το οποίο αποδέχεται όλες τις λέξεις στο Σ * } (α) Για να διαγνώσουμε το πρόβλημα μπορούμε
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { Μ η Μ είναι μια ΤΜ η οποία διαγιγνώσκει το πρόβλημα ΙΣΟΔΥΝΑΜΙΑ ΤΜ (διαφάνεια 9 25)} (α) Γνωρίζουμε ότι το
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { G 1, G 2 οι G 1 και G 2 είναι δύο CFG που παράγουν μια κοινή λέξη μήκους 144 } (β) { D,k το D είναι ένα DFA
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2)
Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Κανονικές Εκφράσεις (1.3) Τυπικός Ορισμός Ισοδυναμία με κανονικές γλώσσες Μη Κανονικές
Διαβάστε περισσότεραΑυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation
Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation Διδάσκων: Στάθης Ζάχος Επιμέλεια Διαφανειών: Μάκης Αρσένης CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Φεβρουάριος 2017 Διδάσκων: Στάθης Ζάχος ( CoReLab
Διαβάστε περισσότεραCSC 314: Switching Theory
CSC 314: Switching Theory Course Summary 9 th January 2009 1 1 Θέματα Μαθήματος Ερωτήσεις Τι είναι αλγόριθμος? Τι μπορεί να υπολογιστεί? Απαντήσεις Μοντέλα Υπολογισμού Δυνατότητες και μη-δυνατότητες 2
Διαβάστε περισσότεραΣειρά Προβλημάτων 5 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { G,k η G είναι μια ασυμφραστική γραμματική η οποία παράγει κάποια λέξη 1 n όπου n k } (β) { Μ,k η Μ είναι
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)
Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες () Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Πεπερασμένα Αυτόματα (Κεφάλαιο., Sipser) Ορισμός πεπερασμένων αυτομάτων και ορισμός του
Διαβάστε περισσότεραΆδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 24: Μη Ντεντερμινιστικές Μηχανές Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως
Διαβάστε περισσότεραΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ
ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 8: Ιδιότητες Γραμματικών χωρίς Συμφραζόμενα Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΘεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος
Περιγραφή μαθήματος Θεωρία Υπολογισμού Άρτιοι ΑΜ Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας (Θεωρία Αλγορίθμων). Διδάσκων: Σταύρος Κολλιόπουλος
Διαβάστε περισσότεραΘεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr
Θεωρία Υπολογισμού Άρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr Περιγραφή μαθήματος Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη των Υπολογιστών
Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 6η ενότητα: Αυτόματα, τυπικές γλώσσες, γραμματικές Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής http://www.corelab.ece.ntua.gr/courses/introcs
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 10: Αυτόματα Στοίβας II
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 10: Αυτόματα Στοίβας II Τι θα κάνουμε σήμερα Ισοδυναμία αυτομάτων στοίβας με ασυμφραστικές γραμματικές (2.2.3) 1 Ισοδυναμία PDA με CFG Θεώρημα: Μια
Διαβάστε περισσότεραΠεριεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ
Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 9: Αυτόματα Στοίβας (Pushdown Automata - PDA)
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 9: Αυτόματα Στοίβας (Pushdown Automata - PDA) Τι θα κάνουμε σήμερα Εισαγωγή στα Αυτόματα Στοίβας Τυπικός Ορισμός Αυτομάτου Στοίβας (2.2.1) Παραδείγματα
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 16: Αναγωγές
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 16: Αναγωγές Τι θα κάνουμε σήμερα Το Πρόβλημα του Τερματισμού (4.2) Εισαγωγή στις Αναγωγές Ανεπίλυτα Προβλήματα από την Θεωρία των Γλωσσών (5.1) Απεικονιστικές
Διαβάστε περισσότεραCSC 314: Switching Theory. Chapter 3: Turing Machines
CSC 314: Switching Theory Chapter 3: Turing Machines 21 November 2008 1 Dr. Vicky Papadopoulou 1 Μηχανές Turing: Ένα Γενικό Μοντέλο Υπολογισμού Ποια μοντέλα υπολογισμού μπορούν να δεχθούν γλώσσες της μορφής
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 5: Κανονικές Εκφράσεις
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 5: Κανονικές Εκφράσεις Τι θα κάνουμε σήμερα Κλειστότητα Κανονικών Πράξεων (1.2.3) Εισαγωγή στις Κανονικές Εκφράσεις Τυπικός ορισμός της κανονικής
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 4: Μη Ντετερμινιστικά (Αντιαιτιοκρατικά) Πεπερασμένα Αυτόματα (ΝFA)
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 4: Μη Ντετερμινιστικά (Αντιαιτιοκρατικά) Πεπερασμένα Αυτόματα (ΝFA) Τι θα κάνουμε σήμερα Εισαγωγή στα Μη Ντετερμινιστικά Πεπερασμένα Αυτόματα Τυπικός
Διαβάστε περισσότεραΆδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 21: Υπολογισμοί ΜΤ - Αναδρομικές Γλώσσες Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως
Διαβάστε περισσότεραΑυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6
Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων
Διαβάστε περισσότεραΆδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 26: Καθολική Μηχανή Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη των Υπολογιστών
Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων
Διαβάστε περισσότεραΜηχανές Turing (T.M) I
Μηχανές Turing (T.M) I Οι βασικές λειτουργίες μιας TM είναι: Διάβασε το περιεχόμενο του τρέχοντος κυττάρου Γράψε 1 ή 0 στο τρέχον κύτταρο Κάνε τρέχον το αμέσως αριστερότερο ή το αμέσως δεξιότερο κύτταρο
Διαβάστε περισσότεραΥπολογίσιμες Συναρτήσεις
Υπολογίσιμες Συναρτήσεις Σ Π Υ Ρ Ι Δ Ω Ν Τ Ζ Ι Μ Α Σ Δ Τ Ο Μ Ε Α Σ Τ Μ Η Μ Α Μ Α Θ Η Μ Α Τ Ι Κ Ω Ν Σ Χ Ο Λ Η Θ Ε Τ Ι Κ Ω Ν Ε Π Ι Σ Τ Η Μ Ω Ν Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Ι Ω Α Ν Ν Ι Ν Ω Ν Υπολογίσιμες Συναρτήσεις
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1)
Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ασυμφραστικές Γραμματικές (2.1) Τυπικός Ορισμός Σχεδιασμός Ασυμφραστικών Γραμματικών
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3)
Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Μη Ασυμφραστικές Γλώσσες (2.3) Λήμμα Άντλησης για Ασυμφραστικές Γλώσσες Παραδείγματα
Διαβάστε περισσότεραΣειρά Προβλημάτων 1 Λύσεις
Σειρά Προβλημάτων Λύσεις Άσκηση Ορίζουμε τη συναρμογή δύο γλωσσών Α και Β ως ΑΒ = { uv u A, v B }. (α) Έστω Α = {α,β,γ} και Β =. Να περιγράψετε τη γλώσσα ΑΒ. (β) Θεωρήστε τις γλώσσες L, M και N. Να δείξετε
Διαβάστε περισσότεραΑυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών. Προδιαγραφές
Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσ.h.m.μ.y. & Σ.Ε.Μ.Φ.Ε. http://www.corelab.ece.ntua.gr/courses/ 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές Στάθης Ζάχος Συνεργασία: Κωστής Σαγώνας Επιμέλεια:
Διαβάστε περισσότεραΆδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 8: Πεπερασμένα Αυτόματα Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Χρονική Πολυπλοκότητα
Θεωρία Υπολογισμού και Πολυπλοκότητα Χρονική Πολυπλοκότητα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Μέτρηση της Πολυπλοκότητας (7.1) Η κλάση Ρ (7.2) Η κλάση ΝΡ (7.3) ΝΡ-πληρότητα (7.4)
Διαβάστε περισσότεραΣειρά Προβλημάτων 3 Λύσεις
Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) {0 n 1 n n > 0} {0 n 1 2n n > 0} (β) {w {a,b} * η w ξεκινά και τελειώνει με το ίδιο σύμβολο
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 3: Ντετερμινιστικά Πεπερασμένα Αυτόματα (DFA)
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 3: Ντετερμινιστικά Πεπερασμένα Αυτόματα (DFA) Τι θα κάνουμε σήμερα Εισαγωγή στα Ντετερμινιστικά Πεπερασμένα Αυτόματα 14-Sep-11 Τυπικός Ορισμός Ντετερμινιστικών
Διαβάστε περισσότεραΑσκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1
Ασκήσεις Επανάληψης Άσκηση 1 (Τελική Εξέταση 5/015) Να δείξετε ότι η πιο κάτω γλώσσα δεν είναι διαγνώσιμη. { Μ L(M) {ΘΕΩΡΙΑ, ΥΠΟΛΟΓΙΣΜΟΥ} και L(M) 3} (Για την αναγωγή μπορείτε να χρησιμοποιήσετε τη γνωστή
Διαβάστε περισσότεραΣειρά Προβλημάτων 3 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { a k b m c n k < m ή m > 2n, όπου k,m,n 0 } Μια γραμματική για τη γλώσσα έχει ως εξής:
Διαβάστε περισσότεραΣειρά Προβλημάτων 3 Λύσεις
Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { xyw 1w 2 x, y {a, b}, w 1 = a n, w 2 = b 2n, όπου, αν x=y=a, τότε n = 2k, διαφορετικά
Διαβάστε περισσότεραΠεριεχόμενα ΜΤ Τυχαίας Προσπέλασης Θεωρία Υπολογισμού Ενότητα 23: Μηχανές Turing Τυχαίας Προσπέλασης Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ.
Θεωρία Υπολογισμού Ενότητα 23: Μηχανές Turing Τυχαίας Προσπέλασης Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως
Διαβάστε περισσότεραΗ δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ
Πεπερασμένα Αυτόματα (ΠΑ) Τα πεπερασμένα αυτόματα είναι οι απλούστερες «υπολογιστικές μηχανές». Δεν έχουν μνήμη, μόνο μία εσωτερική μονάδα με πεπερασμένο αριθμό καταστάσεων. Διαβάζουν τη συμβολοσειρά εισόδου
Διαβάστε περισσότεραΜεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Γιώργος Δημητρίου Μάθημα 2 ο Αλφάβητα και Γλώσσες Αλφάβητο: Ένα μη κενό και πεπερασμένο σύνολο συμβόλων Γλώσσα: Ένα οποιοδήποτε υποσύνολο των συμβολοσειρών ενός αλφαβήτου (οι προτάσεις της γλώσσας, πχ.
Διαβάστε περισσότερα771 Η - Θεωρία Υπολογισµών και Αλγορίθµων
771 Η - Θεωρία Υπολογισµών και Αλγορίθµων Σηµειώσεις Μέρος 4 ο ιδάσκων: Α. Ντελόπουλος Το παρόν αποτελεί σηµειώσεις που αντιστοιχούν σε µέρος των διαλέξεων για το µάθηµα 771 Η - Θεωρία Υπολογισµών και
Διαβάστε περισσότεραΣειρά Προβλημάτων 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}
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα Τι θα κάνουμε σήμερα Εισαγωγικά Χρονική Πολυπλοκότητα (7) Κλάση P (7.2) Κλάση ΝΡ (7.3) ΝΡ-πληρότητα (7.4) Χωρική
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητα Ενδιάμεση Εξέταση Ημερομηνία : Σάββατο, 15 Μαρτίου 2014 Διάρκεια : 9.30 11.30 Διδάσκουσα : Άννα Φιλίππου Ονοματεπώνυμο:
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο
Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Σύνολα Συναρτήσεις και Σχέσεις Γραφήματα Λέξεις και Γλώσσες Αποδείξεις ΕΠΛ 211 Θεωρία
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητα Ενδιάμεση Εξέταση Ημερομηνία : Παρασκευή, 17 Μαρτίου 2017 Διάρκεια : 9.00 10.30 Διδάσκουσα : Άννα Φιλίππου Ονοματεπώνυμο:
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητα Ενδιάμεση Εξέταση Ημερομηνία : Κυριακή, 15 Μαρτίου 2015 Διάρκεια : 15.00 17.00 Διδάσκουσα : Άννα Φιλίππου Ονοματεπώνυμο:
Διαβάστε περισσότεραΣειρά Προβλημάτων 1 Λύσεις
ΕΠΛ2: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Να βρείτε το σφάλμα στην πιο κάτω απόδειξη. Ισχυρισμός: Όλα τα βιβλία που έχουν γραφτεί στη Θεωρία Υπολογισμού έχουν τον ίδιο
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 2: Μαθηματικό Υπόβαθρο Τι θα κάνουμε σήμερα Συναρτήσεις & Σχέσεις (0.2.3) Γράφοι (Γραφήματα) (0.2.4) Λέξεις και Γλώσσες (0.2.5) Αποδείξεις (0.3) 1
Διαβάστε περισσότεραΣειρά Προβλημάτων 1 Λύσεις
ΕΠΛ: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Θεωρείστε τις γλώσσες Α = { n n } και Β = {w η w είναι λέξη επί του αλφαβήτου {,} τ.ώ. w }. (α) Για κάθε μια από τις πιο κάτω γλώσσες
Διαβάστε περισσότεραΣειρά Προβλημάτων 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} + και όλα
Διαβάστε περισσότεραΠεπερασμένος έλεγχος καταστάσεων
Κεφάλαιο 6 Μηχανές Turing Σύνοψη Οι Μηχανές Turing (ΜΤ) δεν είναι απλά μία ακόμη μηχανή αναγνώρισης για κάποια ευρύτερη οικογένεια γλωσσών από τις γλώσσες, που γίνονται δεκτές από τα Αυτόματα Στοίβας.
Διαβάστε περισσότεραΦροντιστήριο 11 Λύσεις
Άσκηση 1 Φροντιστήριο 11 Λύσεις Να αποδείξετε ότι η κλάση Ρ είναι κλειστή ως προς τις πράξεις της ένωσης, της συναρμογής και του συμπληρώματος. Θα πρέπει να δείξουμε ότι: (α) Ένωση: Αν οι Λ 1 και Λ 2 είναι
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 7: Ασυμφραστικές Γλώσσες (Γλώσσες Ελεύθερες Συμφραζομένων)
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 7: Ασυμφραστικές Γλώσσες (Γλώσσες Ελεύθερες Συμφραζομένων) Τι θα κάνουμε σήμερα Εισαγωγικά Ασυμφραστικές Γραμματικές (2.1) Τυπικός Ορισμός Της Ασυμφραστικής
Διαβάστε περισσότεραΣύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2): Αυτόµατα Στοίβας. Παραδείγµατα Σχεδιασµού CFG. Παράδειγµα 1.
Σύνοψη Προηγούµενου Γλώσσες χωρίς Συµφραζόµενα 2): Αυτόµατα Στοίβας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Μη Κανονικές Γλώσσες Το Λήµµα της Αντλησης για τις
Διαβάστε περισσότεραHEAD INPUT. q0 q1 CONTROL UNIT
Πεπερασμένα Αυτόματα (ΠΑ) Τα πεπερασμένα αυτόματα είναι οι απλούστερες «υπολογιστικές μηχανές». Δεν έχουν μνήμη, μόνο μία εσωτερική μονάδα με πεπερασμένο αριθμό καταστάσεων. Διαβάζουν τη συμβολοσειρά εισόδου
Διαβάστε περισσότεραCSC 314: Switching Theory. Chapter 3: Turing Machines
CSC 314: Switching Theory Chapter 3: Turing Machines 28 November 2008 1 1 Υπολογισμοί σε Μηχανές Turing Πως χρησιμοποιούμε μια μηχανή Turing? Για την αναγνώριση μιας γλώσσας? Σύμβαση για την αναγνώριση
Διαβάστε περισσότεραΑλγόριθμοι για αυτόματα
Κεφάλαιο 8 Αλγόριθμοι για αυτόματα Κύρια βιβλιογραφική αναφορά για αυτό το Κεφάλαιο είναι η Hopcroft, Motwani, and Ullman 2007. 8.1 Πότε ένα DFA αναγνωρίζει κενή ή άπειρη γλώσσα Δοθέντος ενός DFA M καλούμαστε
Διαβάστε περισσότεραΚανονικές Γλώσσες. ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Κανονικές Γλώσσες ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Κανονικές Γλώσσες Κανονική γλώσσα αν
Διαβάστε περισσότεραΣειρά Προβλημάτων 1 Λύσεις
ΕΠΛ2: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Έστω αλφάβητο Σ και γλώσσες Λ, Λ 2, Λ επί του αλφάβητου αυτού. Να διερευνήσετε κατά πόσο ισχύει κάθε μια από τις πιο κάτω σχέσεις.
Διαβάστε περισσότεραΛύσεις 4ης Σειράς Ασκήσεων
Λύσεις 4ης Σειράς Ασκήσεων Άσκηση 1 Αναγάγουμε τν Κ 0 που γνωρίζουμε ότι είναι μη-αναδρομική (μη-επιλύσιμη) στην γλώσσα: L = {p() η μηχανή Turing Μ τερματίζει με είσοδο κενή ταινία;} Δοσμένης της περιγραφής
Διαβάστε περισσότεραΑριθμητική Ανάλυση & Εφαρμογές
Αριθμητική Ανάλυση & Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2017-2018 Υπολογισμοί και Σφάλματα Παράσταση Πραγματικών Αριθμών Συστήματα Αριθμών Παράσταση Ακέραιου
Διαβάστε περισσότεραΠληροφορική 2. Αλγόριθμοι
Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται
Διαβάστε περισσότεραΑποφασισιµότητα / Αναγνωρισιµότητα. Μη Επιλύσιµα Προβλήµατα. Η έννοια της αναγωγής. Τερµατίζει µια δεδοµένη TM για δεδοµένη είσοδο;
Αποφασισιµότητα / Αναγνωρισιµότητα Ορέστης Τελέλης telelis@unipi.gr Μη Επιλύσιµα Προβλήµατα Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 2/12/2015 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Αποφασισιµότητα 2/12/2015
Διαβάστε περισσότεραΜια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E.
Οι γλώσσες των Μηχανών Turing Αποφασισιµότητα / Αναγνωρισιµότητα Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L Αποδέχεται όταν (η είσοδος στην TM) w L. Ορέστης Τελέλης telelis@unipi.gr Τµήµα
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα
Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 4. Μη Ντετερμινιστικά Πεπερασμένα Αυτόματα 9,19 Φεβρουαρίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μοντέλα Υπολογισμού Μη Ντετερμινιστικό Πεπερασμένα Αυτόματα: Διαφορά
Διαβάστε περισσότεραΣειρά Προβλημάτων 3 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { x x η τιμή της αριθμητικής έκφρασης 10 2n + 10 n + 1, n 1} (β) { a i b j c k d m i, j,
Διαβάστε περισσότεραΚανονικές Γλώσσες. Κανονικές Γλώσσες. Κανονικές Γλώσσες και Αυτόματα. Κανονικές Γλώσσες και Αυτόματα
Κανονικές Γλώσσες Κανονικές Γλώσσες Διδάσκοντες: Φ. Αφράτη, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Κανονική γλώσσα αν παράγεται από κανονική γραμματική. Παραγωγές P (V Σ) Σ * ((V Σ) ε) Παραγωγές μορφής:
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 20 Huffman codes 1 / 12 Κωδικοποίηση σταθερού μήκους Αν χρησιμοποιηθεί κωδικοποίηση σταθερού μήκους δηλαδή
Διαβάστε περισσότεραChapter 7, 8 : Time, Space Complexity
CSC 314: Switching Theory Chapter 7, 8 : Time, Space Complexity 12 December 2008 1 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτεμπορούμεναπεριγράψουμεμεένααλγόριθμο μπορεί να
Διαβάστε περισσότερα