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

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

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

Transcript

1 771 Η - Θεωρία Υπολογισµών και Αλγορίθµων Σηµειώσεις Μέρος 3 ο ιδάσκων: Το παρόν αποτελεί σηµειώσεις που αντιστοιχούν σε µέρος των διαλέξεων για το µάθηµα 771 Η - Θεωρία Υπολογισµών και Αλγορίθµων του Τµήµατος Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών του Αριστοτέλειου Πανεπιστήµιου Θεσσαλονίκης. Το υλικό των διαλέξεων και των σηµειώσεων στηρίζεται σε µεγάλο βαθµό στην ύλη του βιβλίου: Harry R. Lwis and Christos H. Papadimitriou, Elmnts of th Thory of Computation, 2nd dition, Prntic Hall,

2 Γλώσσες Χωρίς Συµφραζόµενα Ορισµοί, Ιδιότητες, Αντιστοιχία µε τα Αυτόµατα Στοίβας (Push-Down) Γεννήτριες Γλωσσών Γεννήτρια Γλώσσας είναι ένας µηχανισµός (αλγόριθµος) που µπορεί να παράγει ένα συγκεκριµένο σύνολο συµβολοσειρών Το σύνολο αυτό είναι η γλώσσα της γεννήτριας Οι ΚΕ είναι ένα από τα είδη γεννητριών π.χ. ΚΕ R=a(a* b*)b Πρώτα βάλε ένα a. Μετά κάνε ένα από τα ακόλουθα: Είτε βάλε έναν αριθµό από a είτε βάλε έναν οποιοδήποτε αριθµό από b. Στο τέλος βάλε ένα b. Μία γενικότερη µορφή γεννητριών είναι οι Γραµµατικές Χωρίς Συµφραζόµενα (ΓΧΣ) 2

3 Γραµµατικές Χωρίς Συµφραζόµενα (ΓΧΣ) Ορισµός: Μία ΓΧΣ είναι µία τετράδα G=(V,Σ,R,S) όπου: V είναι ένα επεκτεταµένο αλφάβητο Σ είναι το σύνολο των Τερµατικών Συµβόλων (ΤΣ) δηλαδή το κλασσικό µας αλφάβητο. Σ V. R το σύνολο των κανόνων της γραµµατικής δηλαδή R (V-Σ) V* (όπου V* όλες οι συµβολοσειρές του V) S το Σύµβολο Εκκίνησης (ΣΕ) V-Σ Το V-Σ είναι το σύνολο Μη Τερµατικών Συµβόλων (ΜΤΣ) Μία ΓΧΣ G γεννά συµβολοσειρές αντικαθιστώντας ΜΤΣ µε συνδιασµούς ΤΣ και ΜΤΣ (ή και µε την κενή συµβολοσειρά V*) εφαρµόζοντας τους κανόνες R. Η αντικατάσταση σταµατά όταν δεν υπάρχουν άλλα ΜΤΣ Για κάθε αντικατάσταση ΕΝ ελέγχουµε ποιά σύµβολα υπάρχουν τριγύρω = Χωρίς Συµφραζόµενα Παράδειγµα Λειτουργίας ΓΧΣ -1 Έστω G=(V,Σ,R,S) µε V={S,M,A,B,a,b} Σ={a,b} R={(S,aMb), (M,A),(M,B),(A,),(A,aA),(B,),(B,bB)} ισοδύναµα γράφουµε R={S amb, M A, M B, A, A aa, B, B bb} S=S Παραδείγµατα γέννεσης (παραγωγής) συµβολοσειρών: S amb aab aaab aaaab aaab S amb abb abbb abb S amb aab ab Εύκολα φαίνεται ότι αυτή η ΓΧΣ G ταυτίζεται µε την KE R= a(a* b*)b ΠΡΟΣΟΧΗ: εν αντιστοιχούν όλες οι ΓΧΣ σε ΚΕ 3

4 Παράδειγµα Λειτουργίας ΓΧΣ -2 Έστω G=(V,Σ,R,S) µε V={S,a,b} Σ={a,b} R= {S asb, S } S=S Παραδείγµατα γέννεσης: S asb ab S asb aasbb aabb S asb aasbb aaasbbb aaabbb Εύκολα φαίνεται ότι αυτή η ΓΧΣ G παράγει όλες τις συµβολοσειρές της µορφής a n b n, όπου n θετικός ακέραιος. Είναι γνωστό ότι καµµία ΚΕ δεν παράγει αυτές τις συµβολοσειρές! Παραγωγή και Γλώσσες Χωρίς Συµφραζόµενα (ΓΛΧΣ) Συνοψίζοντας γράφουµε: A G u όταν A V-Σ, u V* και (A,u) R (V-Σ) V* u G v όταν το v παράγεται από το u µε την αντικατάσταση ενός ΜΤΣ του u u G * v όταν το v παράγεται από το u µε διαδοχικές αντικαταστάσεις ΜΤΣ του u(και των παραγώγων του) Οδείκτης G στους παραπάνων συµβολισµούς µπορεί να παραληφθεί όταν είναι αυτονόητη η γραµµατική G Οποιαδήποτε ακολουθία w 0 G w 1 G G w n λέγεται παραγωγή του w n από το w 0 από την G ΓΛΧΣ L(G)={w Σ*: S G * w} 4

5 Σχέση Κανονικών Γλωσσών και Γλωσσών Χωρίς Συµφραζόµενα Κάθε Κανονική Γλώσσα είναι και ΓΛΧΣ Απόδειξη: Έστω κανονική γλώσσα L και Μ=(K,Σ,δ,s,F) το ΑΠΑ που την αποδέχεται. Τότε η ίδια γλώσσα παράγεται από τη ΓΧΣ G=(V,Σ,R,S) µε V = K Σ (αντιστοιχίζουµετιςκαταστάσειςσεμτσ) S =s R= { ap: δ(,a) = p} { : F} εύκολα φαίνεται ότι η G γεννά τις συµβολοσειρές που είναι αποδεκτές από το M. Υπάρχουν ΓΛΧΣ που ΕΝ είναι Κανονικές Συντακτικά έντρα (Pars Trs) Οι Παραγωγές συµβολοσειρών αναπαρίστανται µέσω Συντακτικών έντρων (Σ ): Κάθε κόµβος του Σ αντιστοιχεί σε ένα σύµβολο του V Κάθε κλάδος του Σ που ξεκινά από έναν κόµβο A καταλήγει σε κόµβους B 1, B 2,, B k αν το Α αντικαθίσταται µε χρήση του κανόνα A B 1 B 2 B k Το σύµβολο εκκίνησης αντιστοιχεί στη ρίζα του Σ Τα (ακραία) φύλλα του Σ είναι Τερµατικά Σύµβολα Η συµβολοσειρά που σχηµατίζεται από τα (ακραία) φύλλα όταν τα διαβάσουµε από τα αριστερά προς τα δεξιά είναι το αποτέλεσµα του Σ 5

6 Συντακτικά έντρα - Παράδειγµα Έστω ΓΧΣ G=(V,Σ,R,S) µε V={S,(,)} Σ={(,)} R={S, S SS, S (S)} S=S και οι παραγωγές: 1. S SS (S)S ()(S) ()() 2. S SS S(S) (S)(S) (S)() ()() οι δύο αυτές παραγωγές αντιστοιχούν στο ίδιο Σ που φαίνεται παρακάτω S ( S ) S S ( S ) ιάταξη µεταξύ Παραγωγών Η παραγωγή D = x 1 x 2 x n προηγείται της D = x 1 x 2 x n όταν διαφέρουν µόνο σε δύο διαδοχικά βήµατα δηλαδή x k διαφέρει από το x k στην D η αντικατάσταση των αριστερότερων ΜΤΣ γίνεται πριν από την αντίστοιχη αντικατάσταση στην D Γράφουµε: D < D Παράδειγµα: Αν D 1 = S SS (S)S ((S))S (())S (())(S) (())() D 2 = S SS (S)S ((S))S ((S))(S) (())(S) (())() D 3 = S SS (S)S ((S))S ((S))(S) ((S))() (())() Τότε D 1 < D 2, D 2 < D 3, αλλά ΟΧΙ D 1 < D 3 6

7 Οµοιες Παραγωγές ύο παραγωγές D 1 και D 2 λέγονται όµοιες όταν συνδέονται, απευθείας ή µέσω µιας αλυσίδας άλλων παραγωγών µε τις σχέσεις < ή > οι D 1 και D 3 του προηγούµενου παραδείγµατος είναι όµοιες γιατί D 1 < D 2 < D 3 Η οµοιότητα είναι σχέση ισοδυναµίας ύο παραγωγές D 1 και D 2 είναι όµοιες αν και µόνο αν αντιστοιχούν στο ίδιο Σ Αριστερότερη ( εξιότερη) Παραγωγή είναι αυτή που προηγείται (έπεται) όλων των οµοίων της Ισοδύναµα: Στο Σ αντικαθίσταται πρώτα το πιο αριστερό (δεξιό) ΜΤΣ Είναι δυνατό µία συµβολοσειρά, w,να γεννιέται από περισσότερα του ενός Σ = ασαφής γραµµατική Αυτόµατα Στοίβας (push-down) Κεντρική Ιδέα: Όπως τα Πεπεπερασµένα Αυτόµατα (ΑΠΑ και ΜΑΠΑ) αντιστοιχούν 1-1 σε Κανονικές Γλώσσες, έτσι και τα Αυτόµατα Στοίβας αντιστοιχούν 1-1 στις Γλώσσες Χωρίς Συµφραζόµενα Όπως οι Γλώσσες Χωρίς Συµφραζόµενα είναι γενίκευση των Κανονικών Γλωσσών έτσι και τα Αυτόµατα Στοίβας είναι γενίκευση των Πεπερασµένων Αυτοµάτων Ένα Αυτόµατο Στοίβας λειτουργεί όπως ένα Πεπερασµένο Αυτόµατο µόνο που διαθέτει µία επιπλέον µνήµη υπό τη µορφή στοίβας η µετάβαση στη επόµενη κατάσταση εξαρτάται από την τρέχουσα κατάσταση, το σύµβολο εισόδου και το περιεχόµενο τις στοίβας Στις επόµενες ενότητες ορίζονται τα Αυτόµατα Στοίβας και αναλύονται οι παραπάνω προτάσεις 7

8 (Μη Αιτιοκρατικά) Αυτόµατα Στοίβας Ορισµός: Αυτόµατο Στοίβας (ΑΣ) είναι µία εξάδα M=(K,Σ,Γ,,s,F) όπου K πεπερασµένο σύνολο καταστάσεων Σ το αλφάβητο των συµβολοσειρών εισόδου Γ το αλφάβητο της στοίβας s η αρχική κατάσταση F το σύνολο των τελικών καταστάσεων (F K) ησχέσηµετάβασης, (K (Σ {}) Γ*) (Κ Γ*) Τρόπος Λειτουργίας: Σε κάθε κύκλο το αυτόµατο διαβάζει 1 σύµβολο εισόδου, a, από το w ήκανένασύµβολο (a=) σύµφωνα µετονόµο µετάβασης ((p,a,β),(,γ)) διαβάζει (και διαγράφει) από την κορυφή της στοίβας το β Γ* και γράφει στην κορυφή της στοίβας ένα νέο σύµβολο/συµβολοσειρά γ Γ* µεταβαίνει σε µία νέα κατάσταση,, ανάλογα µετοσύµβολο, a, που διαβάστηκε, την τρέχουσα κατάσταση, p, και το σύµβολο β Συµπεριφέρεται Μή Αιτιοκρατικά (πολλαπλά ενδεχόµενα) (Μη Αιτιοκρατικά) Αυτόµατα Στοίβας Ανα πάσα στιγµή, η συνέχεια της λειτουργίας του ΑΣ ΕΝ εξαρτάται από τα παρελθόντα σύµβολα εισόδου Οι µελλοντικές µεταβάσεις καθορίζονται από την ολική κατάσταση του ΑΣ: C = (,w,v) K Σ* Γ* όπου η τρέχουσα κατάσταση w ηυποσυµβολοσειρά που αποµένει να διαβαστεί v ησυµβολοσειρά της στοίβας διαβασµένη από πάνω προς τα κάτω Οι σχέσεις παράγει σε ένα βήµα ( Μ ) και το ανακλαστικό- µεταβατικό της κλείσµο παράγει ( Μ *) ορίζονται µεταξύ ολικών καταστάσεων όπως και στα ΜΑΠΑ Υπολογισµός n βηµάτων: Η σταδιακή παραγωγή ολικών καταστάσεων C 0 Μ C 1 Μ Μ C n Αποδεκτή γλώσσα του ΑΣ, L(M), είναι το σύνολο των συµβολοσειρών εισόδου που είναι αποδεκτές από το αυτόµατο (όµοια µε τααπακαιμαπα) 8

9 Αυτόµατα Στοίβας παράδειγµα #1 Έστω M=(K,Σ,Γ,,s,F) µε K={s, f}, Σ = {a, b, c}, Γ = {a, b}, F = {f} Το σύνολο περιέχει τις ακόλουθες µεταβάσεις: 1. ((s,a,),(s,a)) 2. ((s,b,),(s,b)) 3. ((s,c,),(f,)) 4. ((f,a,a),(f,)) 5. ((f,b,b),(f,)) Ο πίνακας στην επόµενη σελίδα καταγράφει έναν υπολογισµό για είσοδο w=abbcbba Αυτόµατα Στοίβας παράδειγµα #1 (συν.) Κατάσταση Συµβολοσειρά που αποµένει να διαβαστεί Στοίβα Κανόνας Μετάβασης που χρησιµοποιήθηκε s abbcbba - s bbcbba a 1 ( push a ) s bcbba ba 2 ( push b ) s cbba bba 2 ( push b ) f bba bba 3 f ba ba 5 ( pop b ) f a a 5 ( pop b ) f 4 ( pop a ) Το αυτόµατο αποδέχεται συµβολοσειρές της µορφής wcw R όπου w {a,b}*. 9

10 Αυτόµατα Στοίβας παράδειγµα #2 Έστω M=(K,Σ,Γ,,s,F) µε K={s, f}, Σ = {a, b}, Γ = {a, b}, F = {f} Το σύνολο περιέχει τις ακόλουθες µεταβάσεις: 1. ((s,a,),(s,a)) 2. ((s,b,),(s,b)) 3. ((s,,),(f,)) 4. ((f,a,a),(f,)) 5. ((f,b,b),(f,)) Ίδιο µε το προηγούµενο παράδειγµα εκτός του κανόνα 3 Ο πίνακας στην επόµενη σελίδα καταγράφει έναν υπολογισµό για είσοδο w=abbbba Αυτόµατα Στοίβας παράδειγµα #2 (συν.) Βήµα Κατάσταση Συµβολοσειρά που αποµένει να διαβαστεί Στοίβα Κανόνας Μετάβασης που χρησιµοποιήθηκε 0 s abbbba - 1 s bbbba a 1 ( push a ) 2 s bbba ba 2 ( push b ) 3 s bba bba 2 ( push b ) 4 f bba bba 3 (αλλαγή κατάστασης) 5 f ba ba 5 ( pop b ) 6 f a a 5 ( pop b ) 7 f 4 ( pop a ) Το αυτόµατο αποδέχεται συµβολοσειρές της µορφής ww R όπου w {a,b}*. Το αυτόµατο Μη Αιτιοκρατικά επέλεξε στο βήµα 4 να χρησιµοποιήσει τον κανόνα 3 και όχι τον 2. 10

11 Αυτόµατα Στοίβας και Γλώσσες Χωρίς Συµφραζόµενα Το σύνολο των ΓΛΧΣ ταυτίζεται µε το σύνολο των γλωσσών που αποδέχονται τα ΑΣ. Ειδικότερα: Κάθε ΓΛΧΣ είναι αποδεκτή από κάποιο ΑΣ G=(V,Σ,R,S) M=(K,Σ,Γ,,s,F)({p,},Σ,V,,p,{}) όπου p, αυθαίρετες καταστάσεις και το σύνολο µεταβάσεων περιέχει: ((p,,),(,s)) ((,,A),(,x)) για κάθε κανόνα Α x της R ((,a,a),(,)) για κάθε σύµβολο a Σ Κάθε γλώσσα αποδεκτή από ΑΣ είναι ΓΛΧΣ Είναι δυνατή (αλλά πιο περίπλοκη η κατασκευή γραµµατικής G που να αντιστοιχεί σε οποιοδήποτε ΑΣ M) Παράδειγµα κατασκευής ΑΣ από ΓΛΧΣ Έστω ΓΧΣ G = (V,Σ,R,S) µε V={S,a,b,c}, Σ = {a, b,c}, R = {S asa, S bsb, S c} ΗΓΧΣG παράγει τη γλώσσα L(G)={wcw R, w {a,b}*} Το αντίστοιχο ΑΣ είναι Μ=({p,},Σ,V,,p,{}) και το περιέχει τις ακόλουθες µεταβάσεις: 1. ((p,,),(,s)) προετοιµασία για εκκίνηση 2. ((,,S),(,aSa)) αντικατάσταση σύµφωνα µε τον κανόνα 1 3. ((,,S),(,bSb)) αντικατάσταση σύµφωνα µε τον κανόνα 2 4. ((,,S),(,c)) αντικατάσταση σύµφωνα µε τον κανόνα 3 5. ((,a,a),(,)) pop a 6. ((,b,b),(,)) pop b 7. ((,c,c),(,)) pop c 11

12 Παράδειγµα κατασκευής ΑΣ από ΓΛΧΣ (συν.) Βήµα Κατάσταση p Συµβολοσειρά που αποµένει abbcbba abbcbba abbcbba bbcbba bbcbba bcbba bcbba cbba cbba bba 6 ( pop b ) ba a Στοίβα S asa Sa bsba Sba bsbba Sbba cbba bba ba a Κανόνας Μετάβασης που χρησιµοποιήθηκε ( pop a ) 3 6 ( pop b ) 3 6 ( pop b ) 4 7 ( pop c ) 6 ( pop b ) 5 ( pop a ) Πράξεις Γλωσσών Χωρίς Συµφραζόµενα Θεώρηµα: Το σύνολο των ΓΛΧΣ είναι κλειστό ώς προς τις (µεταξύ γλωσσών) πράξεις 1. ένωση 2. παράθεση 3. Kln star Το σύνολο των ΓΛΧΣ ΕΝ είναι κλειστό ώς προς τις (µεταξύ γλωσσών) πράξεις 1. τοµή 2. συµπλήρωµα 12

13 Ένωση ΓΛΧΣ Έστω δύο ΓΛΧΣ L(G 1 ) και L(G 2 ) µε G 1 =(V 1,Σ 1,R 1,S 1 ) και G 2 =(V 2,Σ 2,R 2,S 2 ) τότε υπάρχει ΓΧΣ G=(V,Σ,R,S) τέτοια ώστε L(G)= L(G 1 ) L(G 2 ). Η παραπάνω γραµµατική,g, κατασκευάζεται ως εξής: V= V 1 V 2 {S} Σ= Σ 1 Σ 2 R= R 1 R 2 {S S 1, S S 2 } (αποδείξτε το) Παράθεση ΓΛΧΣ Έστω δύο ΓΛΧΣ L(G 1 ) και L(G 2 ) µε G 1 =(V 1,Σ 1,R 1,S 1 ) και G 2 =(V 2,Σ 2,R 2,S 2 ) τότε υπάρχει ΓΧΣ G=(V,Σ,R,S) τέτοια ώστε L(G)= L(G 1 )L(G 2 ). Η παραπάνω γραµµατική,g, κατασκευάζεται ως εξής: V= V 1 V 2 {S} Σ= Σ 1 Σ 2 R= R 1 R 2 {S S 1 S 2 } (αποδείξτε το) 13

14 Kln Star ΓΛΧΣ Έστω ΓΛΧΣ L(G 1 ) µε G 1 =(V!,Σ 1,R 1,S 1 ) τότε υπάρχει ΓΧΣ G=(V,Σ,R,S) τέτοια ώστε L(G)= L(G 1 )*. Η παραπάνω γραµµατική,g, κατασκευάζεται ως εξής: V= V 1 {S} Σ= Σ 1 R= R 1 {S, S SS 1 } (αποδείξτε το) Κανονική Μορφή Chomsky (KMC) Η ΓΧΣ G=(V,Σ,R,S) είναι στην KMC όταν R (V-Σ) V 2 δηλαδή όλοι οι κανόνες είναι στη µορφή A BC όπου Α ΜΤΣ (A V-Σ) και B,C V υπενθύµιση: στηγενικήπερίπτωσηγχσείναι R (V-Σ) V* θα δειχθεί στη συνέχεια ότι: για κάθε ΓΧΣ υπάρχει µία σχεδόν ισοδύναµη γραµµατική KMC αν η γραµµατική G είναι στην KMC, είναι αλγοριθµικά εύκολος (πολυωνυµικής πολυπλοκότητας) ο έλεγχος του αν µία συµβολοσειρά x L(G) µετηµέθοδο του υναµικού Προγραµµατισµού 14

15 Μετατροπή σε ΚΜC Θεώρηµα: Για κάθε ΓΧΣ G υπάρχει ΓΧΣ G στην KMC τέτοια ώστε L(G ) = L(G) (Σ {}). ηλαδή από την L(G ) λείπουν µόνο όσες συµβολοσειρές w έχουν µήκος w 1. Απόδειξη: Εντοπίζουµε στην G τους κανόνες που αντιβαίνουν τις συνθήκες της KMC, δηλαδή: 1. Μακριοί κανόνες: A B 1 B 2 B n, n 3 2. Κανόνες προς το κενό: A 3. Κοντοί κανόνες: A B και σταδιακά τους εξαλείφουµε (βλ. παρακάτω) Μετατροπή σε ΚΜC εξάλειψη µακριών κανόνων Αντικαθιστούµε τους κανόνες της µορφής A B 1 B 2 B n, n 3 µε τους ακόλουθους n-1 κανόνες: A B 1 Α 1 A 1 B 2 Α 2... A n-2 B n-1 B n όπου A 1, A 2,..., A n νέα ΜΤΣ Η ΓΧΣ που προκύπτει είναι ακριβώς ισοδύµανη µετηναρχική. 15

16 Μετατροπή σε ΚΜC εξάλειψη κανόνων προς το κενό Υπολογίζουµε το σύνολο των υπό διαγραφή ΜΤΣ E={A V-Σ: Α * } WHILE υπάρχει κανόνας A α µε α Ε* AND A E DO πρόσθεσε το A στο Ε Όταν υπολογιστεί το Ε ιαγράφουµε όλους τους κανόνες της µορφής A Για κάθε κανόνα της µορφής A BC ή A CB µε Β Ε προσθέτουµεένανκανόναa C Από τη ΓΛΧΣ που αντιστοιχεί στη νέα ΓΧΣ λείπει µόνο το (δε µπορεί πλέον να παραχθεί) Μετατροπή σε ΚΜC εξάλειψη κοντών κανόνων Για κάθε A V υπολογίζουµε τοσύνολοτωνσυµβόλων που παράγονται από το A: D(A)={B V: Α *B} Αρχικοποίηση: D(A)={A} WHILE υπάρχει κανόνας B Cµε B D(A) AND C D(A) DO πρόσθεσε το C στο D(A) Παρατήρηση: Α D(A) για κάθε ΜΤΣ Α και D(α)={α} για κάθε ΤΣ α Μετά ιαγράφουµε όλους τους κοντούς κανόνες Αντικαθιστούµε όλους τους κανόνες A BC µε όλους τους δυνατούς κανόνες A B C µε B D(B) και C D(C) Για κάθε κανόνα A BC µεα D(S)-{S} προσθέτουµε τον κανόνα S BC Από τη ΓΛΧΣ που αντιστοιχεί στη νέα ΓΧΣ λείπουν µόνο τα α Σ (συµβολοσειρές µήκους 1 δε µπορεί πλέον να παραχθούν) 16

17 Μετατροπή σε ΚΜC Παράδειγµα Εστω ΓΧΣ G µε κανόνες R={S SS, S (S), S } που παράγει τη γλώσσα των ταιριασµένων παρενθέσεων. Εξάλειψη µακριών κανόνων: Αντικαθιστούµε τον S (S) µε τουςs (S 1 και S 1 S), οπότε προκύπτουν οι κανόνες R={S SS, S (S 1, S 1 S), S }. Εξάλειψη κανόνων προς το κενό Υπολογίζουµε ότι Ε={S}, οπότε προκύπτουν οι κανόνες R={S SS, S (S 1, S 1 S), S S, S )} και επειδή ο S S δεν προσφέρει τίποτε έχουµε R={S SS, S (S 1, S 1 S), S 1 ) }. Εξάλειψη κοντών κανόνων Υπολογίζουµε ότι D(S 1 )={S 1,)}, D(S)={S}, D( ) )={)}, D( ( )={(}, οπότε λαµβάνοντας υπόψη µόνο το µη τετριµµένο D(S 1 )={S 1,)} προκύπτουν οι κανόνες R={S SS, S (S 1, S 1 S), S ()} όπου ο S () προστέθηκε επειδή S (S 1 και ) D(S 1 ). Πολυπλοκότητα Μετατροπής σε ΚΜC Έστω ΓΧΣ G µεγέθους n µέγεθος,n,της γραµµατικής G εννούµε το µήκος µιας συµβολοσειράς που περιγράφει την G. Πρακτικά, n (το συνολικό µήκος των συµβολοσειρών που αναπαριστούν τους κανόνες της G) Εξάλειψη µακριών κανόνων πολυπλοκότητα = Ο(n) η νέα γραµµατική έχει µέγεθος O(n) Εξάλειψη κανόνων προς το κενό πολυπλοκότητα = O(n 2 ) για τον υπολογισµό του Ε + O(n) για την προσθήκη των κανόνων Εξάλειψη κοντών κανόνων πολυπλοκότητα = O(n 3 ) ΠΟΛΥΩΝΥΜΙΚΗ ΣΥΝΟΛΙΚΗ ΠΟΛΥΠΛΟΚΟΤΗΤΑ O(n 3 ) 17

18 υναµικός Προγραµµατισµός Οι αλγόριθµοι υναµικού Προγραµµατισµού λύνουν ένα πρόβληµα ξεκινώντας από µικρότερα προβλήµατα και φτάνοντας, αναδροµικά, στη λύση του τελικού Αν G ΓΧΣ στην ΚΜC τότε ο έλεγχος x L(G ) ; επιτυγχάνεται µε υναµικό Προγραµµατισµό Ελέγχουµε τις υποσυµβολοσειρές του x αρχίζοντας από αυτές µήκους 1 Επειδή η G είναι στην ΚΜC το x L(G ) αν και µόνο αν υπάρχουν B,C L(G ) ώστε x=bc Οαλγόριθµος περιγράφεται στη συνέχεια... Έλεγχος x L(G ) ; για G στην ΚΜC Έστω ότι η συµβολοσειρά x=x 1 x 2 x n (x i Σ) µε µήκος n. Ορίζουµε N[i, i+s] = {σύµβολα του V που παράγουν την υποσυµβολοσειρά x i x i+s } Υπολογίζουµε αναδροµικά τα N[i, i+s] για κάθε υποσυµβολοσειρά µήκους s+1 (s=1 n-1) µε βάση τα ήδη υπολογισµένα, Ν[i,k], N[k+1,i+s], (που αντιστοιχούν σε ζεύγη υποσυµβολοσειρών, x i x k, x k+1 x i+s, που την αποτελούν) Αρχικοποίηση: FOR i=1 n DO N[i,i]={x i } FOR s=1 n-1 DO FOR i=1 n-s DO FOR k=1 i+s-1 DO IF υπάρχει κανόνας A BC µε B N[i,k] AND C N[k+1,i+s] THEN πρόσθεσε το A στο N[i,i+s] Το x L(G ) αν και µόνο αν S N[1,n] Πολυπλοκότητα: Ο( x 3 G ) Πολυωνυµική! 18

19 Παράδειγµα ελέγχου Έστω η G στην KMC που είχε παραχθεί στο προηγούµενο παράδειγµα µε κανόνες R={S SS, S (S 1, S 1 S), S ()} και η συµβολοσειρά x = ( ( ) ( ( ) ) ) Κάθε κελί (i,j) του παρακάτω πίνακα περιέχει τα στοιχεία του συνόλου N(i,j) όπως υπολογίζονται από τον αλγόριθµο Ο υπολογισµός ξεκινά από τα διαγώνια στοιχεία προχωρά σε διαδοχικές δευτερεύουσες διαγωνίους ο υπολογισµός κάθε κελιού χρησιµοποιεί µόνο τα κελιά που βρίσκονται στην ίδια γραµµή και αριστερά στην ίδια στήλη και προς τα πάνω Το κελί (1,n) που αντιστοιχεί στο N(1,n) συµπληρώνεται τελευταίο. Στο παράδειγµα περιέχει το S, άρα x L(G ). Παράδειγµα ελέγχου (συν.) Για παράδειγµα στον υπολογισµό του N(4,7) ελέγχουµε διαδοχικά αν υπάρχει κανόνας A BC µε ) ) ) B N(4,4) και C N(5,7) υπάρχει ο S (S 1 B N(4,5) και C N(6,7) δεν υπάρχει ( ( ) S ( ( S S 1 S S S 1 S 1 S B N(4,6) και C N(7,7) δεν υπάρχει Άρα N(4,7) ={S} 19

20 Αλγόριθµοι για ΓΛΧΣ 1. ΓΧΣ G=(V,Σ,R,S) ΑΣ M=(K,Σ,Γ,,s,F) πολυπλοκότητα: πολυωνυµική 2. ΑΣ M=(K,Σ,Γ,,s,F) ΓΧΣ G=(V,Σ,R,S) πολυπλοκότητα: πολυωνυµική 3. έλεγχος για το αν η συµβολοσειρά x L(G) όπου G=ΓΧΣ πολυπλοκότητα: πολυωνυµική (=µετατροπή της G σε KMC + υναµικός προγραµµατισµός) Αιτιοκρατικά Αυτόµατα Στοίβας (ΑΑΣ) Ένα ΑΣ Μ είναι αιτιοκρατικό όταν από κάθε ολική κατάσταση C n µπορεί να προκύψει το πολύ µία επόµενη κατάσταση C n+1 Μία γλώσσα L λέγεται Αιτιοκρατική Γλώσσα Χωρίς Συµφραζόµενα (ΑΓΛΧΣ) όταν υπάρχει ΑΑΣ Μ τέτοιο ώστε L$ = L(M) όπου το νέο σύµβολο (dlimitr) $ Σ σηµατοδοτεί το τέλος των συµβολοσειρών που παραδίδονται στο αυτόµατο Υπάρχουν ΑΣ που ΕΝ είναι (ούτε ισοδυναµούν µε) ΑΑΣ αντιπαράβαλε µε τη σχέση ΑΠΑ/ΜΑΠΑ Υπάρχουν ΓΧΣ που ΕΝ είναι Αιτιοκρατικές 20

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 7. Κατηγορηματικές Γραμματικές 27,2 Φεβρουαρίου, 9 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Κατηγορηματικές Γραμματικές Ή Γραμματικές Χωρίς Συμφραζόμενα Παράδειγμα.

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

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 7. Αυτόματα Στοίβας 9,13 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Γιατί τα πεπερασμένα αυτόματα δεν μπορούν να αναπαραστήσουν οποιαδήποτε κατηγορηματική γλώσσα?

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

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

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

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

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

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 1 /

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης. Γενικές Παρατηρήσεις Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα () Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Υπάρχουν µη κανονικές γλώσσες, π.χ., B = { n n n }. Αυτό

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

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

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

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

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

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

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

Θέματα Μεταγλωττιστών

Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 1 η : Parsers Συντακτική Ανάλυση για ΓΧΣ Οι τεχνικές συντακτικής ανάλυσης κατηγοριοποιούνται με βάση διάφορα κριτήρια: Κατεύθυνση ανάλυσης μη τερματικών συμβόλων Σειρά επιλογής

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

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

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

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

Θέματα Μεταγλωττιστών

Θέματα Μεταγλωττιστών Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 1 η : Parsers Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Συντακτική Ανάλυση για ΓΧΣ Οι τεχνικές συντακτικής ανάλυσης κατηγοριοποιούνται

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

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

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

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

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

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

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

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

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

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

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

Κανονικές Γλώσσες. Κανονικές Γλώσσες. Κανονικές Γλώσσες και Αυτόματα. Κανονικές Γλώσσες και Αυτόματα Κανονικές Γλώσσες Κανονικές Γλώσσες Διδάσκοντες: Φ. Αφράτη, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Κανονική γλώσσα αν παράγεται από κανονική γραμματική. Παραγωγές P (V Σ) Σ * ((V Σ) ε) Παραγωγές μορφής:

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

aab aabb aaabb aaaabb aaaabb aaaabb

aab aabb aaabb aaaabb aaaabb aaaabb Κεφάλαιο 4 Γλώσσες & Γραμματικές Χωρίς Συμφραζόμενα Σύνοψη Η κλάση των Γλωσσών Χωρίς Συμφραζόμενα (ΓΧΣ) είναι εκφραστικά αρκετά ισχυρή, ώστε να επιτρέπει την περιγραφή γλωσσών, όπως οι γλώσσες προγραμματισμού,

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

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

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

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

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

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

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

Γλώσσες Χωρίς Συμφραζόμενα

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

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

Σχεδίαση Γλωσσών Προγραμματισμού Λεξική Ανάλυση Ι. Εαρινό Εξάμηνο Lec 05 & & 26 /02/2019 Διδάσκων: Γεώργιος Χρ.

Σχεδίαση Γλωσσών Προγραμματισμού Λεξική Ανάλυση Ι. Εαρινό Εξάμηνο Lec 05 & & 26 /02/2019 Διδάσκων: Γεώργιος Χρ. Σχεδίαση Γλωσσών Προγραμματισμού Λεξική Ανάλυση Ι Εαρινό Εξάμηνο 2018-2019 Lec 05 & 06 25 & 26 /02/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Φάσεις μεταγλώττισης Αρχικό Πρόγραμμα Λεκτική Ανάλυση λεκτικές μονάδες

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

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

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

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

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

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

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

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

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

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

Στοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις

Στοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις Στοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού

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

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

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

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

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

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

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

Θέματα υπολογισμού στον πολιτισμό

Θέματα υπολογισμού στον πολιτισμό Θέματα υπολογισμού στον πολιτισμό Ενότητα 4: Μοντελοποίηση υπολογισμού: Γραμματικές Εύη Παπαϊωάννου Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών

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

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

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

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

Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση Ι. Εαρινό Εξάμηνο Lec /03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής

Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση Ι. Εαρινό Εξάμηνο Lec /03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση Ι Εαρινό Εξάμηνο 2018-2019 Lec 09 18 /03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Φάσεις μεταγλώττισης Αρχικό Πρόγραμμα Λεκτική Ανάλυση λεκτικές μονάδες Πίνακας

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητα Ενδιάμεση Εξέταση Ημερομηνία : Σάββατο, 15 Μαρτίου 2014 Διάρκεια : 9.30 11.30 Διδάσκουσα : Άννα Φιλίππου Ονοματεπώνυμο:

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

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

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

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

Τεχνητή Νοημοσύνη. 21η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 21η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 21η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: «Artificial Intelligence A Modern Approach» των. Russel

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 11 : Γραμματικές χωρίς συμφραζόμενα. Αλέξανδρος Τζάλλας 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεωρία Υπολογισμού Ενότητα 11 : Γραμματικές χωρίς συμφραζόμενα Αλέξανδρος Τζάλλας 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής

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

CSC 314: Switching Theory

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

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

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

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

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

Σειρά Προβλημάτων 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: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 5: Κανονικές Εκφράσεις

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

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

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος.

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

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

Κεφάλαιο 2: Τυπικές γλώσσες

Κεφάλαιο 2: Τυπικές γλώσσες Κεφάλαιο 2: Τυπικές γλώσσες (μέρος 2ο) Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος 2017 47 / 216 Γλώσσες χωρίς συμφραζόμενα (i) Γραμματικές χωρίς συμφραζόμενα: Σε κάθε παραγωγή ένα μη τερματικό

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

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

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

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

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

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

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

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

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

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

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

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

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

Γλώσσες Χωρίς Συμφραζόμενα

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

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

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

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

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

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

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

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

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

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

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

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i. Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

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

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

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

Ισοδυναμία Αιτ. Και μη Αιτ. Π.Α.

Ισοδυναμία Αιτ. Και μη Αιτ. Π.Α. Ισοδυναμία Αιτ. Και μη Αιτ. Π.Α. Δύο Π.Α. Μ 1 και Μ 2 είναι ισοδύναμα ανν L(M 1 ) = L(M 2 ). Έστω Μ = (Q, Σ, q 0, Δ, F) μη Αιτ. Π.Α. Για κάθε κατάσταση q Q, ορίζουμε ως Ε(q) Q το σύνολο των καταστάσεων

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

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

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

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

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 6η ενότητα: Αυτόματα, τυπικές γλώσσες, γραμματικές Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής http://www.corelab.ece.ntua.gr/courses/introcs

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

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

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

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

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

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

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

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

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

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

Στοιχεία Θεωρίας Γλωσσών. (συνέχεια) (συνέχεια) Πέμπτη 27 Οκτωβρίου 2016 Θεόδωρος Τζουραμάνης Επίκουρος Καθηγητής

Στοιχεία Θεωρίας Γλωσσών. (συνέχεια) (συνέχεια) Πέμπτη 27 Οκτωβρίου 2016 Θεόδωρος Τζουραμάνης Επίκουρος Καθηγητής https://www.icsd.aegean.gr/t.tzouramanis/courses/dm1 ttzouram@aegean.gr Πέμπτη 7 Οκτωβρίου 016 Δ Κατά τον Καθηγητή Avram Noam Chomsky οι γραμματικές ταξινομούνται σύμφωνα με τα είδη παραγωγών που επιτρέπονται,

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

ΠΛΗ30 ΕΝΟΤΗΤΑ 3: ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ. Μάθηµα 3.2: ηµήτρης Ψούνης ΠΛΗ30 ΕΝΟΤΗΤΑ 3: ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ Μάθηµα 3.2: Ντετερµινιστικά Πεπερασµένα Αυτόµατα ηµήτρης Ψούνης 2 ΠΕΡΙΕΧΟΜΕΝΑ Α. Σκοπός του Μαθήµατος Β. Θεωρία 1. Πεπερασµένα Αυτόµατα 1. Λειτουργία και Παραδείγµατα

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

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

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

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

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

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (3) Παραδείγµατα µε Κανονικές Εκφράσεις. Σε αυτό το µάθηµα. Σύνοψη Προηγούµενου Κανονικές Γλώσσες (3) Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς (Ντετερµινιστική) Κλειστότητα Κανονικών Γλωσσών ως προς Ενωση. Κατασκευή: DFA

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

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

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

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

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

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

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

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

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

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

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

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

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 4 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 4 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Μάθημα 4 ο Συντακτική Ανάλυση Επαλήθευση της σύνταξης του προγράμματος Κατασκευή συντακτικού δέντρου Η κεντρική φάση της Μετάφρασης Οδηγούμενης από τη Σύνταξη Από εδώ ξεκινά η παραγωγή

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

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

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

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

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

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

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

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

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

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

Θεωρία Υπολογισμού Αλφάβητα, Γλώσσες, Κανονικές Εκφράσεις

Θεωρία Υπολογισμού Αλφάβητα, Γλώσσες, Κανονικές Εκφράσεις 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Θεωρία Υπολογισμού Ενότητα 6 : Αλφάβητα, Γλώσσες, Κανονικές Εκφράσεις Αλέξανδρος Τζάλλας 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο Τμήμα Μηχανικών

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

Απάντηση: (func endfunc)-([a-za-z])+

Απάντηση: (func endfunc)-([a-za-z])+ Γλώσσες Προγραμματισμού Μεταγλωττιστές Ασκήσεις Επανάληψης ) Περιγράψτε τις κανονικές εκφράσεις που υποστηρίζουν (i) συμβολοσειρές που ξεκινούν με το πρόθεμα "func" ή "endfunc" ακολουθούμενο το σύμβολο

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

Ορισµοί. Τυπικές Γλώσσες Γραµµατικές και Μεταφραστές. Αλφάβητο: ένα οποιδήποτε µη κενό και πεπερασµένο σύνολο Σ αποτελούµενο από σύµβολα

Ορισµοί. Τυπικές Γλώσσες Γραµµατικές και Μεταφραστές. Αλφάβητο: ένα οποιδήποτε µη κενό και πεπερασµένο σύνολο Σ αποτελούµενο από σύµβολα Ορισµοί Τυπικές Γλώσσες Γραµµατικές και Μεταφραστές Αλφάβητο: ένα οποιδήποτε µη κενό και πεπερασµένο σύνολο Σ αποτελούµενο από σύµβολα { 0, } δυαδικό αλφάβητο { Α, Β, Γ,, Ω } κεφαλαία ελληνικά γράµµατα

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

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 6η ενότητα: Αυτόματα, τυπικές γλώσσες, γραμματικές Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής http://www.corelab.ece.ntua.gr/courses/introcs

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

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

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

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 4. Πεπερασμένα Αυτόματα 6 Φεβρουαρίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μοντέλα Υπολογισμού 1930 : Μηχανή Turing : αφαιρετική μηχανή (μοντελοποίηση ενός υπολογιστή)

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

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μεταγλωττιστές Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανοδική Κατασκευή Συντακτικού Δέντρου κατασκευή δέντρου

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

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

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

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

Τεχνολογία Πολυμέσων. Ενότητα # 9: Κωδικοποίηση εντροπίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 9: Κωδικοποίηση εντροπίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 9: Κωδικοποίηση εντροπίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του

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

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

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

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

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

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

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

Τυπικές Γραμματικές και Άλλα Αυτόματα

Τυπικές Γραμματικές και Άλλα Αυτόματα Κεφάλαιο 8 Τυπικές Γραμματικές και Άλλα Αυτόματα 8.1 Εισαγωγή Στο κεφάλαιο αυτό θα ασχοληθούμε με μη κανονικές γλώσσες και γραμματικές, καθώς και τα αντίστοιχα αυτόματα που τις αναγνωρίζουν. Πιο συγκεκριμένα

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

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

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

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

Θεωρία Υπολογισμού. Ασκήσεις. Δρ. Τζάλλας Αλέξανδρος, Καθηγητής Εφαρμογών. Τμ. Μηχανικών Πληροφορικής Τ.Ε.

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

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

Μηχανές Πεπερασµένων Καταστάσεων

Μηχανές Πεπερασµένων Καταστάσεων Μηχανές Επεξεργασίας Πληροφοριών Μηχανές Πεπερασµένων Καταστάσεων Είναι µηχανές που δέχονται ένα σύνολο από σήµατα εισόδου και παράγουν ένα αντίστοιχο σύνολο σηµάτων εξόδου Σήµατα Εισόδου Μηχανή Επεξεργασίας

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