Esercizi automi ed espressioni regolari

Linguaggi di programmazione: es. 8 espressione regolare

automata

Esercizio espressione regolare

Dato il linguaggio fare una DFA M, scrivere G regolare e ricavare l’espressione regolare:

L = {01n | n > 0, n ≠ 5}

Costruiamo l’automa DFA:

dfa7

M = (Σ, Q, δ, q0, F)

δ
0
1
q0
q1
q1
q2
q2
q3
q3
q4
q4
q5
q5
q6
q6
q7
q7
q7

Scriviamo la grammatica regolare:

G = (X,V,S,P)
X = {0,1}
V = {S,A,B,C,D,E,F,G}

P = {
S -> 0A
A -> 1B
B -> 1C | λ
C -> 1D | λ
D -> 1E | λ
E -> 1F | λ
F -> 1G
G -> 1G | λ
}

Troviamo l’espressione regolare di questo automa:

dfa8
Quindi:

dfa9

Usando l’algoritmo (R*+SU*T)*SU* avremo la seguente espressione:

01+011+0111+01111+01111111*

/ 5
Grazie per aver votato!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *