ΠΛΗ30 ΜΑΘΗΜΑ 4.1

25
ΠΛΗ30 ΕΝΟΤΗΤΑ 4: ΓΛΩΣΣΕΣ ΑΝΕΞΑΡΤΗΤΕΣ ΣΥΜΦΡΑΖΟΜΕΝΩΝ Μάθηµα 4.1: Γραµµατικές Ανεξάρτητες Συµφραζοµένων ∆ηµήτρης Ψούνης

Transcript of ΠΛΗ30 ΜΑΘΗΜΑ 4.1

Page 1: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

ΠΛΗ30ΕΝΟΤΗΤΑ 4: ΓΛΩΣΣΕΣ ΑΝΕΞΑΡΤΗΤΕΣ

ΣΥΜΦΡΑΖΟΜΕΝΩΝ

Μάθηµα 4.1: Γραµµατικές Ανεξάρτητες Συµφραζοµένων

∆ηµήτρης Ψούνης

Page 2: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

ΠΕΡΙΕΧΟΜΕΝΑ

Α. Σκοπός του Μαθήµατος

Β. Θεωρία

1. Ορισµοί

1. Γραµµατικές Ανεξάρτητες Συµφραζοµένων

2. Γλώσσες Ανεξάρτητες Συµφραζοµένων

2. Μεθοδολογία Κατασκευής Γραµµατικών Χωρίς Συµφραζόµενα.

3. Σχέση Κανονικών Γλωσσών µε τις Γλώσσες Ανεξάρτητες Συµφραζοµένων

1. Κανονικές Γλώσσες και Γλώσσες Χωρίς Συµφραζόµενα

2. Κανονική Γραµµατική

3. Μετατροπή ΜΠΑ-ε σε Κανονική Γραµµατική

4. Μετατροπή ΜΠΑ σε Κανονική Γραµµατική

5. Μετατροπή ΝΠΑ σε Κανονική Γραµµατική

4. ∆ιφορούµενες Γραµµατικές

1. Ορισµός και Παραδείγµατα

Γ.Ασκήσεις

2∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

Page 3: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

Α. Σκοπός του Μαθήµατος

Οι στόχοι του µαθήµατος είναι:

Επίπεδο Α Γραµµατικές Χωρίς Συµφραζόµενα και µεθοδολογίες κατασκευής

γραµµατικών χωρίς συµφραζόµενα. Κανονικές Γραµµατικές και Μετατροπή Αυτοµάτων σε Γραµµατικές Χωρίς

Συµφραζόµενα

Επίπεδο Β (-)Επίπεδο Γ ∆ιφορούµενες Γραµµατικές

3∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

Page 4: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

B. Θεωρία1. Ορισµοί1. Γραµµατικές Ανεξάρτητες Συµφραζοµένων

Μία γραµµατική ανεξάρτητη συµφραζοµένων (ή γραµµατική χωρίς συµφραζόµενα) είναι ένα σύνολο κανόνων που µπορούν να παράγουν ΟΛΕΣ τις συµβολοσειρές µιας Γλώσσας και ΜΟΝΟΝ ΑΥΤΕΣ:

Παραδείγµατα παραγωγής συµβολοσειρών:

Το ⟹ διαβάζεται «παράγει». Επίσης γράφουµε S ⟹∗ ως συντοµογραφία του «παράγει σε 0 ή περισσότερα βήµατα (Π.χ. S ⟹∗ 000111)

4∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

Παράδειγµα 1: Η Γραµµατική Ανεξάρτητη Συµφραζοµένων για την γλώσσα 01 n 0 → 01 → Σχόλια: • Τα παραπάνω λέγονται κανόνες της γραµµατικής διότι ξεκινώντας από την µεταβλητή S

µπορούµε να παράγουµε µε διαδοχική χρήση των κανόνων οποιαδήποτε συµβολοσειρά της γλώσσας.

• Ο 1ος κανόνας → 01 λέγεται και αναδροµικός κανόνας διότι επανεµφανίζει την µεταβλητή S• Ο 2ος κανόνας → λέγεται και τερµατικός κανόνας διότι σταµατά τις εµφανίζεις µεταβλητών.

⟹ ⟹ 01⟹ 01 01⟹ 01⟹ 00S11⟹ 00ε11 0011

⟹ 01⟹ 00S11⟹ 000S111⟹ 000ε111 000111⟹ 01⟹ 00S11⟹ 000S111⟹ 0000S1111⟹ 0000ε1111 00001111

……

∆ιαβάζουµε S δίνει 0S1∆ιαβάζουµε S δίνει ε

Page 5: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

B. Θεωρία1. Ορισµοί1. Γραµµατικές Ανεξάρτητες Συµφραζοµένων

Το τυπικό συντακτικό µιας γραµµατικής χωρίς συµφραζόµενα ορίζεται από τον ακόλουθο ορισµό:

5∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

Παράδειγµα 2: Η Γραµµατική για την γλώσσα 0101 n,m 0 → 01| → 10|Σχόλια: • To | διαβάζεται ή (ή διαζευκτικό)• Ο κανόνας → 01| είναι συντοµογραφία των κανόνων → 01 και → • Ο κανόνας → 10| είναι συντοµογραφία των κανόνων → 10 και → Μία γραµµατική Χωρίς Συµφραζόµενα είναι µια τετράδα: , Σ, S, P όπου: το σύνολο των µεταβλητών

Σ το σύνολο των τερµατικών συµβόλων ( ∩ Σ ∅) ∈ είναι η αρχική µεταβλητή

το σύνολο κανόνων µε κάθε κανόνα να είναι της µορφής W → ! µε W ∈ (είναι µία µεταβλητή) και ! ∈ " ∪ Σ$∗ (παράθεση µεταβλητών και µη

τερµατικών συµβόλων)

Στο παράδειγµα 2 η γραµµατική είναι: : , Σ, S, P όπου:• *, • Σ *0,1, ε• είναι η αρχική µεταβλητή• * → 01, → , → 10, →

Page 6: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

B. Θεωρία1. Ορισµοί2. Γλώσσες Ανεξάρτητες Συµφραζοµένων

Συνεπώς οι γλώσσες ανεξάρτητες συµφραζοµένων και οι γραµµατικές ανεξάρτητες συµφραζοµένων «πάνε πακέτο» (σε αντιστοιχία µε τις κανονικές εκφράσεις των κανονικών γλωσσών)

Θα προσθέσουµε στο πακέτο στα επόµενα µαθήµατα και τα Αυτόµατα Στοίβας που θα αναγνωρίζουν τις συµβολοσειρές µιας Γλώσσας Χωρίς Συµφραζόµενα (σε αντιστοιχία µε τα Πεπερασµένα Αυτόµατα των Κανονικών Γλωσσών)

6∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

Παρατήρηση: Οι γραµµατικές αυτές λέγονται ανεξάρτητες συµφραζοµένων σε αντίθεση µε τις

γραµµατικές µε συµφραζόµενα που έχουν και κανόνες τις µορφής:1S11 → 00 ∆ηλαδή αριστερά µπορεί να έχω µεταβλητή που η αντικατάσταση που θα κάνουµε

εξαρτάται από τα σύµβολα που έχει αριστερά και δεξία της: δηλαδή εξαρτάται από τα «συµφραζόµενά» της.

Οι γραµµατικές µε συµφραζοµένα είναι εκτός ύλης.

Ορισµός Γλώσσας Ανεξάρτητης Συµφραζοµένων: Μία γλώσσα θα λέγεται Γλώσσα Ανεξάρτητη Συµφραζοµένων (ή Γλώσσα

Χωρίς Συµφραζόµενα) αν και µόνο αν

Υπάρχει Γραµµατική Ανεξάρτητη Συµφραζοµένων (Γ.Χ.Σ) που παράγει τις συµβολοσειρές της.

Page 7: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

Γ. Μεθοδολογία2. Μεθοδολογία Κατασκευής Γραµµατικής Χωρίς Συµφραζόµενα1. «ισότητα»

7∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +, n 0

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: "+,$, n 0

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: ,"+-$ n 0

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: 0001 n 0

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: 0./1 n 0

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: 0.01./ n 0

Page 8: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

Γ. Μεθοδολογία2. Μεθοδολογία Κατασκευής Γραµµατικής Χωρίς Συµφραζόµενα2. «αναλογία»

8∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +,/ n 0 ∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: 111,/ n 0

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: ,0.0-/ n 0

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: 0/.010./ n 0

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +0,/ n 0

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +2,0 n 0

Page 9: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

Γ. Μεθοδολογία2. Μεθοδολογία Κατασκευής Γραµµατικής Χωρίς Συµφραζόµενα3. «παλινδροµικότητα»

9∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: w!4 ! ∈ *0,1∗ ∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: ! ∈ *0,1∗ ! είναι παλινδροµική

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: w-!4 ! ∈ *+, ,∗

Page 10: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

Γ. Μεθοδολογία2. Μεθοδολογία Κατασκευής Γραµµατικής Χωρίς Συµφραζόµενα4. «ανισότητα»

10∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +, n 5

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +, n 6 5

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +, n 7 5

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +, n 8 5

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +, n 9 5

Page 11: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

Γ. Μεθοδολογία2. Μεθοδολογία Κατασκευής Γραµµατικής Χωρίς Συµφραζόµενα5. «Συµµετρία στο Κέντρο»

11∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +,+, n,m 0 ∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +0,/-0,2 n,m 0

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +.,- n,m 0 ∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +:,;-< = > ? @

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +,-. n,m 0 ∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +:,;-< @ = ? >

Page 12: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

Γ. Μεθοδολογία2. Μεθοδολογία Κατασκευής Γραµµατικής Χωρίς Συµφραζόµενα6. «Παράθεση Συµβολοσειρών»

12∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +,-A n,m 0 ∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +,/-0,2 n,m 0

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +,.- n,m 0 ∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +:,;-< > = ? @

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +,.+ n,m 0

Page 13: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

Γ. Μεθοδολογία2. Μεθοδολογία Κατασκευής Γραµµατικής Χωρίς Συµφραζόµενα7. «∆ιάζευξη Συµβολοσειρών»

13∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +:,;-< = > ή > @ ∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: +:,;-< = ? > @ ή = ? @ >

Page 14: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

Γ. Μεθοδολογία2. Μεθοδολογία Κατασκευής Γραµµατικής Χωρίς Συµφραζόµενα8. Γραµµατικές για Κανονικές Γλώσσες

14∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: 0∗1∗

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: ! ∈ 0,1 ∗ ! έχει µήκος το πολύ 2

∆ώστε Γρ.Χ.Σ. για τη Γλώσσα: ! ∈ 0,1 ∗ ! περιέχει το 00

Page 15: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

B. Θεωρία3. Σχέση Κανονικών Γλωσσών µε Γλώσσες Ανεξ. Συµφραζοµένων1. Κανονικές Γλώσσες και Γλωσσες Χωρίς Συµφραζόµενα

Είδαµε σε παράδειγµα ότι υπάρχει γραµµατική για την γλώσσα L=0*1* Επίσης είδαµε ότι υπάρχει γραµµατική για την γλώσσα 0n1n που δεν είναι κανονική

Θα δείξουµε ότι για κάθε κανονική γλώσσα µπορούµε να παράγουµε γραµµατική που παράγει τις συµβολοσειρές της

Συνεπώς οι κανονικές γλώσσες είναι ΥΠΟΣΥΝΟΛΟ των Γλωσσών Ανεξάρτητων Συµφραζοµένων

15∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ

ΓΛΩΣΣΕΣ ΑΝΕΞΑΡΤΗΤΕΣ ΣΥΜΦΡΑΖΟΜΕΝΩΝ

Κανονική Έκφραση

ΜΠΑ-ε

ΜΠΑ

ΝΠΑ

Αλγόριθµος ε-σ-ε

Κατασκευαστικά ή Αλγόριθµος

Αλγόριθµος υποσύνολων

Κλειστότητα σε ΟΛΕΣ

Ενωση-Παράθεση-Αστερι: Με Κ.Ε.Συµπλήρωµα: Με ΝΠΑ: τελικές-µη τελικές Τοµή: Με ΝΠΑ: Αλγ.Συνδ/µου Κατ/σεων

Ιδιότητες:άρχίζει - περιέχει

τελειώνει-µήκος

άρτια-περιττά

Αυτόµατο Στοιβας

Γραµµατική Χωρίς Συµφραζόµενα

Αλγόριθµος

Ιδιότητες:Ισότητα 2 πραγµάτων

Αναλογία 2 πραγµάτων

Ανισότητα παλινδροµικότητα

Κλειστότητα:Ενωση-Παράθεση-Αστερι:

Με Ενωση Γραµµατικών

Page 16: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

B. Θεωρία3. Σχέση Κανονικών Γλωσσών µε Γλώσσες Ανεξ. Συµφραζοµένων2. Κανονικές Γραµµατικές

Ορίζουµε τώρα ένα υποσύνολο των Γραµµατικών Χωρίς Συµφραζόµενα:

Παρατηρούµε ότι: Οι κανονικές γραµµατικές είναι γλώσσες χωρίς συµφραζόµενα µε κανόνες

ειδικής µορφής. Θα δείξουµε ότι:

Για κάθε κανονική γλώσσα υπάρχει κανονική γραµµατική που παράγει τις συµβολοσειρές της, άρα:

Κάθε Κανονική Γλώσσα είναι και Γλώσσα Χωρίς Συµφραζόµενα

16∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

Ορισµός Κανονικής Γραµµατικής: Μία γραµµατική χωρίς συµφραζόµενα θα λέγεται Κανονική Γραµµατική αν

και µόνο αν οι κανόνες της έχουν αποκλειστικά και µόνο τη µορφή:X → C ή X → CΥ όπου

X, Υ ∈ V (είναι µεταβλητές) σ ∈ Σ (είναι τερµατικά σύµβολα, δηλαδή σύµβολα του αλφαβήτου ή η κενή

συµβολοσειρά)

Page 17: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

B. Θεωρία3. Σχέση Κανονικών Γλωσσών µε Γλώσσες Ανεξ. Συµφραζοµένων3. Μετατροπή ΜΠΑ-ε σε Κανονική Γραµµατική

Μαθαίνουµε τρόπο µετατροπής ΜΠΑ-ε σε Κανονική Γραµµατική.

17∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

Θεώρηµα Κάθε ΜΠΑ-ε µετατρέπεται σε Κανονική Γραµµατική.ΚανόνεςΜετατροπής Κάθε κατάσταση γίνεται µεταβλητή. Ειδικά την αρχική κατάσταση την

ονοµάζουµε S. Βάζουµε τον κανόνα X → CΥ αν και µόνο αν από την κατάσταση Χ µεταβαίνουµε

στην Υ µε το σύµβολο σ Βάζουµε τον κανόνα X → Υαν και µόνο αν από την κατάσταση Χ µεταβαίνουµε

στην Υ µε ε−κίνηση

Βάζουµε τον κανόνα X → ε αν η Χ είναι τελική κατάσταση.

Παράδειγµα: Στο ακόλουθο ΜΠΑ-ε αντιστοιχεί η κανονική γραµµατική

AS

B Γ

ε

1

ε

0 0 O → Α|0ΒΑ → 1ΓΒ → 0SΓ → Β|ε

Page 18: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

B. Θεωρία3. Σχέση Κανονικών Γλωσσών µε Γλώσσες Ανεξ. Συµφραζοµένων4. Μετατροπή ΜΠΑ σε Κανονική Γραµµατική

Μαθαίνουµε τρόπο µετατροπής ΜΠΑ σε Κανονική Γραµµατική.

18∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

Θεώρηµα Κάθε ΜΠΑ µετατρέπεται σε Κανονική Γραµµατική.ΚανόνεςΜετατροπής Κάθε κατάσταση γίνεται µεταβλητή. Ειδικά την αρχική κατάσταση την

ονοµάζουµε S. Βάζουµε τον κανόνα X → CΥ αν και µόνο αν από την κατάσταση Χ µεταβαίνουµε

στην Υ µε το σύµβολο σ Βάζουµε τον κανόνα X → ε αν η Χ είναι τελική κατάσταση.(ίδιοι κανόνες µε το ΜΠΑ-ε χωρίς την διαχείριση της ε-κίνησης)

Παράδειγµα: Στο ακόλουθο ΜΠΑ αντιστοιχεί η κανονική γραµµατική

O → 1Γ 1Δ Γ → 0SΔ → 1ΕΕ → 0S|εΓ

S

1 0

Ε

1 1

0

Page 19: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

B. Θεωρία3. Σχέση Κανονικών Γλωσσών µε Γλώσσες Ανεξ. Συµφραζοµένων5. Μετατροπή ΝΠΑ σε Κανονική Γραµµατική

Μαθαίνουµε τρόπο µετατροπής ΝΠΑ σε Κανονική Γραµµατική.

19∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

Θεώρηµα Κάθε ΝΠΑ µετατρέπεται σε Κανονική Γραµµατική.ΚανόνεςΜετατροπής Κάθε κατάσταση γίνεται µεταβλητή. Ειδικά την αρχική κατάσταση την

ονοµάζουµε S. Βάζουµε τον κανόνα X → CΥ αν και µόνο αν από την κατάσταση Χ µεταβαίνουµε

στην Υ µε το σύµβολο σ Βάζουµε τον κανόνα X → ε αν η Χ είναι τελική κατάσταση.(ίδιοι κανόνες µε το ΜΠΑ-ε χωρίς την διαχείριση της ε-κίνησης)

Παράδειγµα: Στο ακόλουθο ΝΠΑ αντιστοιχεί η κανονική γραµµατική

S B Γ0 0

1

0,11

U → 0Β|1B → 0Γ|1SΓ → 0Γ 1Γ

Page 20: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

B. Θεωρία4. ∆ιφορούµενες Γραµµατικές1. Ορισµός και Παραδείγµατα

Εξετάζουµε την γραµµατική → W, → 0 , Υ → 1Υ ε Η γραµµατική αυτή παράγει συµβολοσειρές της µορφή 0*1* Εξετάζουµε την συµβολοσειρά 011. Μπορεί να παράχθεί µε διαφορετικούς τρόπους

από την συγκεκριµένη γραµµατική, δύο από τους οποίους είναι οι εξής:

Αντίθετα η γραµµατική χωρίς συµφραζόµενα που µελετήσαµε για την γλώσσα 01 n 0, δηλαδή η → 01|ε δεν είναι διφορούµενη, διότι κάθε συµβολοσειρά της παράγεται µε µοναδικό τρόπο.

20∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

Ορισµός: Επειδή υπάρχουν διαφορετικές παραγωγές της ίδιας συµβολοσειράς, η

παραπάνω γραµµατική χαρακτηρίζεται διφορούµενη γραµµατική.

⟹ ΧΥ⟹ 0ΧΥ⟹ 0Υ 0Υ⟹ 01Υ⟹ 011Υ⟹ 011ε 011

⟹ ΧΥ⟹ Χ1Υ⟹ Χ11Υ⟹ Χ11ε Χ11⟹ 0Χ11⟹ 0ε11 011

Page 21: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

B. Θεωρία4. ∆ιφορούµενες Γραµµατικές1. Ορισµός και Παραδείγµατα

Ζητείται συχνά να µετατραπεί µία διφορόύµενη γραµµατική σε µη διφορούµενη. Για παράδειγµα η προηγούµενη γραµµατική µπορεί ισοδύναµα να µετατραπεί στην

γραµµατική: → 0|ΧΧ → 1Χ|ε Τότε η µοναδική παραγωγή της 011 είναι η:

Αποδεικνύεται ότι το πρόβληµα της µετατροπής µιας διφορούµενης γραµµατικής σε µη διφορούµενη είναι ΜΗ ΕΠΙΛΥΣΙΜΟ! ∆ηλαδή δεν µπορεί να υπάρξει αλγόριθµος που να κάνει αυτήν την µετατροπή! Υπάρχει µαθηµατική απόδειξη, ότι δεν µπορεί να υπάρξει τέτοιος αλγόριθµος. Θα µελετήσουµε και άλλα τέτοια προβλήµατα στην ενότητα 5.

21∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

⟹ 0S⟹ 0Χ⟹ 01⟹ 011X⟹ 011ε 011

Page 22: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

Γ. ΑσκήσειςΕφαρµογή 1

∆ώστε Γραµµατικές Ανεξάρτητες Συµφραζοµένων για τις Γλώσσες:

2005Β L *+,0|\ 02006A L *+,+,|\,5 02007` L *+/,2|\ 02007a L *!-!4|! ∈ *+, ,∗ στο αλφάβητο Σ=a,b,c

2008` L *10/|\ 0

22∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

Page 23: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

Γ. ΑσκήσειςΕφαρµογή 2

∆ώστε Γραµµατικές Ανεξάρτητες Συµφραζοµένων για τις Γλώσσες:

2008Β L *100/|\ 02009A L *"+,$-0| 02009a L *+,-|\ 02010` L *+,.-|\,5 02010B L *+,+,|\,5 0

23∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

Page 24: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

Γ. ΑσκήσειςΕφαρµογή 3

20011A ∆ίνεται η γλώσσα L = 0k1m0n | k,m,n ∈ Ν, k+m < n (όπου Ν = 0,1,2,... το σύνολο των φυσικών αριθµών).∆ώστε µία γραµµατική ανεξάρτητη συµφραζοµένων που να παράγει την L.

20011B ∆ώστε µία γραµµατική ανεξάρτητη συµφραζοµένων που να παράγει τη γλώσσα L1 = ambkan | m,k,n ∈ Ν, m ≠ n, 1 ≤ k ≤ 4.

24∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα

Page 25: ΠΛΗ30 ΜΑΘΗΜΑ 4.1

Γ. ΑσκήσειςΕφαρµογή 4

∆ώστε Γραµµατική Χωρίς Συµφραζόµενα που να παράγει σωστές, πλήρως παρενθετοποιηµένες παραστάσεις αριθµητικής που χρησιµοποιούν τις µεταβλητές x και y, δηλαδή στο αλφάβητο: ( , ) , + , - , * , / µία έγκυρη συµβολοσειρά είναι η (x-y)/(x*x)

25∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 4.1: Γραµµατικές Χωρίς Συµφραζόµενα