Académique Documents
Professionnel Documents
Culture Documents
DE KLEENE
Teorema de Kleene
E.R
DFA NFA-ε
NFA
Método o Algoritmo de Thompson
Traduce cada parte de la definición de la expresión regular en un autómata que acepta el mismo lenguaje
denotado por ella, de tal manera que el AFN-ε quede definido al analizar la expresión parte por parte.
a
ε q1 q3
ε
q0
q5 q1
ε q1
a q2
ε q3
b q4
ε q5
b ε q0 q1
ε q2 q4
(a+b)b*
a ε
ε q2 q4
ε
ε q6
ε q7
ε q8
b q9
ε q10
ε q11
q0 q1
b ε
ε q3 q5
ε
a ε
ε q1 q3
ε
q0
q5 q0
ε q1
a q2
ε q3
b ε
ε q2 q4
ε
(a+b)b*
Todo AFN-ε puede ser redefinido como un AFN equivalente y, para ello, se deben eliminar sus transiciones ε.
a ε
ε q2 q4
ε
ε ε ε b ε ε
q6 q7 q8 q9 q10 q11
q0 q1
b ε
ε q3 q5
ε
Definición: Se llama clausura de un estado al conjunto de estados a los que puede evolucionar sin consumir
ninguna entrada.
b ε
ε q3 q5
ε
Estado ∀ 𝒂𝒏 ∈ ∑ 𝑪𝑳𝝐
𝒒𝟎 𝜑 𝐶𝐿𝜖 𝑞0 , ∑ → 𝑄∗ 𝐶𝐿𝜖 (𝑞0 )
. . .
. . .
. . .
𝒒𝒏 𝜑 𝐶𝐿𝜖 𝑞0 , ∑ → 𝑄∗ 𝐶𝐿𝜖 (𝑞𝑛 )
b ε
ε q3 q5
ε
Estado a b 𝑪𝒍𝒂𝒖𝒔𝒖𝒓𝒂𝜺
𝒒𝟎 𝒒𝟒 𝒒5 𝑪𝑳𝜺 𝒒𝟎 = {𝒒𝟎 , 𝒒𝟏 , 𝒒𝟐 , 𝒒𝟑 }
Estado a b 𝑪𝒍𝒂𝒖𝒔𝒖𝒓𝒂𝜺
𝒒𝟎 𝒒𝟒 𝒒5 𝑪𝑳𝜺 𝒒𝟎 = {𝒒𝟎 , 𝒒𝟏 , 𝒒𝟐 , 𝒒𝟑 }
𝒒𝟏 𝒒𝟒 𝒒5 𝑪𝑳𝜺 𝒒𝟏 = {𝒒𝟎 , 𝒒𝟐 , 𝒒𝟑 }
𝒒𝟐 𝒒4 - 𝑪𝑳𝜺 𝒒𝟐 = {𝒒𝟐 }
𝒒𝟑 - 𝒒5 𝑪𝑳𝜺 𝒒𝟑 = {𝒒𝟑 }
𝒒𝟒 - 𝒒9 𝑪𝑳𝜺 𝒒𝟒 = {𝒒𝟒 , 𝒒𝟔 , 𝒒𝟕 , 𝒒𝟖 , 𝒒𝟏𝟎 , 𝒒𝟏𝟏 }
𝒒𝟓 - 𝒒9 𝑪𝑳𝜺 𝒒𝟓 = {𝒒𝟓 , 𝒒𝟔 , 𝒒𝟕 , 𝒒𝟖 , 𝒒𝟏𝟎 , 𝒒𝟏𝟏 }
𝒒𝟔 - 𝒒9 𝑪𝑳𝜺 𝒒𝟔 = {𝒒𝟔 , 𝒒𝟕 , 𝒒𝟖 , 𝒒𝟏𝟎 , 𝒒𝟏𝟏 }
𝒒𝟕 - 𝒒9 𝑪𝑳𝜺 𝒒𝟕 = {𝑞7 , 𝑞8 , 𝑞10 , 𝑞11 }
𝒒𝟖 - 𝒒9 𝑪𝑳𝜺 𝒒𝟖 = {𝑞8 }
𝒒𝟗 - 𝒒9 𝑪𝑳𝜺 𝒒𝟗 = {𝑞8 , 𝑞9 , 𝑞10 , 𝑞11 }
𝒒𝟏𝟎 - - 𝑪𝑳𝜺 𝒒𝟏𝟎 = {𝑞10 , 𝑞11 }
𝒒𝟏𝟏 - - 𝑪𝑳𝜺 𝒒𝟏𝟏 = {𝑞11 }
a
a
q0 q1 q2 q3 q4
b b
b b
b
q5
q6 q7 q8
b q9
b b b
b
Se dibuja el AFN con la tabla generada y se minimiza el número de estados mediante la identificación de los
estados a los que no hay forma de llegar a ellos mediante otros estados, tomando en cuenta que antiguo
estado inicial del autómata puede ser el nuevo estado inicial del AFN.
a
q0 q4
b
b
q5 q9
b b
Se dibuja el AFN con la tabla generada y se minimiza el número de estados mediante la identificación de los
estados a los que no hay forma de llegar a ellos mediante otros estados, tomando en cuenta que antiguo
estado inicial del autómata puede ser el nuevo estado inicial del AFN.
Para cada AFN, siempre existe un AFD que acepta el mismo lenguaje y estos autómatas son equivalentes
Sea un AFN 𝑴 = {𝜮, 𝑸, 𝒒𝟎 , 𝑭, 𝝋} donde: 𝝋: 𝑸 𝒙 𝚺 = 𝒒𝒏 , 𝒂𝒏 → 𝑸 ∗
Siempre existe un AFD 𝑴′ = {𝜮, 𝑸′ , 𝒄𝟎 , 𝑭′ , 𝝋′} con 𝝋′ : 𝑸′ 𝒙 𝚺 = (𝒄𝒏 , 𝒂𝒏 ) → 𝒄𝒏 ∈ 𝑸′
Estado ∀ 𝒂𝒏 ∈ ∑
𝒄𝟎 𝜑 ′ 𝑐0 , 𝑎𝑛 → 𝑐𝑖
. .
. .
. .
𝒄𝒏 𝜑 ′ 𝑐𝑛 , 𝑎𝑛 → 𝑐𝑖
a
q0 q4
b
a,b
b b q0 q1
q5 q9
b b
q0
a q4
q0 q0 q4 q5
b b q1 q4 Ø q9
q5 Ø q9
q2
q5 q9
q3 q9 Ø q9
b b q4 Ø Ø Ø
q0
a
q1
a,b
a
a
q4
b
a
b
q2 q3
b b
q0
a q1
a,b
a
q4 b
b a a
abb* + bbb* + a + b q2 q3
b b
( a + abb* ) + ( b + bbb* )
a( ε + bb* ) + b( ε + bb* )
( a + b )b*
Se denomina ecuación lineal fundamental en expresiones regulares a la ecuación lineal de una
variable X de la forma:
𝒙 = 𝒓𝒙 + 𝒔
Donde 𝒂𝒋 representa un símbolo que une mediante un arco al estado 𝒒𝒊 con el estado 𝒒𝒋
q0
a q1
𝟏) 𝒒𝟎 = 𝒂𝒒𝟏 + 𝒃𝒒𝟐 b
𝟐) 𝒒𝟏 = 𝒃𝒒𝟑 + 𝜺
b
𝟑) 𝒒𝟐 = 𝒃𝒒𝟑 + 𝜺
q2 q3
𝟒) 𝒒𝟑 = 𝒃𝒒𝟑 + 𝜺 b b
𝒒𝟏 = 𝒒𝟐 = 𝒒𝟑