Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Dipartimento di Informatica
Informatica e Comunicazione Digitale (Taranto)
Esercizi
• Esercizi sui seguenti argomenti
• Linguaggi regolari
• Esercizio #1
• Esercizio #2
• Esercizio #3
• Esercizio #4
• Esercizio #5
Esercizio #1
𝐿 = 𝑎𝑛 𝑏 𝑘 𝑐 𝑛 ≥ 𝑘 ≥ 0}
• 𝑐
• 𝑎𝑐
• 𝑎2 𝑐
• 𝑎3 𝑐
• …
• 𝑎𝑏𝑐
• 𝑎2 𝑏𝑐
• 𝑎3 𝑏𝑐
• …
Esercizio #1 - Soluzione
• Supponiamo, per assurdo, che 𝐿 sia lineare destro
• Per il teorema di Kleene, ℒ3 ≡ ℒ𝐹𝑆𝐿 ≡ ℒ𝑅𝐸𝐺
• Quindi, se 𝐿 è lineare è anche regolare ed anche a stati finiti
𝑎
𝑞0 ՜ 𝑞1
𝑎
𝑝𝑎 𝑞1 ՜ 𝑞2
⋯
𝑎
𝑞𝑛−1 ՜ 𝑞𝑝
𝑎(1)
𝑠𝑡𝑎𝑟𝑡 𝑞0 𝑞1 𝑞𝑖−1
𝑎 (𝑗−1) 𝑎(𝑖)
𝑎(𝑗+1) 𝑐
𝑞𝑗−1 𝑞𝑖 = 𝑞𝑗 𝑞𝑗+1 𝑞𝑝−1 𝑞𝐹
𝑎(𝑖+1)
𝑞𝑖+1
Trace di 𝑀
Esercizio #1 - Soluzione
• Avremo che:
• 𝑧 si può scrivere come
𝑧 = 𝑢𝑣𝑤 = 𝑎ณ𝑖 𝑎
ถ 𝑗−𝑖 𝑎 𝑝−𝑗 𝑏 𝑝 𝑐
𝑢 𝑣 𝑤
• |𝑢𝑣| = |𝑎𝑖 𝑎 𝑗−𝑖 | ≤ 𝑝
• 𝑎 𝑗−𝑖 ≠ λ, 0 < 𝑗 − 𝑖 ≤ 𝑝
• Sia 𝑘 = 0, per il lemma abbiamo che la parola depompata
𝑢𝑣 𝑘 𝑤 ∈ 𝑇(𝑀)
𝑡 = 𝑢𝑣 0 𝑤 = 𝑎𝑝−(𝑗−𝑖) 𝑏 𝑝 𝑐 ∈ 𝑇(𝑀)
• Osservazione: 𝑢𝑣 0 𝑤 ∉ 𝐿, dato che #𝑎 𝑡 < #𝑏 𝑡
Esercizio #1 - Soluzione
• Abbiamo raggiunto una contraddizione
• 𝐿 non è regolare in quanto ∃𝑀 tale che 𝑇 𝑀 = 𝐿
• 𝐿 non è lineare destro
Esercizio #2
𝐿 = 𝑎𝑛 𝑏𝑐 3𝑛 𝑛 > 0}
• 𝑎𝑏𝑐 3
• 𝑎2 𝑏𝑐 6
• 𝑎3 𝑏𝑐 9
• 𝑎4 𝑏𝑐12
• …
Esercizio #2 - Soluzione
• Supponiamo, per assurdo, che 𝐿 sia lineare destro
• Per il teorema di Kleene, ℒ3 ≡ ℒ𝐹𝑆𝐿 ≡ ℒ𝑅𝐸𝐺
• Quindi, se 𝐿 è lineare è anche regolare ed anche a stati finiti
𝑎
𝑞0 ՜ 𝑞1
𝑎
𝑝𝑎 𝑞1 ՜ 𝑞2
⋯
𝑎
𝑞𝑛−1 ՜ 𝑞𝑝
𝑎(1)
𝑠𝑡𝑎𝑟𝑡 𝑞0 𝑞1 𝑞𝑖−1
𝑎 (𝑗−1) 𝑎(𝑖)
𝑎(𝑗+1) 𝑐 (3𝑝)
𝑞𝑗−1 𝑞𝑖 = 𝑞𝑗 𝑞𝑗+1 𝑞𝑝−1 𝑞𝐹
𝑎(𝑖+1)
𝑞𝑖+1
Trace di 𝑀
Esercizio #2 - Soluzione
• Avremo che:
• 𝑧 si può scrivere come
𝑧 = 𝑢𝑣𝑤 = 𝑎ณ𝑖 𝑎
ถ 𝑗−𝑖 𝑎 𝑝−𝑗 𝑏𝑐 3𝑝
𝑢 𝑣 𝑤
• |𝑢𝑣| = |𝑎𝑖 𝑎 𝑗−𝑖 | ≤ 𝑝
• 𝑣 ≠ λ, infatti 𝑎 𝑗−𝑖 ≠ λ, 0 < 𝑗 − 𝑖 ≤ 𝑝
genera 𝐿 = 𝐿1 ∙ 𝐿2
Esercizio #3 - Soluzione
• 𝑅1 = 𝑎 + 𝑏 ∗
• Troviamo ora 𝑆(𝑅1 ), ossia il linguaggio regolare
corrispondente all’espressione regolare 𝑅1
∗ ∗ ∗
𝑆 𝑎+𝑏 = 𝑆 𝑎+𝑏 = 𝑆 𝑎 ∪𝑆 𝑏 =
= 𝑎 ∪ 𝑏 ∗ = 𝑎, 𝑏 ∗
Esercizio #3 - Soluzione
• 𝑅2 = 𝑎𝑏
• Troviamo ora 𝑆(𝑅2 ), ossia il linguaggio regolare
corrispondente all’espressione regolare 𝑅2
𝑆 𝑎𝑏 = 𝑆 𝑎 ∙ 𝑆 𝑏 = {𝑎𝑏}
Esercizio #3 - Soluzione
• Determinare una grammatica lineare destra che
genera 𝐿 = 𝐿1 ∙ 𝐿2
• Sia 𝐺1 grammatica generativa 𝐺1 = (𝑋1 , 𝑉1 , 𝑆1 , 𝑃1 ) t.c.
𝐿1 = 𝐿 𝐺1
• 𝑋1 = 𝑎, 𝑏
• 𝑉 = 𝑆1
• 𝑆1 assioma
• 𝑃1 = 𝑆1 ՜ λ 𝑎𝑆1 |𝑏𝑆1}
Esercizio #3 - Soluzione
• Determinare una grammatica lineare destra che
genera 𝐿 = 𝐿1 ∙ 𝐿2
• Sia 𝐺2 grammatica generativa 𝐺2 = (𝑋2 , 𝑉2 , 𝑆2 , 𝑃2 ) t.c.
𝐿2 = 𝐿 𝐺2
• 𝑋2 = 𝑎, 𝑏
• 𝑉 = 𝑆2
• 𝑆2 assioma
• 𝑃2 = {𝑆2 ՜ 𝑎𝐴, 𝐴 ՜ 𝑏}
Esercizio #3 - Soluzione
• Determinare una grammatica lineare destra che
genera 𝐿 = 𝐿1 ∙ 𝐿2
• 𝑃1 = 𝑆1 ՜ λ 𝑎𝑆1 |𝑏𝑆1 }
• 𝑃2 = {𝑆2 ՜ 𝑎𝐴, 𝐴 ՜ 𝑏}
• 𝐺 = (𝑋, 𝑉 − 𝑆 , 𝑆1 , 𝑃)
• 𝑋 = 𝑎, 𝑏
• 𝑉 = {𝑆1 , 𝑆2 , 𝐴}
• 𝑆1 assioma
• 𝑃 = {𝑆1 ՜ 𝑎𝑆1 𝑏𝑆1 𝑎𝑆2 |𝑏𝑆2 |𝑎𝐴, 𝑆2 ՜ 𝑎𝐴, 𝐴 ՜ 𝑏}
Esercizio #4
Progettare, commentando opportunamente, l’automa a
𝛿 𝑞0 𝑞1 𝑞2
0 𝑞1 𝑞1 𝑞2
1 𝑞0 𝑞0 𝑞2
Esercizio #5
Sia data la seguente grammatica lineare destra 𝐺 =
(𝑋, 𝑉, 𝑆, 𝑃)
𝑋 = 𝑎, 𝑏 , 𝑉 = 𝑆, 𝐴, 𝑏 , 𝑆
𝛿 𝑆 𝐴 𝐵 𝑞
𝑎 {𝐴, 𝐵, 𝑞} {𝐵} − −
𝑏 − {𝐴} {𝐵, 𝑞} −
Esercizio #5 - Soluzione
• Data la grammatica 𝐺 = (𝑋, 𝑉, 𝑆, 𝑃) lineare destra,
l’automa 𝑀 = 𝑄, 𝛿, 𝑞0 , 𝐹 t.c. 𝐿 = 𝑇(𝑀) viene costruito
come segue:
• Diagramma degli stati
• S = q0
Credits
• Si ringrazia il Tutor 2018-2019: Francesco Paolo Caforio