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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

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 και Περιγραφή Αλγορίθμων ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων Τι θα κάνουμε σήμερα Εισαγωγή Πολυταινιακές Μηχανές Turing (3.2.1) Μη Ντετερμινιστικές Μηχανές

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 12: Μηχανές Turing ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 12: Μηχανές Turing Τι θα κάνουμε σήμερα Εισαγωγή στις Μηχανές Turing (TM) Τυπικός Ορισμός Μηχανής Turing (3.1.1) 1 Τι είδαμε μέχρι στιγμής Πεπερασμένα

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { ww w {a,b}* }. (β) Να διατυπώσετε την τυπική περιγραφή

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { n 3 } (α) H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την επτάδα Q,

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {w 1w 2 w 1 {0,1} * και w 2 = 0 k 1 m όπου k και m

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { a 2n b n c 3n n 2 } : H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την

Διαβάστε περισσότερα

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

Φροντιστήριο 8 Λύσεις Άσκηση 1 Θεωρήστε την πιο κάτω Μηχανή Turing. Φροντιστήριο 8 Λύσεις Σε κάθε σκέλος, να προσδιορίσετε την ακολουθία των φάσεων τις οποίες διατρέχει η μηχανή όταν δέχεται τη διδόμενη λέξη. (α) 11 (β) 1#1

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει την ακόλουθη γλώσσα. { a n b n+2 c n 2 n 2 } Λύση: H ζητούμενη μηχανή Turing μπορεί να

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {1010 2 10 3 10 n 1 10 n 1 n 1}. (β) Να διατυπώσετε

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w#z w, z {a,b}* και η z είναι υπολέξη της w}. Συγκεκριμένα,

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w w = (ab) 2m b m (ba) m, m 0 } (β) Να διατυπώσετε

Διαβάστε περισσότερα

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

Φροντιστήριο 8 Λύσεις Άσκηση 1 Φροντιστήριο 8 Λύσεις Θεωρήστε την πιο κάτω Μηχανή Turing όπου όλες οι μεταβάσεις που απουσιάζουν οδηγούν στην κατάσταση απόρριψης (q απόρριψης). Σε κάθε σκέλος, να προσδιορίσετε την ακολουθία

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { ww rev w {a, b} * και w αποτελεί καρκινική λέξη } (α) H ζητούμενη μηχανή

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ανεπίλυτα Προβλήματα από τη Θεωρία Γλωσσών (5.1) To Πρόβλημα της Περάτωσης Το Πρόβλημα της Κενότητα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σε αυτό το µάθηµα. Εισαγωγή στις Μηχανές Turing. Μηχανή Turing (Turing Machine - TM) Μηχανές Turing. Παραδείγµατα Μηχανών Turing Σε αυτό το µάθηµα Εισαγωγή στις Μηχανές Turing Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Παραδείγµατα Μηχανών Turing Παραλλαγές: Πολυταινιακές, Μη ντετερµινιστικές

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές

Διαβάστε περισσότερα

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

Φροντιστήριο 9 Λύσεις Άσκηση 1 Φροντιστήριο 9 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {a,b} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Διαγνωσιμότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Διαγνωσιμότητα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Διαγνώσιμες Γλώσσες (4.1) Επιλύσιμα Προβλήματα σχετικά με Κανονικές Γλώσσες Επιλύσιμα Προβλήματα

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές

Διαβάστε περισσότερα

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

Φροντιστήριο 10 Λύσεις Άσκηση 1 Φροντιστήριο 10 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {0,1} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k )) Υπολογισμοί με Μ.Τ. Εστω M = (K, Σ, δ, s, {y, n}) μια Μ.Τ. Κάθε συνολική κατάσταση τερματισμού της οποίας η κατάσταση τερματισμού είναι το y, θα ονομάζεται συνολική κατάσταση αποδοχής, ενώ αν η κατάσταση

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) ({ G η G είναι μια ασυμφραστική γραμματική που δεν παράγει καμιά λέξη με μήκος μικρότερο του 2 } (β) { Μ,w

Διαβάστε περισσότερα

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

Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή. Μη ντετερµινιστικές Μηχανές Turing - NTMs (1/6) Μηχανές Turing: Μη ντετερµινισµός, Επιλύσιµα Προβλήµατα Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 10 εκεµβρίου 2016

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { R η R είναι μια κανονική έκφραση η οποία παράγει μια μη πεπερασμένη γλώσσα} (β) { G η G είναι μια CFG η οποία

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 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: Διαγνωσιμότητα (Επιλυσιμότητα) ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 14: Διαγνωσιμότητα (Επιλυσιμότητα) Τι θα κάνουμε σήμερα Εισαγωγή Επιλύσιμα Προβλήματα σχετικά με τις Κανονικές Γλώσσες (4.1.1) Επιλύσιμα Προβλήματα

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { D το D είναι ένα DFA το οποίο αποδέχεται όλες τις λέξεις στο Σ * } (α) Για να διαγνώσουμε το πρόβλημα μπορούμε

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { Μ η Μ είναι μια ΤΜ η οποία διαγιγνώσκει το πρόβλημα ΙΣΟΔΥΝΑΜΙΑ ΤΜ (διαφάνεια 9 25)} (α) Γνωρίζουμε ότι το

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { G 1, G 2 οι G 1 και G 2 είναι δύο CFG που παράγουν μια κοινή λέξη μήκους 144 } (β) { D,k το D είναι ένα DFA

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Κανονικές Εκφράσεις (1.3) Τυπικός Ορισμός Ισοδυναμία με κανονικές γλώσσες Μη Κανονικές

Διαβάστε περισσότερα

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

Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation Διδάσκων: Στάθης Ζάχος Επιμέλεια Διαφανειών: Μάκης Αρσένης CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Φεβρουάριος 2017 Διδάσκων: Στάθης Ζάχος ( CoReLab

Διαβάστε περισσότερα

CSC 314: Switching Theory

CSC 314: Switching Theory CSC 314: Switching Theory Course Summary 9 th January 2009 1 1 Θέματα Μαθήματος Ερωτήσεις Τι είναι αλγόριθμος? Τι μπορεί να υπολογιστεί? Απαντήσεις Μοντέλα Υπολογισμού Δυνατότητες και μη-δυνατότητες 2

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { G,k η G είναι μια ασυμφραστική γραμματική η οποία παράγει κάποια λέξη 1 n όπου n k } (β) { Μ,k η Μ είναι

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1) Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες () Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Πεπερασμένα Αυτόματα (Κεφάλαιο., Sipser) Ορισμός πεπερασμένων αυτομάτων και ορισμός του

Διαβάστε περισσότερα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 24: Μη Ντεντερμινιστικές Μηχανές Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

Διαβάστε περισσότερα

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

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 8: Ιδιότητες Γραμματικών χωρίς Συμφραζόμενα Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος 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 ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 10: Αυτόματα Στοίβας II Τι θα κάνουμε σήμερα Ισοδυναμία αυτομάτων στοίβας με ασυμφραστικές γραμματικές (2.2.3) 1 Ισοδυναμία PDA με CFG Θεώρημα: Μια

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 16: Αναγωγές ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 16: Αναγωγές Τι θα κάνουμε σήμερα Το Πρόβλημα του Τερματισμού (4.2) Εισαγωγή στις Αναγωγές Ανεπίλυτα Προβλήματα από την Θεωρία των Γλωσσών (5.1) Απεικονιστικές

Διαβάστε περισσότερα

CSC 314: Switching Theory. Chapter 3: Turing Machines

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: Κανονικές Εκφράσεις ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 5: Κανονικές Εκφράσεις Τι θα κάνουμε σήμερα Κλειστότητα Κανονικών Πράξεων (1.2.3) Εισαγωγή στις Κανονικές Εκφράσεις Τυπικός ορισμός της κανονικής

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 21: Υπολογισμοί ΜΤ - Αναδρομικές Γλώσσες Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

Διαβάστε περισσότερα

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

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6 Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων

Διαβάστε περισσότερα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 26: Καθολική Μηχανή Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων

Διαβάστε περισσότερα

Μηχανές Turing (T.M) I

Μηχανές Turing (T.M) I Μηχανές Turing (T.M) I Οι βασικές λειτουργίες μιας TM είναι: Διάβασε το περιεχόμενο του τρέχοντος κυττάρου Γράψε 1 ή 0 στο τρέχον κύτταρο Κάνε τρέχον το αμέσως αριστερότερο ή το αμέσως δεξιότερο κύτταρο

Διαβάστε περισσότερα

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

Υπολογίσιμες Συναρτήσεις Υπολογίσιμες Συναρτήσεις Σ Π Υ Ρ Ι Δ Ω Ν Τ Ζ Ι Μ Α Σ Δ Τ Ο Μ Ε Α Σ Τ Μ Η Μ Α Μ Α Θ Η Μ Α Τ Ι Κ Ω Ν Σ Χ Ο Λ Η Θ Ε Τ Ι Κ Ω Ν Ε Π Ι Σ Τ Η Μ Ω Ν Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Ι Ω Α Ν Ν Ι Ν Ω Ν Υπολογίσιμες Συναρτήσεις

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ασυμφραστικές Γραμματικές (2.1) Τυπικός Ορισμός Σχεδιασμός Ασυμφραστικών Γραμματικών

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Μη Ασυμφραστικές Γλώσσες (2.3) Λήμμα Άντλησης για Ασυμφραστικές Γλώσσες Παραδείγματα

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 1 Λύσεις Σειρά Προβλημάτων Λύσεις Άσκηση Ορίζουμε τη συναρμογή δύο γλωσσών Α και Β ως ΑΒ = { uv u A, v B }. (α) Έστω Α = {α,β,γ} και Β =. Να περιγράψετε τη γλώσσα ΑΒ. (β) Θεωρήστε τις γλώσσες L, M και N. Να δείξετε

Διαβάστε περισσότερα

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

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών. Προδιαγραφές Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσ.h.m.μ.y. & Σ.Ε.Μ.Φ.Ε. http://www.corelab.ece.ntua.gr/courses/ 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές Στάθης Ζάχος Συνεργασία: Κωστής Σαγώνας Επιμέλεια:

Διαβάστε περισσότερα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 8: Πεπερασμένα Αυτόματα Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Χρονική Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Χρονική Πολυπλοκότητα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Μέτρηση της Πολυπλοκότητας (7.1) Η κλάση Ρ (7.2) Η κλάση ΝΡ (7.3) ΝΡ-πληρότητα (7.4)

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 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) ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 3: Ντετερμινιστικά Πεπερασμένα Αυτόματα (DFA) Τι θα κάνουμε σήμερα Εισαγωγή στα Ντετερμινιστικά Πεπερασμένα Αυτόματα 14-Sep-11 Τυπικός Ορισμός Ντετερμινιστικών

Διαβάστε περισσότερα

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

Ασκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1 Ασκήσεις Επανάληψης Άσκηση 1 (Τελική Εξέταση 5/015) Να δείξετε ότι η πιο κάτω γλώσσα δεν είναι διαγνώσιμη. { Μ L(M) {ΘΕΩΡΙΑ, ΥΠΟΛΟΓΙΣΜΟΥ} και L(M) 3} (Για την αναγωγή μπορείτε να χρησιμοποιήσετε τη γνωστή

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { a k b m c n k < m ή m > 2n, όπου k,m,n 0 } Μια γραμματική για τη γλώσσα έχει ως εξής:

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 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 Τυχαίας Προσπέλασης Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ. Θεωρία Υπολογισμού Ενότητα 23: Μηχανές Turing Τυχαίας Προσπέλασης Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

Διαβάστε περισσότερα

Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ

Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ Πεπερασμένα Αυτόματα (ΠΑ) Τα πεπερασμένα αυτόματα είναι οι απλούστερες «υπολογιστικές μηχανές». Δεν έχουν μνήμη, μόνο μία εσωτερική μονάδα με πεπερασμένο αριθμό καταστάσεων. Διαβάζουν τη συμβολοσειρά εισόδου

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

771 Η - Θεωρία Υπολογισµών και Αλγορίθµων 771 Η - Θεωρία Υπολογισµών και Αλγορίθµων Σηµειώσεις Μέρος 4 ο ιδάσκων: Α. Ντελόπουλος Το παρόν αποτελεί σηµειώσεις που αντιστοιχούν σε µέρος των διαλέξεων για το µάθηµα 771 Η - Θεωρία Υπολογισµών και

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 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: Χρονική και Χωρική Πολυπλοκότητα ΕΠΛ 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 Λύσεις

Σειρά Προβλημάτων 1 Λύσεις ΕΠΛ2: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Να βρείτε το σφάλμα στην πιο κάτω απόδειξη. Ισχυρισμός: Όλα τα βιβλία που έχουν γραφτεί στη Θεωρία Υπολογισμού έχουν τον ίδιο

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 2: Μαθηματικό Υπόβαθρο Τι θα κάνουμε σήμερα Συναρτήσεις & Σχέσεις (0.2.3) Γράφοι (Γραφήματα) (0.2.4) Λέξεις και Γλώσσες (0.2.5) Αποδείξεις (0.3) 1

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 1 Λύσεις ΕΠΛ: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Θεωρείστε τις γλώσσες Α = { n n } και Β = {w η w είναι λέξη επί του αλφαβήτου {,} τ.ώ. w }. (α) Για κάθε μια από τις πιο κάτω γλώσσες

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 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 Λύσεις

Φροντιστήριο 11 Λύσεις Άσκηση 1 Φροντιστήριο 11 Λύσεις Να αποδείξετε ότι η κλάση Ρ είναι κλειστή ως προς τις πράξεις της ένωσης, της συναρμογής και του συμπληρώματος. Θα πρέπει να δείξουμε ότι: (α) Ένωση: Αν οι Λ 1 και Λ 2 είναι

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2): Αυτόµατα Στοίβας. Παραδείγµατα Σχεδιασµού CFG. Παράδειγµα 1. Σύνοψη Προηγούµενου Γλώσσες χωρίς Συµφραζόµενα 2): Αυτόµατα Στοίβας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Μη Κανονικές Γλώσσες Το Λήµµα της Αντλησης για τις

Διαβάστε περισσότερα

HEAD INPUT. q0 q1 CONTROL UNIT

HEAD INPUT. q0 q1 CONTROL UNIT Πεπερασμένα Αυτόματα (ΠΑ) Τα πεπερασμένα αυτόματα είναι οι απλούστερες «υπολογιστικές μηχανές». Δεν έχουν μνήμη, μόνο μία εσωτερική μονάδα με πεπερασμένο αριθμό καταστάσεων. Διαβάζουν τη συμβολοσειρά εισόδου

Διαβάστε περισσότερα

CSC 314: Switching Theory. Chapter 3: Turing Machines

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 Λύσεις

Σειρά Προβλημάτων 1 Λύσεις ΕΠΛ2: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Έστω αλφάβητο Σ και γλώσσες Λ, Λ 2, Λ επί του αλφάβητου αυτού. Να διερευνήσετε κατά πόσο ισχύει κάθε μια από τις πιο κάτω σχέσεις.

Διαβάστε περισσότερα

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

Λύσεις 4ης Σειράς Ασκήσεων Λύσεις 4ης Σειράς Ασκήσεων Άσκηση 1 Αναγάγουμε τν Κ 0 που γνωρίζουμε ότι είναι μη-αναδρομική (μη-επιλύσιμη) στην γλώσσα: L = {p() η μηχανή Turing Μ τερματίζει με είσοδο κενή ταινία;} Δοσμένης της περιγραφής

Διαβάστε περισσότερα

Αριθμητική Ανάλυση & Εφαρμογές

Αριθμητική Ανάλυση & Εφαρμογές Αριθμητική Ανάλυση & Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2017-2018 Υπολογισμοί και Σφάλματα Παράσταση Πραγματικών Αριθμών Συστήματα Αριθμών Παράσταση Ακέραιου

Διαβάστε περισσότερα

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

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

Διαβάστε περισσότερα

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

Αποφασισιµότητα / Αναγνωρισιµότητα. Μη Επιλύσιµα Προβλήµατα. Η έννοια της αναγωγής. Τερµατίζει µια δεδοµένη TM για δεδοµένη είσοδο; Αποφασισιµότητα / Αναγνωρισιµότητα Ορέστης Τελέλης telelis@unipi.gr Μη Επιλύσιµα Προβλήµατα Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 2/12/2015 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Αποφασισιµότητα 2/12/2015

Διαβάστε περισσότερα

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

Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E. Οι γλώσσες των Μηχανών Turing Αποφασισιµότητα / Αναγνωρισιµότητα Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L Αποδέχεται όταν (η είσοδος στην TM) w L. Ορέστης Τελέλης telelis@unipi.gr Τµήµα

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 4. Μη Ντετερμινιστικά Πεπερασμένα Αυτόματα 9,19 Φεβρουαρίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μοντέλα Υπολογισμού Μη Ντετερμινιστικό Πεπερασμένα Αυτόματα: Διαφορά

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 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

Chapter 7, 8 : Time, Space Complexity CSC 314: Switching Theory Chapter 7, 8 : Time, Space Complexity 12 December 2008 1 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτεμπορούμεναπεριγράψουμεμεένααλγόριθμο μπορεί να

Διαβάστε περισσότερα