ΑΣΚΗΣΕΙΣ ΓΙΑ ΑΥΤΟΜΑΤΑ ΣΤΟΙΒΑΣ Βρείτε τα αυτόmατα στοίβας για τις παρακάτω γλώσσες: (1) L = {a i b i : i ≥ 0}. ε | ε, ε ε | γ,ε a | γ,δγ a | δ, δδ b | δ, ε (2) L = {a i b 2i : i ≥ 0}. ε | ε, ε ε | γ,ε a | γ,δδγ a | δ, δδδ b | δ, ε (3) L = {a 2i b i : i ≥ 0}. ε | ε, ε ε | γ,ε a | γ,δγ a | δ, δδ a | δ, δ b | δ, ε (4) L = {a 2i b 3i : i ≥ 1}. ε | ε, ε ε | γ,ε a | γ, δδδγ a | δ, δδδδ a | δ, δ b | δ, ε 1
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
ΑΣΚΗΣΕΙΣ ΓΙΑ ΑΥΤΟΜΑΤΑ ΣΤΟΙΒΑΣ
Βρείτε τα αυτόματα στοίβας για τις παρακάτω γλώσσες:
(1) L = {aibi: i ≥ 0}.
ε | ε, ε ε | γ, ε
a | γ, δγa | δ, δδ b | δ, ε
(2) L = {aib2i: i ≥ 0}.
ε | ε, ε ε | γ, ε
a | γ, δδγa | δ, δδδ b | δ, ε
(3) L = {a2ibi: i ≥ 0}.
ε | ε, ε ε | γ, ε
a | γ, δγa | δ, δδ a | δ, δ b | δ, ε
(4) L = {a2ib3i: i ≥ 1}.
ε | ε, ε ε | γ, ε
a | γ, δδδγa | δ, δδδδ a | δ, δ b | δ, ε
1
(5) L = {aibj: i 6= j, i, j ≥ 0}.
a | γ, γ
ε | ε, ε ε | ε, ε
ε | γ, ε
ε | ε, ε
ε | ε, ε b | γ, γ
ε | γ, ε
a | γ, γa | γ, δγa | δ, δδ b | δ, ε
a | γ, δγa | δ, δδ
b | δ, ε b | γ, γ
(6) L = {aibj: 0 ≤ i ≤ j ≤ 2i}.
ε | ε, ε ε | γ, ε
a | γ, δγa | γ, δδγa | δ, δδa | δ, δδδ b | δ, ε
(7) L = {aibi: i 6= 0 mod 3}.
a | γ, δγa | δ, δδ
a | δ, δδ
a | δ, δδ
b | δ, ε
b | δ, ε b | δ, ε
ε | γ, ε
2
Εναλλακτική λύση:
b | δ0, εb | δ1, ε
ε | γ, ε
a | γ, δ0γa | δ0, δ1δ0a | δ1, δ2δ1a | δ2, δ0δ2
b | δ0, εb | δ1, εb | δ2, ε
(8) L = {ab(ab)ib(ba)i: i ≥ 0}.
a | γ, γ b | γ, γb | γ, γb | δ, δ ε | γ, ε
a | ε, εb | γ, δγb | δ, δδ b | ε, εa | δ, ε
(9) L = {anw : n ≥ 0, w ∈ (a+ b)∗ και |w| ≤ n}.
ε | ε, ε ε | γ, ε
a | γ, δγa | δ, δδ a+ b+ ε | δ, ε
(10) L = {w ∈ (a+ b)∗: |w| άρτιο}.
ε | γ, ε
a+ b | γ, δγ a+ b | δ, ε
3
(11) L = {w ∈ (a+ b)∗: |w| περιττό}.
ε | γ, ε
a+ b | γ, δγ a+ b | δ, ε
(12) L = {w1aw2 ∈ (a+ b)∗: |w1| και |w2| άρτια}.
a | γ, γ
a+ b | γ, δγ a+ b | δ, ε
a+ b | γ, δγ a+ b | δ, ε
ε | γ, ε
(13) L = {aibjci: i, j ≥ 0}.
ε | ε, ε ε | ε, ε ε | γ, ε
a | γ, δγa | δ, δδ b | ε, ε c | δ, ε
(14) L = {aibjck: i = j + k}.
ε | ε, ε ε | ε, ε ε | γ, ε
a | γ, δγa | δ, δδ b | δ, ε c | δ, ε
4
(15) L = {aibjck: j = i+ k}.
ε | ε, ε ε | ε, ε ε | γ, ε
a | γ, δγa | δ, δδ
b | δ, εb | γ, ηγb | η, ηη c | η, ε
(16) L = {aibjck: k = i+ j}.
ε | ε, ε ε | ε, ε ε | γ, ε
a | γ, δγa | δ, δδ
b | γ, δγb | δ, δδ c | δ, ε
(17) L = {a3bici: i ≥ 0}.
a | γ, γ a | γ, γ a | γ, γ ε | ε, ε ε | γ, ε
a | γ, δγa | δ, δδ c | δ, ε
(18) L = {aibjck: i = j ή j = k}.
ε | ε, ε
ε | ε, ε ε | ε, ε
ε | γ, ε
ε | ε, ε
ε | ε, ε b | γ, γ
ε | γ, ε
a | γ, δγa | δ, δδ b | δ, ε c | γ, γ
a | γ, γ b | γ, δγb | δ, δδ
c | δ, ε
5
(19) L = {aibjck: j < i ή j < k}.
ε | ε, ε
ε | ε, ε
ε | ε, εε | γ, ε
ε | ε, ε
ε | ε, ε
ε | ε, ε
a | γ, γ
a | γ, δγa | δ, δδ b | δ, ε
c | γ, γ
b | γ, δγb | δ, δδ
c | δ, ε
(20) L = {aibici: i ≥ 0}.
ε | ε, ε; ε, ε ε | ε, ε; ε, ε ε | γ1, ε; γ2, ε
a | γ1, δ1γ1; γ2, δ2γ2a | δ1, δ1δ1; δ2, δ2δ2 b | δ1, ε; δ2, δ2 c | γ1, γ1; δ2, ε
(35) L = {w ∈ (a+ b)?: w = wR}.Απ.: Προφανώς, ισχύει ότι w = wR
αν και μόνον αν είτε w = zzR ή w = zσzR, για κάποια λέξηz ∈ (a+ b)∗ και κάποιο σύμβολο σ = a ή b. Επομένως:
ε | ε, ε
σ | ε, εε | γ, ε
a | γ, δaγa | δa, δaδa
b | γ, δbγb | δb, δbδb
a | δa, ε
b | δb, ε
10
ΑΣΚΗΣΕΙΣ ΓΙΑ ΓΡΑΜΜΑΤΙΚΕΣ ΑΝΕΞΑΡΤΗΤΕΣ ΣΥΜΦΡΑΖΟΜΕΝΩΝ
Βρείτε τις γλώσσες για τις παρακάτω γραμματικές ανεξάρτητες συμφραζομένων:
(1) S → aSa | aBa,B → bB | b.Απ.: S
n=⇒ anSan
m=⇒ an
(amBam
)an
k=⇒ an+mbkBan+m ⇒ an+mbk+1an+m. ΄Αρα, η γλώσσα
είναι η L = {aibjai: i ≥ 0, j > 0}.
(2) S → aSdd |A,A→ bAc | bc.Απ.: S
n=⇒ anS(dd)n ⇒ anA(dd)n
m=⇒ an
(bmAcm
)(dd)n ⇒ anbmbccm(dd)n =
anbm+1cm+1(dd)n. ΄Αρα, η γλώσσα είναι η L = {aibjcjd2i: i ≥ 0, j > 0}.
(3) S → aSb | aSbb | ε.Απ.: S
n=⇒ anSbn
m=⇒ an
(amS(bb)m
)bn ⇒ an+mbn+2m. ΄Αρα, η γλώσσα είναι η L = {aibj: 0 ≤
i ≤ j ≤ 2i}.
(4) S → abScB | ε,B → bB | b.Απ.: S
n=⇒ (ab)nS(cB)n ⇒ (ab)n(cB)n
m=⇒ (ab)n
(c(bmB)
)n ⇒ (ab)n(cbm+1)n. ΄Αρα, η γλώσσαείναι η L = {(ab)i(cbj)i: i ≥ 0, j > 0}.
Βρείτε τις γραμματικές ανεξάρτητες συμφραζομένων για τις παρακάτω γλώσσες:
(5) L = {aibi: i ≥ 0}.Απ.: S → aSb | ε.
(6) L = {(ab)i: i ≥ 0}.Απ.: S → abS | ε.
(7) L = {aibi+1: i ≥ 0}.Απ.: S → aSb | b. ΄Η S → Bb,B → aBb | ε κλπ.
(8) L = {aib2i: i ≥ 0}.Απ.: S → aSbb | ε.
(9) L = {aibj: i > 0, j ≥ 0}.Απ.: S → AB,A→ aA | a,B → Bb | ε.
(10) L = {ai+2bi: i ≥ 1}.Απ.: S → aSb | aaab.
(11) L = {aibi−3: i ≥ 3}.Απ.: S → aSb | aaa.
(12) L = {aibj: j > i ≥ 0}.Απ.: S → aSb |Sb | b.
(13) L = {aibj: i 6= j}.Απ.: S → S> |S<, S> → aS>b | aS> | a, S< → aS<b |S<b | b.
(14) L = {aibj: i ≤ j + 3}.Απ.: S → aaaB | aaB | aB |B,B → aBb |Bb | b.
(15) L = {aibj: i 6= j − 1}.Απ.: S → A |B,A→ aAb | aA | ε,B → aBb |Bb | bb.
(16) L = {aibj: i 6= 2j}.Απ.: S → A |B,A→ aaAb | aA | a,B → aaBb | aBb |Bb | b.
1
Γιάννης
Stamp
(17) L = {aibj: 2i ≤ j ≤ 3i}.Απ.: S → aSbb | aSbbbb | ε.
(18) L = {a2ib3j: i, j ≥ 0}.Απ.: S → AB,A→ aaA | ε,B → Bbbbb | ε.
(19) L = {aibjck: i = j ή j ≤ k}.Απ.: S → S1C |AS2, S1 → aS1b | ε, C → Cc | ε,A→ aA | ε, S2 → bS2c |S2c | ε.
(20) L = {aibjck: i = j ή j 6= k}.Απ.: S → S1C |AS3, S1 → aS1b | ε, C → Cc | ε,A→ aA | ε, S3 → S2 |S4,S2 → bS2c |S2c | c, S4 → bS4c | bS4 | b.
(21) L = {aibjck: i 6= j ή j 6= k}.Απ.: S → S1C |AS3, S1 → S5 |S6, S5 → aS5b | aS5 | a, S6 → aS6b |S6b | b, S3 → S2 |S4,S2 → bS2c |S2c | c, S4 → bS4c | bS4 | b.
(22) L = {aibjck: k = i+ j}.Απ.: S → aSc |S1 | ε, S1 → bS1c | ε.
(23) L = {aibjck: k 6= i+ j}.Απ.: S → S1 |S2, S1 → aS1c |S3 | c, S3 → bS3c |S3c | c,S2 → AS4, A→ aA | ε, S4 → aS4c |S5 | a, S5 → bS5c | bS5 | b.
(24) L = {aibjck: i+ 2j = k}.Απ.: S → aSc |S1 | ε, S1 → bS1cc | ε.
(25) L = {aibjck: k = |i− j|}.Απ.: S → S1 |S2S3, S1 → aS1c |S2 | ε, S2 → aS2b | ε, S3 → bS3c | ε.
(26) L = {aibick: i ≥ 0, k ≥ 3}.Απ.: S → S1C, S1 → aS1b | ε, C → Cc | ccc.
(27) (i) L = {w ∈ (a+ b)∗: |w| = άρτιο}.(ii) L = {w ∈ (a+ b)∗: |w| = περιττό}.Απ.: Το αντίστοιχο ντετερμινιστικό πεπερασμένο αυτόματο (χωρίς το συμβολισμό των τελικών
καταστάσεων είναι):
S T
a+ b
a+ b
(i) Η τελική κατάσταση είναι η S κι οι κανόνες είναι: S → aT | bT | ε, T → aS | bS.(ii) Η τελική κατάσταση είναι η T κι οι κανόνες είναι: S → aT | bT, T → aS | bS | ε.
(28) (i) L = {w ∈ (a+ b)∗: |w| mod 3 = 0}.(ii) L = {w ∈ (a+ b)∗: |w| mod 3 > 0}.(iii) L = {w ∈ (a+ b)∗: |w| mod 3 6= |w| mod 2}.(iv) L = {w ∈ (a+ b)∗: |w| mod 3 ≥ |w| mod 2}.Απ.: Το αντίστοιχο ντετερμινιστικό πεπερασμένο αυτόματο (χωρίς το συμβολισμό των τελικών
καταστάσεων είναι):
2
Γιάννης
Typewritten Text
Γιάννης
Stamp
Γιάννης
Stamp
U
S Ta+ b
a+ ba+ b
(i) Η τελική κατάσταση είναι η S κι οι κανόνες είναι: S → (a+b)T | ε, T → (a+b)U,U → (a+b)S(ή S → (a+ b)3S | ε).
(ii) Οι τελικές καταστάσεις είναι οι T και U κι οι κανόνες είναι: S → (a + b)T, T → (a +b)U | ε, U → (a+ b)S | ε (ή S → (a+ b)T | (a+ b)2U, T → (a+ b)3T | ε, U → (a+ b)3U | ε).
(iii) Προφανώς, |w| mod 3 = |w| mod 2 αν και μόνον αν |w| mod 6 = 0 ή 1, που σημαίνει ότι|w| mod 3 6= |w| mod 2 αν και μόνον αν |w| mod 6 = 2, 3, 4 ή 5. Επομένως, το αντίστοιχοντετερμινιστικό πεπερασμένο αυτόματο είναι:
S
T U
V
X W
a+ b
a+ b
a+ b
a+ b
a+ b
a+ b
΄Αρα, οι κανόνες είναι: S → (a+b)T, T → (a+b)U,U → (a+b)V | ε, V → (a+b)W | ε,W →(a+ b)X | ε,X → (a+ b)S | ε.
(iv) Προφανώς, |w| mod 3 ≥ |w| mod 2 αν και μόνον αν |w| mod 6 6= 3, που σημαίνει ότι |w|mod 3 ≥ |w| mod 2 αν και μόνον αν |w| mod 6 = 0, 1, 2, ή 4, 5, 6. Επομένως, το αντίστοιχοντετερμινιστικό πεπερασμένο αυτόματο είναι:
S
T U
V
X W
a+ b
a+ b
a+ b
a+ b
a+ b
a+ b
΄Αρα, οι κανόνες είναι: S → (a+ b)T | ε, T → (a+ b)U | ε, U → (a+ b)V | ε, V → (a+ b)W,W →(a+ b)X | ε,X → (a+ b)S | ε.
(29) (i) L = {w ∈ (a+ b)∗: na(w) = άρτιο}.(ii) L = {w ∈ (a+ b)∗: na(w) = περιττό}.(iii) L = {w ∈ (a+ b)∗: na(w) = άρτιο και nb(w) = άρτιο}.
3
(iv) L = {w ∈ (a+ b)∗: na(w) = άρτιο και nb(w) = περιττό}.Απ.: Το αντίστοιχο ντετερμινιστικό πεπερασμένο αυτόματο (χωρίς το συμβολισμό των τελικών
καταστάσεων είναι):
S T
UV
a
a
bb
a
a
b b
(i) Οι τελικές καταστάσεις είναι οι S και V κι οι κανόνες είναι: S → aT | bV | ε, T → aS | bU, U →aV | bT, V → aU | bS | ε.Μια δεύτερη λύση: Επειδή na(w) άρτιο αν και μόνον αν na(ww) άρτιο, δηλαδή, γενικώς,αν και μόνον αν na
((ww)∗
)άρτιο, όπως επίσης και τα na(bw) και na(wb) άρτια, παίρνουμε
τους εξής (διαφορετικούς) κανόνες: S → AA | ε,A→ AAA | bA |Ab | a.(ii) Οι τελικές καταστάσεις είναι οι T και U κι οι κανόνες είναι: S → aT | bV, T →
aS | bU | ε, U → aV | bT | ε, V → aU | bS.Μια δεύτερη λύση: Επειδή na(w) περιττό αν και μόνον αν na(www) περιττό, δηλαδή, γενι-κώς, αν και μόνον αν na
(w(ww)∗
)περιττό, όπως επίσης και τα na(bw) και na(wb) περιττά,
παίρνουμε τους εξής (διαφορετικούς) κανόνες: S → AAA,A→ AAA | bA |Ab | a.(iii) Η τελική κατάσταση είναι η S κι οι κανόνες είναι: S → aT | bV | ε, T → aS | bU, U →
aV | bT, V → aU | bS.(iv) Η τελική κατάσταση είναι η V κι οι κανόνες είναι: S → aT | bV, T → aS | bU, U →
aV | bT, V → aU | bS | ε.
(30) L = {w ∈ (a+ b+ c)∗: το abc δεν περιέχεται στη w}.Απ.: Το αντίστοιχο ντετερμινιστικό πεπερασμένο αυτόματο (χωρίς το συμβολισμό των τελικών
καταστάσεων είναι):
U
S T
a
c a
b
b
b+ c
a
Οι τελικές καταστάσεις είναι οι S, T και U κι οι κανόνες είναι: S → aU | bS | cS | ε, T →aU | bS | ε, U → aU | bT | cS | ε.
4
Γιάννης
Stamp
(31) L = {w ∈ (a+ b)∗: na(w) = 1}.
Απ.: Το αντίστοιχο ντετερμινιστικό πεπερασμένο αυτόματο:
S Ta
b b
Η τελική κατάσταση είναι η T κι οι κανόνες είναι: S → aT | bS, T → bT | ε.
(32) L = {w ∈ (a+ b)∗: na(w) ≥ 1}.
Απ.: ΄Οπως στην προηγούμενη άσκηση, αλλά με την προσθήκη ενός επιπλέον κανόνα για την T(από τον αυτοβρόχο με a στην T ): S → aT | bS, T → aT | bT | ε.
(33) L = {w ∈ (a+ b)∗: na(w) = 2}.
Απ.: Το αντίστοιχο ντετερμινιστικό πεπερασμένο αυτόματο:
S T Ua a
b b b
Η τελική κατάσταση είναι η U κι οι κανόνες είναι: S → aT | bS, T → aU | bT, U → bU | ε.
(34) L = {w ∈ (a+ b)∗: na(w) ≥ 2}.
Απ.: ΄Οπως στην προηγούμενη άσκηση, αλλά με την προσθήκη ενός επιπλέον κανόνα για την U(από τον αυτοβρόχο με a στην U): S → aT | bS, T → aU | bT, U → aU | bU | ε.
(35) L = {w ∈ (a+ b)∗: na(w) ≤ 3}.
Απ.: Το αντίστοιχο ντετερμινιστικό πεπερασμένο αυτόματο:
S T U Va a a
b b b b
Οι τελικές καταστάσεις είναι οι S, T, U και V κι οι κανόνες είναι: S → aT | bS | ε, T →aU | bT | ε, U → aV | bU | ε, V → bV | ε.
(36) L = {w ∈ (a+ b)∗: na(w) ≥ 3}.
Απ.: Το αντίστοιχο ντετερμινιστικό πεπερασμένο αυτόματο:
S T U Va a a
b b b a+ b
Οι τελικές καταστάσεις είναι οι S, T, U και V κι οι κανόνες είναι: S → aT | bS, T → aU | bT, U →aV | bU, V → aV | bV | ε.
5
(37) L = {w ∈ (a+ b)∗: na(w) = nb(w)}.
Απ.: Επειδή w ∈ L αν και μόνον αν w1w2 ∈ L, για κάθε ζεύγος w1, w2 ∈ L, και awb ∈ L καιbwa ∈ L, οι κανόνες είναι: S → SS | aSb | bSa | ε.
(38) L = {w ∈ (a+ b)∗: na(w) = nb(w) + 1}.
Απ.: Συμβολίζοντας με S0 τη μεταβλητή που δημιουργεί λέξεις με ίσο πλήθος των a και των b(όπως στην προηγούμενη άσκηση), οι κανόνες είναι: S → S0aS0, S0 → S0S0 | aS0b | bS0a | ε.
(39) L = {w ∈ (a+ b)∗: na(w) > nb(w)}.
Απ.: Πάλι συμβολίζοντας S0 τη μεταβλητή για λέξεις με ίδιο πλήθος συμβόλων, οι κανόνες είναι:
S → S0AS0, S0 → S0S0 | aS0b | bS0a | ε,A→ aA | a.
(40) L = {w ∈ (a+ b)∗: nb(w) ≥ na(w)}.
Απ.: Προφανώς, όπως προηγούμενα, οι κανόνες είναι: S → SS | aSb | bSa | bS | ε.
(41) L = {w ∈ (a+ b)∗: na(w) = 2nb(w)}.
Απ.: Επειδή οι λέξεις μικρότερου μη μηδενικού μήκους, που ανήκουν στη γλώσσα αυτή, είναι οι
aab, aba και baa, οι κανόνες είναι: S → SS | aSaSb | aSbSa | bSaSa | ε.
(42) L = {w ∈ (a+ b)∗: na(w) = 2nb(w) + 1}.
Απ.: Συμβολίζοντας με S2 τη μεταβλητή που δημιουργεί λέξεις με πλήθος των a διπλάσιοτου πλήθους των b (όπως στην προηγούμενη άσκηση), οι κανόνες είναι: S → S2aS2, S2 →S2S2 | aS2aS2b | aS2bS2a | bS2aS2a | ε.
(43) L = {w ∈ (a+ b)∗: |na(w)− nb(w)| = 1}.
Απ.: ΄Οπως πριν, οι κανόνες είναι: S → S0aS0 |S0bS0, S0 → S0S0 | aS0b | bS0a | ε.
(44) L = {w ∈ (a+ b)∗: w = wR}.
Απ.: Προφανώς, οι κανόνες είναι: S → aSa | bSb | a | b | ε.
(45) L = {wwR: w ∈ (a+ b)+}.
Απ.: Προφανώς, οι κανόνες είναι: S → aSa | bSb | aa | bb.
6
Γιάννης
Stamp
ΑΣΚΗΣΕΙΣ ΓΙΑ ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ ΚΑΙ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ
(1) L = a(a + b)∗.
Απ.: Λέξεις που αρχίζουν με a.
a
a
b
(2) L = (a + b)∗ab.
Απ.: Λέξεις που τελειώνουν σε ab.
a
b
b
a
a
b
(3) L = (a + b)∗bb(a + b)∗a.
Απ.: Λέξεις με δυο διαδοχικά b, δηλαδή, με το bb, οι οποίες τελειώνουν σε a.
b
a
a
b
b
a
a
b
(4) L = (a + ab)∗.
Απ.: Λέξεις χωρίς καθόλου διαδοχικά b, δηλαδή, χωρίς το bb, οι οποίες αρχίζουν με a.
a
a
b
a
1
(5) L = (ε + b)(a + ab)∗.
Απ.: Λέξεις χωρίς καθόλου διαδοχικά b, δηλαδή, χωρίς το bb.
a b
a
b
a
(6) L = (a + ba∗b)∗.
Απ.: Λέξεις με άρτιο πλήθος b.
b
b
a a
(7) Λέξεις που ή αρχίζουν με a ή τελειώνουν σε a.
Απ.: L = a(a + b)∗ + (a + b)∗a.
a b
a
b
b a
a
b
2
(8) Λέξεις που ή αρχίζουν με a ή τελειώνουν σε a, αλλά όχι και τα δυο.
Απ.: L = a(a + b)∗b + b(a + b)∗a.
a b
a b ab
a
b
b
a
(9) Λέξεις που αρχίζουν και τελειώνουν με το ίδιο σύμβολο.
Απ.: L = a(a + b)∗a + b(a + b)∗b + a + b.
a b
a b ab
a
b
b
a
(10) ΄Οταν Σ = {a, b, c}, λέξεις που αρχίζουν με a, περιέχουν δυο ακριβώς b (όχι υποχρεωτικάδιαδοχικά) και τελειώνουν με δυο διαδοχικά c, δηλαδή, τελειώνουν με το cc.
Απ.: L = a(a + c)∗b(a + c)∗b(a + c)∗cc.
a b b
c
c
a
a
a + c a + c a c
3
(11) ΄Οταν Σ = {a, b, c}, λέξεις στις οποίες το b ακολουθείται πάντα από τουλάχιστον ένα c.
(29) Λέξεις χωρίς καθόλου τρία διαδοχικά a, δηλαδή, χωρίς το aaa.
Απ.: L = (b + ab + aab)∗.
a
b
a
b
b
(30) Λέξεις χωρίς το aba.
Απ.: L =(a∗bb+a∗
)∗+ a∗ + b∗ + ab∗ + ba∗.
b
a a b
b b
a
a b
8
(31) Λέξεις με πλήθος a (που συμβολίζεται ως na) να είναι διαιρετό από το 3.
Απ.: L = b∗(ab∗ab∗ab∗)∗.
a
a
a
bb
b
(32) Λέξεις τέτοιες ώστε nb < na ≤ 2.
Απ.: L = L0 + L1, όπου η L0 αποτελείται από τις λέξεις με na = 2 και nb = 0 ή 1 και η L1 από
na = 1 και nb = 0. Προφανώς, έχουμε: L0 = aa + baa + aba + aab και L1 = a.
a a
b
a a
b b
(33) ΄Οταν Σ = {a, b, c}, λέξεις τέτοιες ώστε nb + nc = 3.
Απ.: L = L0 + L1 + L2 + L3, όπου η L0 αποτελείται από τις λέξεις με nb = 3 και nc = 0, ηL1 από nb = 2 και nc = 1, η L2 από nb = 1 και nc = 2 και η L3 από nb = 0 και nc = 3.Προφανώς, έχουμε: L0 = a∗ba∗ba∗ba∗, L1 = a∗ba∗ba∗ca∗ + a∗ba∗ca∗ba∗ + a∗ca∗ba∗ba∗, L2 =a∗ca∗ca∗ba∗ + a∗ca∗ba∗ca∗ + a∗ba∗ca∗ca∗ και L3 = a∗ca∗ca∗ca∗.
c
c
b + c
b + c
b + cc
b
b
ba
a a
a a
a a
9
(34) Λέξεις στις οποίες κάθε a έχει ένα b είτε μπροστά του ή πίσω του.
Απ.: L = (b + ab + ba + aba)∗.
a b
a
b
a
b
b
(35) Βρείτε τις κανονικές γλώσσες με τελικές καταστάσεις κάθε έναν από τους 4 κόμβους του εξής
πεπερασμένου αυτόματου:
q0 q1
q2q3
a
a
bb
a
a
b b
Απ.:
• Στην q0 τερματίζουν οι λέξεις της γλώσσας με na = άρτιο και nb = άρτιο.
• Στην q1 τερματίζουν οι λέξεις της γλώσσας με na = περιττό και nb = άρτιο.
• Στην q2 τερματίζουν οι λέξεις της γλώσσας με na = περιττό και nb = περιττό.
• Στην q3 τερματίζουν οι λέξεις της γλώσσας με na = άρτιο και nb = περιττό.
Για την εύρεση της κανονικής έκφρασης της γλώσσας σε κάθε περίπτωση, μπορούμε να προχωρή-
σουμε με τη μέθοδο της διαδοχικής αφαίρεσης καταστάσεων μεταξύ της αρχικής και της τελικής
κατάστασης. Π.χ., στην περίπτωση τερματισμού στην q3:
q0 q1
q2q3
a
a
bb
a
a
b b
η αφαίρεση της q1 δημιουργεί το πεπερασμένο αυτόματο:
10
q0 q2 q3
ab
ba
a
a
b
b
aa bb
από το οποίο η αφαίρεση της q2 δημιουργεί το πεπερασμένο αυτόματο:
q0 q3
b + ab(bb)∗a
b + a(bb)∗ba
aa + ab(bb)∗ba a(bb)∗a
κι, επομένως, η κανονική έφραση της γλώσσας αυτής (των λέξεων με na = περιττό και nb =περιττό) βρίσκεται αμέσως ότι είναι:
L =(aa+ab(bb)∗ba
)∗(b+ab(bb)∗a
)((a(bb)∗a
)∗(b+a(bb)∗ba
)(aa+ab(bb)∗ba
)∗(b+ab(bb)∗a
))∗.
(36) Βρείτε τις κανονικές γλώσσες με τελικές καταστάσεις κάθε έναν από τους 3 κόμβους του εξής
πεπερασμένου αυτόματου:
q0
q1
q2
a
b
a
b
a
b
Απ.:
• Στην q0 τερματίζουν οι λέξεις της γλώσσας με na − nb = 0 mod 3.
• Στην q1 τερματίζουν οι λέξεις της γλώσσας με na − nb = 1 mod 3 ή nb − na = 2 mod 3.
• Στην q2 τερματίζουν οι λέξεις της γλώσσας με na − nb = 2 mod 3 ή nb − na = 1 mod 3.
11
(37) Βρείτε τις κανονικές γλώσσες με τελικές καταστάσεις κάθε έναν από τους 4 κόμβους του εξής
πεπερασμένου αυτόματου:
q0 q1
q2q3
a
b
ab
a
b
a b
Απ.:
• Στην q0 τερματίζουν οι λέξεις της γλώσσας με na − nb = 0 mod 4.
• Στην q1 τερματίζουν οι λέξεις της γλώσσας με na − nb = 1 mod 4 ή nb − na = 3 mod 4.
• Στην q2 τερματίζουν οι λέξεις της γλώσσας με |na − nb| = 2 mod 4.
• Στην q3 τερματίζουν οι λέξεις της γλώσσας με na − nb = 3 mod 4 ή nb − na = 1 mod 4.
(38) Βρείτε τις κανονικές γλώσσες με τελικές καταστάσεις κάθε έναν από τους 9 κόμβους του εξής
πεπερασμένου αυτόματου:
q0 q1 q2
q3 q4 q5
q6 q7 q8
b b
b
b
b b
a a a
a a a
b
b
a a a
b
Απ.:
• Στην q0 τερματίζουν οι λέξεις της γλώσσας με na = 0 mod 3 και nb = 0 mod 3.
• Στην q1 τερματίζουν οι λέξεις της γλώσσας με na = 0 mod 3 και nb = 1 mod 3.
• Στην q2 τερματίζουν οι λέξεις της γλώσσας με na = 0 mod 3 και nb = 2 mod 3.
• Στην q3 τερματίζουν οι λέξεις της γλώσσας με na = 1 mod 3 και nb = 0 mod 3.
• Στην q4 τερματίζουν οι λέξεις της γλώσσας με na = 1 mod 3 και nb = 1 mod 3.
• Στην q5 τερματίζουν οι λέξεις της γλώσσας με na = 1 mod 3 και nb = 2 mod 3.
• Στην q6 τερματίζουν οι λέξεις της γλώσσας με na = 2 mod 3 και nb = 0 mod 3.
• Στην q7 τερματίζουν οι λέξεις της γλώσσας με na = 2 mod 3 και nb = 1 mod 3.
• Στην q8 τερματίζουν οι λέξεις της γλώσσας με na = 2 mod 3 και nb = 2 mod 3.