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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

Ασκήσεις μελέτης της ενότητας «Συντακτική Ανάλυση»

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

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

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

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

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

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

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

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

aab aabb aaabb aaaabb aaaabb aaaabb

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

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

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

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

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

Ασκήσεις μελέτης της ενότητας «Συντακτική Ανάλυση»

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

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

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

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

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

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

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

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

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

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

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

Άσκησηη 1. (α) Το αυτόματο. (γ) Να δείξετε όλα aabbb. Λύση. λέξεις. αυτόματο. (β) Τυπικά. μεταβάσεων δ. ορίζεται. (γ) Θα δείξουμε τα.

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού

Κεφάλαιο 2: Τυπικές γλώσσες. Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος / 216

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Transcript:

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

Τι θα κάνουμε σήμερα Εισαγωγικά Ασυμφραστικές Γραμματικές (2.1) Τυπικός Ορισμός Της Ασυμφραστικής Γραμματικής (2.1.1) Σχεδίαση Ασυμφραστικών Γραμματικών (2.1.3) Πολυτροπία (2.1.4) Κανονική Μορφή Chomsky (2.1.5) 1

Ασυμφραστικές Γλώσσες Παρατηρήσαμε ότι η γλώσσα Β={0 κ 1 κ κ 0} Δεν αναγνωρίζεται από κανένα πεπερασμένο αυτόματο Δεν περιγράφεται από καμιά κανονική έκφραση Υπάρχει δυνατότερο υπολογιστικό μοντέλο που να μπορεί να αναγνωρίζει την Β; Ασυμφραστικές Γραμματικές Περιγραφή ιδιοτήτων αναδρομικού χαρακτήρα Αυτόματα με στοίβα 2

Ασυμφραστικές Γλώσσες Ορισμός: Οι γλώσσες που παράγονται από ασυμφραστικές γραμματικές ονομάζονται ασυμφραστικές γλώσσες (context free languages). 3

Ασυμφραστικές Γραμματικές (CFG) A 0A1 A B B # Συλλογή Κανόνων Αντικατάστασης Κάθε κανόνας σε ξεχωριστή γραμμή Μορφή κανόνα αντικατάστασης: Μη- Τερματικό Σύμβολο (μεταβλητή) Λέξη Λέξη αποτελείται από τερματικά και μη- τερματικά σύμβολα π.χ. 0Α1 0,1 τερματικά σύμβολα και Α μη- τερματικό Εναρκτήρια Μεταβλητή Αριστερό μέλος πρώτου κανόνα 4

Παραγωγή Λέξεων Μια γραμματική περιγράφει μια γλώσσα αν μας επιτρέπει να παραγάγουμε όλες τις λέξεις της γλώσσας Βήματα παραγωγής λέξης: 1. Γράφουμε την εναρκτήρια μεταβλητή 2. Επιλέγουμε ένα μη- τερματικό σύμβολο που υπάρχει στη λέξη που έχουμε γραμμένη και το αντικαθιστούμε με το δεξί μέλος ενός κανόνα που ξεκινά από αυτό. 3. Επαναλαμβάνουμε το 2 μέχρις ότου η λέξη να περιέχει μόνο τερματικά σύμβολα. 5

Παράδειγμα Παραγωγή λέξης 000#111 από G1 A 0A1 00A11 000A111 000B111 000#111 6

Συντακτικό Δέντρο Α Α Α Α Β 0 0 0 # 1 1 1 L(G1)={0 n #1 n n 0} 7

Συγχώνευση Κανόνων Μπορούμε να συγχωνεύσουμε όλους τους κανόνες που έχουν στο αριστερό τους μέλος την ίδια μεταβλητή Π.χ. Α - > 0Α1 και Α- > Β τότε γράφουμε Α- > 0Α1 Β 8

Τυπικός Ορισμός CFG Ορισμός Ασυμφραστική γραμματική είναι μια τετράδα (V, Σ, R, S) 1. V = πεπερασμένο σύνολο μη- τερματικών συμβόλων 2. Σ = πεπερασμένο σύνολο τερματικών συμβόλων, ξένο προς το V, 3. R = Το σύνολο των κανόνων, καθένας από τους οποίους αποτελείται από μια μεταβλητή και μια λέξη από μεταβλητές και τερματικά σύμβολα 4. S 2 V = εναρκτήρια μεταβλητή 9

Τυπικός Ορισμός CFG Έστω u, v, w λέξεις από μεταβλητές και τερματικά σύμβολα, και Α- >w κανόνας της γραμματικής. Τότε uav αποδίδει τη λέξη uwv, uav uwv Η u παράγει τη λέξη v, u v εάν u = v Υπάρχει ακολουθία u 1...u k,k 0 τέτοια ώστε u 1 u 2... u k v Γλώσσα της γραμματικής G είναι το σύνολο L(G) ={w Σ S w} 10

Παραδείγματα G 3 =({S}, {a,b}, R, S) όπου R το σύνολο των κανόνων S- > asb SS e abab, aababb 2 L(G 3 ) G 4 =({<ΕΚΦΡΑΣΗ>,<ΟΡΟΣ>,<ΠΑΡΑΓΟΝΤΑΣ>}, {a,+, x,(,)}, R,<ΕΚΦΡΑΣΗ>) και R οι κανόνες: <ΕΚΦΡΑΣΗ> - > <ΕΚΦΡΑΣΗ> + <ΟΡΟΣ> <ΟΡΟΣ> <ΟΡΟΣ> - > <ΟΡΟΣ> x <ΠΑΡΑΓΟΝΤΑΣ> <ΠΑΡΑΓΟΝΤΑΣ> <ΠΑΡΑΓΟΝΤΑΣ> - > (<ΕΚΦΡΑΣΗ>) a Πως σχηματίζονται τα a+a x a, (a+a) x a? 11

Σχεδίαση CFG Κατασκευή γραμματικής για σύνθετη γλώσσα Διαιρούμε την γλώσσα σε απλούστερα μέρη Κατασκευάζουμε μια γραμματική για κάθε μέρος Προσθέτουμε τον κανόνα S S 1 S 2... S k Π.χ. S i οι εναρκτήριες μεταβλητές των επιμέρους γραμματικών L = {0 n 1 n n 0} {1 n 0 n n 0} S 1 0S 1 1 e S 2 1S 2 0 e S S 1 S 2 Γραμματική για κανονική γλώσσα που ξέρουμε το αυτόματο που την αναγνωρίζει Για κάθε μετάβαση δ(q i, α)=q j κανόνας R i ar j Για κάθε κατάσταση αποδοχής q i κανόνας R i e Εναρκτήρια κατάσταση η R 0 (q 0 εναρκτήρια αυτομάτου) 12

Σχεδίαση CFG Αλληλένδετες υπολέξεις Εμφάνιση μιας υπολέξης με βάση πόσες φορές εμφανίζεται μια δεύτερη υπολέξη π.χ. {0 κ 1 κ κ 0} Χρησιμοποιούμε κανόνα τησ μορφής R urv Όπου u η πρώτη υπολέξη Και v η υπολέξη που εξαρτάται στο u Αναδρομικές δομές Εμφανίζονται ως τμήματα άλλων δομών η ακόμη και του εαυτού τους π.χ. <ΕΚΦΡΑΣΗ> - > <ΕΚΦΡΑΣΗ> + <ΟΡΟΣ> <ΟΡΟΣ> <ΠΑΡΑΓΟΝΤΑΣ> - > (<ΕΚΦΡΑΣΗ>) a 13

Πολυτροπία Κάποια γραμματική παράγει την ίδια λέξη με περισσότερους από ένα τρόπους Περισσότερα από ένα συντακτικά δέντρα π.χ. E E + E E E (E) a Πως παράγεται η α + α x α; Εξ αριστερών παραγωγή Σε κάθε βήμα αντικαθιστούμε την αριστερότερη από τις εναπομείναντες μεταβλητές Ορισμός Για κάθε ασυμφραστική γραμματική G και για κάθε λέξη w, λέμε ότι η w παράγεται πολύτροπα στην G εάν υπάρχουν για αυτήν περισσότερες από μια εξ αριστερών παραγωγές στην G. Η G ονομάζεται πολύτροπη αν παράγει κάποια λέξη πολύτροπα. 14

Κανονική μορφή Chomsky Ορισμός Μια ασυμφραστική γραμματική G βρίσκεται σε κανονική μορφή Chomsky εάν κάθε κανόνας της βρίσκεται σε μια από τις μορφές A BC A a όπου α οποιοδήποτε τερματικό σύμβολο και B,C οποιοδήποτε μεταβλητή πλην της εναρκτήριας. Επιτρέπεται και ο κανόνας S e. 15

Ερωτήσεις; 16