Upload
dimitris-psounis
View
23
Download
0
Embed Size (px)
Citation preview
ΠΛΗ30ΕΝΟΤΗΤΑ 3: ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ
Μάθηµα 3.5: Ισοδυναµία Κ.Ε. – Μ.Π.Α. – Ν.Π.Α.Ισοδυναµία Κ.Ε. – Μ.Π.Α. – Ν.Π.Α.
∆ηµήτρης Ψούνης
ΠΕΡΙΕΧΟΜΕΝΑ
Α. Σκοπός του Μαθήµατος
Β. Θεωρία
1. Μετατροπή ΚΕ σε ΜΠΑ (µε ε-κινήσεις)
1. Αλγόριθµος Μετατροπής ΚΕ σε ΜΠΑ (µε ε-κινήσεις)
2. Παραδείγµατα
2. Μετατροπή ΜΠΑ (µε ε-κινήσεις) σε ΜΠΑ (χωρίς ε-κινήσεις)
2∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
2. Μετατροπή ΜΠΑ (µε ε-κινήσεις) σε ΜΠΑ (χωρίς ε-κινήσεις)
1. Αλγόριθµος Μετατροπής ΜΠΑ (µε ε-κινήσεις) σε ΜΠΑ (χωρίς ε-κινήσεις)
2. Παραδείγµατα
3. Εφαρµογή µε εµπειρικό τρόπο
3. Μετατροπή ΜΠΑ (χωρίς ε-κινήσεις) σε ΝΠΑ
1. Αλγόριθµος Μετατροπής ΜΠΑ (χωρίς ε-κινήσεις) σε ΝΠΑ
2. Παραδείγµατα
3. Εφαρµογή µε εµπειρικό τρόπο
4. Μετατροπή ΝΠΑ σε ΚΕ
1. Αλγόριθµος Μετατροπής ΜΠΑ (χωρίς ε-κινήσεις) σε ΝΠΑ
2. Παραδείγµατα
Γ.Ασκήσεις
Α. Σκοπός του Μαθήµατος
Οι στόχοι του µαθήµατος είναι:
Επίπεδο ΑΜετατροπή ΜΠΑ (µε ε-κινήσεις ) σε ΜΠΑ (χωρίς ε-κινήσεις)Μετατροπή ΜΠΑ (χωρίς ε-κινήσεις) σε ΝΠΑΕπίπεδο Β
3∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
Επίπεδο ΒΜετατροπή Κ.Ε. σε ΜΠΑ (µε ε-κινήσεις)Επίπεδο ΓΜετατροπή ΝΠΑ σε Κ.Ε.
B. ΘεωρίαΜετατροπές
4∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
Ορισµός Κανονικής Γλώσσας: Μία γλώσσα θα λέγεται Κανονική Γλώσσα αν και µόνο αν
Υπάρχει Κανονική Εκφραση (Κ.Ε.) που την περιγράφει. Υπάρχει Ντετερµινιστικό Πεπερασµένο Αυτόµατο (Ν.Π.Α.) που
αναγνωρίζει τις συµβολοσειρές της. Υπάρχει Μη Ντετερµινιστικό Πεπερασµένο Αυτόµατο (Μ.Π.Α) που
Η έννοια της ισοδυναµίας των παραπάνω κατασκευασµάτων θα αποδειχθεί ως εξής:Θα δούµε αλγόριθµο που µετατρέπει Κ.Ε. σε Μ.Π.Α-ε Θα δούµε αλγόριθµο που µετατρέπει Μ.Π.Α-ε σε ΜΠΑ
Θα δούµε αλγόριθµο που µετατρέπει ΜΠΑ σε ΝΠΑΘα δούµε αλγόριθµο που µετατρέπει ΝΠΑ σε Κ.Ε.
Στα παραπάνω εννοούµε: ΜΠΑ-ε: Μη Ντετερµινιστικό Πεπερασµένο Αυτόµατο µε ε-κινήσειςΜΠΑ: Μη Ντετερµινιστικό Πεπερασµένο Αυτόµατο χωρίς ε-κινήσεις
Υπάρχει Μη Ντετερµινιστικό Πεπερασµένο Αυτόµατο (Μ.Π.Α) που αναγνωρίζει τις συµβολοσειρές της.
B. Θεωρία1. Μετατροπή Κ.Ε. σε ΜΠΑ-ε1. Αλγόριθµος Μετατροπής
5∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
Η µετατροπή µιας Κ.Ε σε ΜΠΑ-ε γίνεται µε βάση τους εξής κανόνες:
1. Τα αυτόµατα για τις στοιχειώδεις κανονικές εκφράσεις ∅, ε, σ είναι:
σ
Επίσης το βιβλίο του ΕΑΠ µας δίνει το δικαίωµα να θεωρήσουµε ότι και το ΜΠΑ για µια σκέτη συµβολοσειρά προκύπτει µε «ξάπλωµα» της συµβολοσειράς σε διαδοχικές µεταβάσεις (π.χ. M(001)):
0
Μ(∅) Μ(ε)
0 1
Μ(σ)
Μ(001)
Έστω τώρα ότι για µια κανονική έκφραση R έχουµε την εξής αναπαράσταση για το ΜΠΑ που την αναγνωρίζει:
B. Θεωρία1. Μετατροπή Κ.Ε. σε ΜΠΑ-ε1. Αλγόριθµος Μετατροπής
6∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
S
F
Έτσι αν έχουµε δύο αυτόµατα M(R1), M(R2) θα διατυπώσουµε κανόνες για την παραγωγή των αυτοµάτων των κανονικών εκφράσεων R1+R2, R1R2 και R*
S
F
Μ(R)
2. Στην R1R2 αντιστοιχούµε το αυτόµατο:
B. Θεωρία1. Μετατροπή Κ.Ε. σε ΜΠΑ-ε1. Αλγόριθµος Μετατροπής
7∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
S
F
S
Fε
∆ηλαδή:• Φεύγουν ε-κινήσεις από τις τελικές του M(R1) προς την αρχική του M(R2)• Οι τελικές του M(R1) γίνονται µη τελικές καταστάσεις.
S
F
Μ(R1)
S
F
Μ(R2)
ε
3. Στην R1+R2 αντιστοιχούµε το αυτόµατο:
B. Θεωρία1. Μετατροπή Κ.Ε. σε ΜΠΑ-ε1. Αλγόριθµος Μετατροπής
8∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
S
F
F
Μ(R1)
ε
∆ηλαδή:• Προσθέτουµε µία νέα αρχική κατάσταση• Με ε-κινήσεις πηγαίνουµε από την νέα αρχική κατάσταση στις προηγούµενες αρχικές.
S
F
F
Μ(R2)
ε
ε
4. Στην R* αντιστοιχούµε το αυτόµατο:
B. Θεωρία1. Μετατροπή Κ.Ε. σε ΜΠΑ-ε1. Αλγόριθµος Μετατροπής
9∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
S
F
Μ(R)ε
ε
∆ηλαδή:• Προσθέτουµε µία νέα αρχική κατάσταση (που είναι και τελική)• Με ε-κίνηση πάµε από την νέα αρχική στην προηγούµενη αρχική.• Με ε-κινήσεις φεύγουµε από τις προηγούµενες τελικές προς την νέα αρχική.• Οι προηγούµενες τελικές γίνονται µη τελικές καταστάσεις.
S
F
Μ(R)
ε
Με χρήση των παραπάνω κανόνων µπορούµε να µετατρέψουµε οποιοδήποτε αυτόµατο στο ισοδύναµο ΜΠΑ-ε πηγαίνοντας «από µέσα προς τα έξω», δηλαδή πρώτα τις συµβολοσειρές και έπειτα βήµα βήµα σύνθεση της κανονικής έκφρασης:Παράδειγµα (1+01)*:
B. Θεωρία1. Μετατροπή Κ.Ε. σε ΜΠΑ-ε2. Παραδείγµατα
10∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
1 0 1
Μ(1) Μ(01)
1
0 1
Μ(1+01)
ε
ε
…(συνέχεια) παράδειγµα (1+01)*:
B. Θεωρία1. Μετατροπή Κ.Ε. σε ΜΠΑ-ε2. Παραδείγµατα
11∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
1ε
ε
0 1
Μ((1+01)*)
ε
ε
ε
ε
B. Θεωρία2. Μετατροπή ΜΠΑ-ε σε ΜΠΑ1. Αλγόριθµος Μετατροπής
12∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
B. Θεωρία2. Μετατροπή Μετατροπή ΜΠΑ-ε σε ΜΠΑ2. Παράδειγµα Χρήσης του Τυπικού Ορισµού
13∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
ΒΑ
Γ ∆
ε
ε 0
1
1
ΒΑ
Γ ∆
0
10
0
0
1
11
1
0
01
Εµπειρικά θα εφαρµόζουµε τον αλγόριθµο ως εξής:• Θα βάζουµε τις ίδιες καταστάσεις • Θα βάζουµε την ίδια αρχική και τις ίδιες τελικές.
• Θα παρατηρούµε αν υπάρχει µονοπάτι ε-κινήσεων από την αρχική σε κάποια τελική οπότε και οι αρχικές θα γίνονται τελικές.
• Θα κατασκευάζουµε στο πρόχειρο ένα πινακακι µετάβασης που για κάθε κατ/ση και σύµβολο θα υπολογίζουµε το ε-σ-ε του:
• ε: που πάµε από την κατάσταση χωρίς διάβασµα συµβόλου (προσοχή ότι πάντα µένουµε και
B. Θεωρία2. Μετατροπή Μετατροπή ΜΠΑ-ε σε ΜΠΑ3. Εφαρµογή µε εµπειρικό τρόπο
14∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
• ε: που πάµε από την κατάσταση χωρίς διάβασµα συµβόλου (προσοχή ότι πάντα µένουµε και στην ίδια κατάσταση χωρίς διάβασµα συµβόλου)
• σ: που πηγαίνουµε από τις καταστάσεις του προηγούµενου βήµατος µε το σύµβολο που µελετάµε.
• ε: που πάµε από τις καταστάσεις του προηγούµενου βήµατος χωρίς διάβασµα συµβόλου• Για παράδειγµα στο αυτόµατο:
• Π.χ. για την κατ/ση Α µε 0:• ε: Α,Β,∆• 0:⊗,⊗,Β• ε: Β,∆
• Τελικά στο καθαρό θα παρουσιάζουµε µόνο τον πίνακα µετάβασης και το σχήµα του αυτοµάτου
ΒΑ
Γ ∆
ε
ε 0
1
1
ΠΑΡΑ∆ΕΙΓΜΑ: Μετατρέπουµε το ακόλουθο ΜΠΑ-ε στο ισοδύναµο ΜΠΑ:
ΚΑΘΑΡΟ:Ο πίνακας µετάβασης που προκύπτει από τον αλγόριθµο µετατροπής είναι:
ΠΡΟΧΕΙΡΟ:
B. Θεωρία2. Μετατροπή Μετατροπή ΜΠΑ-ε σε ΜΠΑ4. Παράδειγµα µε Εµπειρικό Τρόπο
15∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
ΒΑ
Γ ∆
ε
ε 0
1
1
0 1
Α Β,∆ ΓΠΡΟΧΕΙΡΟ:
και σχηµατικά:
0 1
Α ε:Α,Β,∆0:⊗,⊗,Βε:Β,∆
ε:Α,Β,∆1:⊗,⊗,Γε:Γ
Β ε:Β,∆0:⊗,Βε:Β,∆
ε:Β,∆1:⊗,Γε:Γ
Γ ε:Γ0:⊗ε:
ε:Γ1:Αε:Α,Β,∆
∆ ε:∆0:Βε:Β,∆
ε:∆1:Γε:Γ
Α Β,∆ Γ
Β Β,∆ Γ
Γ ∅ Α,Β,∆
∆ Β,∆ Γ
ΒΑ
Γ ∆
0
10
0
0
1
11
1
0
01
B. Θεωρία3. Μετατροπή ΜΠΑ σε NΠΑ1. Αλγόριθµος Μετατροπής
16∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
B. Θεωρία3. Μετατροπή ΜΠΑ σε ΝΠΑ2. Παράδειγµα Χρήσης του Τυπικού Ορισµού
17∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
Β
Α
Γ
1
1
1
0
Σχηµατικά:
B. Θεωρία3. Μετατροπή ΜΠΑ σε ΝΠΑ2. Παράδειγµα Χρήσης του Τυπικού Ορισµού
18∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
Α,Β
Α,Γ
Β,Γ
Α,Β,Γ
1
0
1 01
1
00
ΚΑΝΟΝΑΣ ΑΠΛΟΠΟΙΗΣΗΣ: Αν για κάποια κατάσταση δεν υπάρχει µονοπάτι που να ξεκινάει από την αρχική και να καταλήγει σε αυτήν τότε αυτή µπορεί να καταργηθεί. Εφαρµογή: Καταργούνται οι Α,Β, Α,Β,Γ, Α,Γ
Α
Β
Γ
∅
0,1
1
0
0,1
01
1
Άρα τελικά το αυτόµατο είναι:
B. Θεωρία3. Μετατροπή ΜΠΑ σε ΝΠΑ2. Παράδειγµα Χρήσης του Τυπικού Ορισµού
19∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
ΑΓ
Β,Γ
10
1Α
Β
Γ
∅
0,1
0
0,1
01
1
Εµπερικά θα εφαρµόζουµε τον αλγόριθµο ως εξής:• Θα κατασκευάζουµε τον πίνακα µετάβασης του αρχικού ΜΠΑ στο πρόχειρο.
• Θα κατασκευάζουµε τον πίνακα µετάβασης του νέου ΝΠΑ ως εξής:• Θα βάζουµε µόνο την αρχική κατάσταση στον νέο πίνακα.• Όποιες νέες καταστάσεις προκύπτουν θα τις θέτουµε προς µελέτη σε νέες γραµµές του πίνακα
µετάβασης του ΝΠΑ.• Η µελέτη µίας κατάστασης Χ µε το σύµβολο εισόδου σ γίνεται ως εξής:
B. Θεωρία3. Μετατροπή ΜΠΑ σε ΝΠΑ3. Εφαρµογή µε εµπειρικό τρόπο
20∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
• Η µελέτη µίας κατάστασης Χ µε το σύµβολο εισόδου σ γίνεται ως εξής:• Για κάθε κατάσταση που περιέχεται στο Χ γράφουµε τον συνδυασµό των
καταστάσεων που πηγαίνουµε µε το σ από κάθε κατάσταση που περιέχεται στο Χ.• Ο πίνακας µετάβασης θα σταµατά όταν δεν θα υπάρχουν νέες καταστάσεις προς διερευνηση.
• Θα δίνουµε την σχηµατική απεικόνιση του ΝΠΑ• Η αρχική κατάσταση είναι η ίδια• Οι τελικές καταστάσεις είναι όσες περιέχουν τελική του ΜΠΑ.
B. Θεωρία3. Μετατροπή ΜΠΑ σε ΝΠΑ3. Εφαρµογή µε εµπειρικό τρόπο
21∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
ΠΑΡΑ∆ΕΙΓΜΑ: Μετατρέπουµε το ακόλουθο ΜΠΑ στο ισοδύναµο ΝΠΑ:ΚΑΘΑΡΟ: Εφαρµόζω τον αλγόριθµο µετατροπής ΜΠΑ=>ΝΠΑ
Β
Α
Γ
1
1
1
0 0 1
Α ∅ Β,Γ
∅ ∅ ∅
Β,Γ Γ Β
ΠΡΟΧΕΙΡΟ
και σχηµατικά είναι:0 1
Α ∅ Β,Γ
Β ∅ ∅
Γ Γ Β
Γ Γ Β
Β ∅ ∅
Α
Β
ΓΒ,Γ
∅
0,1
1
0
0,1
01
0
1
B. Θεωρία4. Μετατροπή ΝΠΑ σε Κ.Ε.1. Αλγόριθµος Μετατροπής
22∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
B. Θεωρία4. Μετατροπή ΝΠΑ σε ΚΕ2. Παράδειγµα
23∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
31 2
10
0 0
11
B. Θεωρία4. Μετατροπή ΝΠΑ σε ΚΕ2. Παράδειγµα
24∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
31 2
10
0 0
11
Γ. ΑσκήσειςΑσκηση Κατανόησης 1
∆ώστε ΜΠΑ που αναγνωρίζουν τις συµβολοσειρές των κανονικών εκφράσεων:(Α) (11)*+0*
(Β) 010(11)*01+0*10*
25∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
(Γ) (0+10)*+(1+0*0)*+1
Γ. ΑσκήσειςΑσκηση Κατανόησης 2
Μετατρέψτε το ακόλουθο ΜΠΑ-ε στο ισοδύναµο ΜΠΑ χρησιµοποιώντας τον αλγόριθµο µετατροπής ΜΠΑ-ε σε ΜΠΑ:
26∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
Α
Γ
1
ε
1
Β
Α
ε1 1
Γ. ΑσκήσειςΑσκηση Κατανόησης 3
Μετατρέψτε το ακόλουθο ΜΠΑ-ε στο ισοδύναµο ΜΠΑ χρησιµοποιώντας τον αλγόριθµο µετατροπής ΜΠΑ-ε σε ΜΠΑ:
27∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
Γ ∆
1
ε
0 0
ΒΑε
10 0
Γ. ΑσκήσειςΑσκηση Κατανόησης 4
Για την γλώσσα L=w∈0,1* | w αρχίζει µε 00
(Α) ∆ώστε κανονική έκφραση που παράγει την L
(Β) ∆ώστε ΜΠΑ που αναγνωρίζει τις συµβολοσειρές της γλώσσας.
28∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
(Γ) ∆ώστε το ισοδύναµο ΝΠΑ (εφαρµόστε τον αλγόριθµο ΜΠΑ=>ΝΠΑ)
Γ. ΑσκήσειςΑσκηση Κατανόησης 5
Για την γλώσσα L=w∈0,1* | w τελειώνει µε 001
(Α) ∆ώστε κανονική έκφραση που παράγει την L
(Β) ∆ώστε ΜΠΑ που αναγνωρίζει τις συµβολοσειρές της γλώσσας.
29∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
(Γ) ∆ώστε το ισοδύναµο ΝΠΑ (εφαρµόστε τον αλγόριθµο ΜΠΑ=>ΝΠΑ)
Γ. ΑσκήσειςΕφαρµογή 1
∆ίνεται η κανονική έκφραση 0*1*01
1. ∆ώστε ΜΠΑ που αναγνωρίζει τις συµβολοσειρές της γλώσσας χρησιµοποιώντας τον αλγόριθµο µετατροπής Κ.Ε. σε ΜΠΑ
2. ∆ώστε ΜΠΑ για την γλώσσα που παράγει η κανονική έκφραση (µε ακριβώς µία ε-
30∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
2. ∆ώστε ΜΠΑ για την γλώσσα που παράγει η κανονική έκφραση (µε ακριβώς µία ε-κίνηση)
3. Μετατρέψτε το ΜΠΑ του ερωτήµατος 2 σε ένα ισοδύναµο χωρίς ε-κινήσεις
4. Μετατρέψτε το ΜΠΑ στο ισοδύναµο ΝΠΑ.
Γ. ΑσκήσειςΕφαρµογή 2
∆ίνεται η κανονική έκφραση (1+00)*
1. ∆ώστε ΜΠΑ που αναγνωρίζει τις συµβολοσειρές της γλώσσας χρησιµοποιώντας τον αλγόριθµο µετατροπής Κ.Ε. σε ΜΠΑ
2. ∆ώστε ΜΠΑ για την γλώσσα που παράγει η κανονική έκφραση (χωρίς ε-κινήσεις)
31∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 3.5: Ισοδυναµία ΚΕ - ΜΠΑ - ΝΠΑ
2. ∆ώστε ΜΠΑ για την γλώσσα που παράγει η κανονική έκφραση (χωρίς ε-κινήσεις)
3. Μετατρέψτε το ΜΠΑ στο ισοδύναµο ΝΠΑ.