teor a de automatas, lenguajes formales y gram ticas · propiedades de clausura ... os afd se...
TRANSCRIPT
Contenidos
1 Automatas finitosAutomatas finitos deterministasAutomatas finitos no deterministasAutomatas finitos no deterministas
1 Gramaticas regularesExpresiones y gramaticas regularesAutomatas finitos y gramaticas regularesAutomatas y expresiones regulares
1 Propiedades de los lenguajes regularesLenguajes no regularesPropiedades de clausuraPropiedades de decisionEquivalencia y minimizacion
1 Automatas a pilaDefiniciones basicasAutomatas a pila deterministas
Automatas finitos deterministas
Definicion
Un automata finito determinista es una tupla D = (K ,Σ,δ ,s,F)donde:
K es un conjunto (finito) de estados,
Σ es un alfabeto (finito),
δ : K ×Σ −→ K es la funcion de transicion,
s ∈ K es el estado inicial, y
F ⊆ K es el conjunto de los estados aceptadores.
Automatas finitos deterministas
Ejemplo
Consideramos A = (K ,Σ,δ ,s,F), donde K := {s,q1,q2},Σ := {0,1}, F := {q2} y la funcion de transicion δ se describemediante la tabla de transiciones:
0 1→ s q1 s
q1 q1 q2
∗q2 q2 q2
La flecha indica el estado inicial y el asterisco indica el estado final.El automata acepta las cadenas que contienen la secuencia 01.
Configuracion y paso de computacion
Definicion (Configuracion, AFD)
Dado un automata finito determinista D = (K ,σ ,δ ,s,F), llamaremosconfiguracion a toda tupla (q,w) ∈ K ×Σ∗.
Definicion (Paso de computacion, AFD)
Sea D = (K ,Σ,δ ,s,F) un automata finito determinista y sean (q,w)y (q′,w ′) dos configuraciones del mismo. Diremos que laconfiguracion (q′,w ′) se sigue de (q,w) en un paso de computacion,denotado mediante (q,w) ⊢D (q′,w ′), si existe σ ∈ Σ tal queδ (q,σ) = q′ y w = σw ′.
(q,w) ⊢∗D (q′,w ′) denota cero o mas pasos de computacion.
Lenguaje de un AFD
Definicion (Lenguaje de un AFD)
Dado un automata finito determinista D = (K ,Σ,δ ,s,F), se define ellenguaje aceptado por el automata, denotado L(D), como:
L(D) := {ω ∈ Σ∗ : (s,ω) ⊢∗D (f ,ε), con f ∈ F}.
Los lenguajes que son aceptado por un automata finito deterministase llaman regulares.
Representacion de AFD
L
os AFD se representan, normalmente mediante su diagramas detransicion. En ella se representa el automata mediante un grafoorientado sujeto a las siguientes consideraciones:
cada nodo del grafo se corresponde con un estado del automata,
dos nodos p y q estan unidos mediante un arco dirigido de p a qsi y solo si existe σ ∈ Σ, tal que δ (p,σ) = q; dicho arco seetiqueta con el sımbolo σ ; si existen diversos sımbolosσ1, . . . ,σn ∈ Σ, el arco se etiqueta con σ1, . . . ,σn,
los nodos correspondientes a estados aceptadores serepresentan mediante una doble circunferencia, y
al nodo correspondiente al estado inicial llega una flecha sinorigen concreto.
Automatas finitos no deterministas
Definicion
Un automata finito no determinista es una tupla N = (K ,Σ,δ ,s,F)donde:
K es un conjunto (finito) de estados,
Σ es un alfabeto (finito),
δ : K ×Σ −→ P(K ) es la funcion de transicionab.
s ∈ K es el estado inicial, y
F ⊆ K es el conjunto de los estados aceptadores.
aP(K ) es el conjunto de todos los subconjuntos de K , i.e. las partes de KbLa funcion de transicion tambien puede definirse como una relacion
δ ⊆ K ×Σ×K .
Paso de computacion
Definicion
Sea N = (K ,Σ,δ ,s,F) un automata finito no determinista y sean(q,w) y (q′,w ′) dos configuraciones del mismo. Diremos que laconfiguracion (q′,w ′) se sigue de (q,w) en un paso de computacion,denotado mediante (q,w) ⊢D (q′,w ′), si existe σ ∈ Σ tal queq′ ∈ δ (q,σ) y w = σw ′.La notacion (q,w) ⊢∗
N (q′,w ′) indicara que la configuracion (q′,w ′) sesigue de (q,w) en cero o mas pasos de computacion.
Ejemplo
Considerar el automata N = (K ,Σ,δ ,s,F), donde K := {s,q1,q2},Σ := {0,1}, F := {q2} y la funcion de transicion δ se describemediante:
0 1→ s {s,q1} {s}
q1 /0 {q2}∗q2 {q2} {q2}
Equivalencia entre AFDs y AFNs
Teorema
Todo lenguaje L ⊆ Σ∗ aceptado por un automata finito no deterministaes aceptado por un automata finito determinista.
Demostracion
Sea L ⊆ Σ∗ un lenguaje aceptado por un AFN N = (K ,Σ,δ ,s,F).Construimos un AFD D = (K ′,Σ,δ ′,s′,F ′) que acepta L como sigue:Definimos
K ′ := P(K ),
F ′ := {q ∈ K ′ : q∩F 6= /0},
δ ′ : K ′×Σ → K ′ se define mediante
δ ′(q,σ) := δ (q ×{σ}) = ∪p∈qδ (p,σ), y
el estado inicial mediante s′ := {s}.
Demostracion
Veamos, por induccion en la longitud de la cadena w , que si D aceptaw partiendo de un cierto estado q′, existe una estado q ∈ q′, tal que Nacepta w partiendo de q.
(Base) Supongamos w = ε . Por lo tanto, si D acepta ε partiendode q′, se sigue que q′ ∈ F ′. Tomando q ∈ q′∩F tenemos que Nacepte w partiendo de q.
(Paso inductivo) Supongamos que la afirmacion es cierta paratodas las cadenas de longitud a lo mas n−1 y sea w = w1 · · ·wn
una de longitud n aceptada por D partiendo de q′. Tenemos queD acepta w2 · · ·wn partiendo de δ ′(q′,w1). Por lo tanto, existe unp ∈ δ ′(q′,w1) tal que N acepta w2 · · ·wn partiendo del estado p.Puesto que p ∈ δ ′(q′,w1), existe un q ∈ q′ tal que δ (q,w1) = p ypor ende, N acepta w partiendo de q con q ∈ q′.
Tomando como q′ = {s}, si D acepta una cierta cadena w , N tambienla acepta. Igualmente se demuestra que si N acepta una cadena w , Dtambien.
Algoritmo de conversion
Algoritmo
El algoritmo toma como entrada la descripcion de un automata finitono determinista cualquiera A = (K ,Σ,δ ,s,F) y devuelve como salidaun automata finito determinista A′ = (K ′,Σ,δ ′,s′,F ′) que acepta elmismo lenguaje. Su evolucion es la siguiente.
(Inicializacion) Inicializa el nuevo conjunto de estadosK ′ := {{s}} y para cada σ ∈ Σ lleva a cabo la siguiente tarea:define δ ′({s},σ1) = δ (s,σ) y, si δ (s,σ) 6= {s} anade δ (s,σ) aK ′.
(Iteracion) Si para todo q ∈ K ′ y σ ∈ Σ esta definido δ ′(q,σ), elalgoritmo termina su ejecucion devolviendo A′ = (K ′,Σ,δ ′,s′,F ′)donde F ′ = {q ∈ K ′;q ∩F 6= /0}. En caso contrario, considera unpar (q,σ) ∈ K ′×Σ tal que δ ′(q,σ) no haya sido definido, defineδ ′(q,σ) = δ (q,σ) y, si δ (q,σ) /∈ K ′, se anade a K ′ y se itera denuevo.
Ejemplo de conversion de AFN a AFD
Cosideramos el AFN anterior. Tomamos como estado inicial {s},inicializamos K ′ = {{s}} y definimos las transiciones
δ ′({s},0) = {s,q1} y δ ′({s},1) = {s}.
Actualizamos K ′ a {{s},{s,q1}} y definimos
δ ′({s,q1},0) = {s,q1} y δ ′({s,q1},1) = {s,q2}.
Actualizamos K ′ a {{s},{s,q1},{s,q2}} y definimos
δ ′({s,q2},0) = {s,q1,q2} y δ ′({s,q2},1) = {s,q2}.
Actualizamos K ′ a {{s},{s,q1},{s,q2},{s,q1,q2}} y definimos:
δ ′({s,q1,q2},0) = {s,q1,q2} y δ ′({s,q1,q2},1) = {s,q2}.
Lo que termina el proceso.
Automatas finitos no deterministas con transiciones vacıas
Definicion
Un automata finito con transiciones ε es una tupla E = (K ,Σ,δ ,s,F)donde:
K es un conjunto (finito) de estados,
Σ es una alfabeto (finito),
δ : K × (Σ∪{ε}) −→ P(K ) es la funcion de transicion,
s ∈ K es el estado inicial, y
F ⊆ K es el conjunto de los estados aceptadores.a
aNotese que la funcion de transicion tambien puede definirse como una relacionδ ⊆ K ×Σ×Σ, al igual que en el caso de los automatas finitos no deterministas.
Paso de computacion
Definicion
Sea E = (K ,Σ,δ ,s,F) un automata finito no determinista contransiciones vacıas y sean (q,w) y (q′,w ′) dos configuraciones delmismo. Diremos que la configuracion (q′,w ′) se sigue de (q,w) en unpaso de computacion, notado (q,w) ⊢D (q′,w ′), si existe σ ∈ Σ∪{ε}tal que δ (q,σ) = q′ y w = σw ′.La notacion (q,w) ⊢∗
D (q′,w ′) indicara, al igual que en otros casos,que la configuracion (q′,w ′) se sigue de (q,w) en cero o mas pasosde computacion.
Clausura respecto de ε
Definicion (Clausura respecto de ε)
Dado un automata finito no determinista con transiciones vacıasE = (K ,Σ,δ ,s,F), se define la clausura de un estado q ∈ K , conrespecto de ε , de manera recursiva
q ∈ Clε(q),
para todo p ∈ Clε(q) y todo r ∈ Q tales que r ∈ δ (p,ε), severifica r ∈ Clε(q).
En general, dado un conjunto Q ⊆ K , se define la clausura de Q conrespecto a transiciones vacıas de manera analoga.
Un ejemplo
Sea E = (K ,Σ,δ ,F ,s) es automata finito no determinista contransiciones vacıas descrito por el siguiente diagrama de transicion:
s q2 q31
0,1
q1ε 0
0,1
El automata anterior acepta el lenguaje de las cadenas que contienenla secuencia 01.En este caso, por ejemplo, Clε(s) = {s,q1} y Clε(q1) = {q1}.
Equivalencia con AFD
Teorema
Todo lenguaje L ⊆ Σ∗ aceptado por un automata finito no deterministacon transiciones vacıas es aceptado por un automata finitodeterminista.
Demostracion
Sea dado un AFN–ε E = (K ,Σ,δ ,s,F). Construimos un AFDD = (K ′,Σ,δ ′,s′,F), que acepte el mismo lenguaje, como sigue
K ′ := {P ⊆ K : Clε(P) = P},
s′ := Clε(s),
F ′ := {P ∈ K ′ : P ∩F 6= /0}, y
dados P ∈ K ′ y σ ∈ Σ, definimos
δ ′(P,σ) := Clε
(
⋃
p∈P
δ (p,σ)
)
.
Demostracion
Demostracion.
Por induccion en la longitud de la cadena w , veamos que si D aceptaw partiendo de un cierto estado q′, existe una estado q ∈ q′, tal que Eacepta w partiendo de q.
(Base) Si w = ε y D acepta ε partiendo de q′, tenemos q′ ∈ F ′.Tomando q ∈ q′∩F se tiene que E acepte w partiendo de q.
(Paso inductivo) Supongamos la afirmacion es cierta para todaslas cadenas de longitud a lo mas n−1 y sea w = w1 · · ·wn. Si wes aceptada por D partiendo de un cierto estado q′, tenemos queD acepta w2 · · ·wn partiendo de δ ′(q′,w1). Por lo tanto, existe unp ∈ δ ′(q′,w1) tal que E acepta w2 · · ·wn partiendo del estado p.Puesto que p ∈ δ ′(q′,w1), existe un q ∈ q′ tal que δ (q,w1) = q′′
de manera que p ∈ Clε(q′′) y por ende, que E acepta wpartiendo de q con q ∈ q′.
Tomando s′ = {s}, si D acepta una cierta cadena w , N tambien.Igualmente se muestra que si N acepta w , D tambien.
Algoritmo de conversion
Algoritmo
El algoritmo toma como entrada un AFN–ε A = (K ,Σ,δ ,s,F) ydevuelve un AFD con igual lenguaje. Su funcionameinto es:
(Inicializacion) Inicializa K ′ := {CLε{s}} y para cada σ ∈ Σdefine
δ ′({s},σ1) = Clε(δ (s,σ)).
Si Clε(δ (s,σ)) 6= Clε({s}) anade Clε(δ (s,σ)) a K ′.
(Iteracion) Si todas las transiciones estan definidas, el algoritmotermina devolviendo A′ = (K ′,Σ,δ ′,s′,F ′), conF ′ = {q ∈ K ′;q∩F 6= /0}. Si no es ası, considera (q,σ) ∈ K ′×Σt.q. δ ′(q,σ) no esta definido, y define
δ ′(q,σ) = Clε(δ (q,σ))
y, si Clε(δ (q,σ)) /∈ K ′, se anade a K ′ e itera de nuevo.
Ejemplo
El estado inicial es {s,q1} (clausura con respecto al vacıo de s),definimos K ′ = {{s,q1}}) y las transiciones
δ ′({s,q1},0) = {s,q1} y δ ′({s},1) = {s}.
Actualizamos K ′ a {{s},{s,q1}} y definimos
δ ′({s,q1},0) = {s,q1} y δ ′({s,q1},1) = {s,q2}.
Actualizamos K ′ a {{s},{s,q1},{s,q2}} y definimos:
δ ′({s,q2},0) = {s,q1,q2} y δ ′({s,q2},1) = {s,q2}.
Luego K ′ = {{s},{s,q1},{s,q2},{s,q1,q2}} y definimos
δ ′({s,q1,q2},0) = {s,q1,q2} y δ ′({s,q1,q2},1) = {s,q2}.
Los estados finales son F ′ = {{s,q2},{s,q1,q2}}.
Ejemplo
El automata diagrama de transiciones del automata construido es elsiguiente:
{s} {s,q1}0
1 0
{s,q2}1 {s,q1,q2}
0
1 0
1
Contenidos
1 Automatas finitosAutomatas finitos deterministasAutomatas finitos no deterministasAutomatas finitos no deterministas
1 Gramaticas regularesExpresiones y gramaticas regularesAutomatas finitos y gramaticas regularesAutomatas y expresiones regulares
1 Propiedades de los lenguajes regularesLenguajes no regularesPropiedades de clausuraPropiedades de decisionEquivalencia y minimizacion
1 Automatas a pilaDefiniciones basicasAutomatas a pila deterministas
Expresiones regulares
Definicion
Dado un alfabeto finito Σ, se define un expresion regular, vıainduccion estructural, de la siguiente manera:
(Base) /0,ε y σ (con σ ∈ Σ) son expresiones regulares cuyoslenguajes asociados son /0, {ε} y {σ} respectivamente.
(Induccion) Distinguimos los siguientes casos:Dada una e.r. E, (E) es una e.r. cuyo lenguaje es precisamenteL(E) (el lenguaje asociado a E).Dada una e.r. E, E∗ es una e.r. cuyo lenguaje es L(E)∗ (laclausura de L(E) con respecto a la concatenacion).Dadas dos e.r. E1 y E2, E1 + E2 es una e.r. cuyo lenguaje esL(E1)∪L(E2) (la union de los lenguajes asociados a E1 y E2).Dadas dos e.r. E1 y E2, E1E2 es una e.r. cuyo lenguaje asociadoes L(E1)L(E2) (la concatenacion de los lenguajes de E1 y E2).
Ejemplo
Un ejemplo sencillo de e.r. es (0+ 1)∗01(0+ 1)∗. Dicha expresiondescribe el conjunto de las cadenas de ceros y unos que continen lasubcadena 01. Para verlo, basta observar que (0+ 1)∗ describecualquier cadena de ceros y unos.
Gramatica regular
Definicion
Una gramatica regular (lineal a derecha) es una tuplaG = (N,T ,P,S) donde
N es un conjunto finito de sımbolos llamados variables osımbolos no terminales,
T es un conjunto finito de sımbolos, llamados terminales,satisfaciendo T ∩N = /0,
P ⊆ N × (T ∗N ∪T ) es un conjunto finito de elementos, llamadosproducciones, de manera tal que si (p,q) ∈ P sedenotara mediante la expresion p → q; p recibe el nombre decabeza y q el de cuerpo de la produccion, y
S ∈ N es el sımbolo inicial.
Ejemplo
La gramatica que describe el lenguaje asociado a (0+ 1)∗01(0+ 1)∗
viene dada por las producciones siguientes:
S → 0S
S → 1S
S → 01S′
S′ → 0S′
S′ → 1S′, y
S′ → ε .
Mas compactamente,S → 0S|1S|01S′
S′ → 0S|1S|ε .
Derivacion
Definicion
Dada una gramatica regular G = (N,T ,P,S) y una cadena αv, conα ∈ T ∗ y v ∈ N, diremos que αγ ∈ (T ∗N ∪T ∗) deriva de αv, si existeuna produccion v → γ ∈ P. Si es el caso, lo indicaremos mediante lanotacion αv ⇒G αγ ; en general, si una cierta cadena β ∈ (T ∗N ∪T ∗)deriva de δ ∈ (T ∗N ∪T ∗) tras un numero finito de derivaciones, lonotaremos mediante δ ⇒∗
G γ .
Ejemplo
Continuando con el ejemplo anterior, es sencillo ver que se tiene, porejemplo,
S ⇒ 0S ⇒ 01S ⇒ 0101S′ ⇒ 0101.
En particular, se tiene que 0101 pertenece al lenguaje de la gramatica.
Automatas finitos y gramaticas regulares
Teorema
Sea A un automata finito. Entonces, existe una gramatica regular G talque L(G) = L(A).
Demostracion
Supongamos dado un automata A = (K ,Σ,δ ,q0,F). Construimos lagramatica G tal que L(G) = L(A) como sigue: el conjunto de variablesde G coincide con Q (el conjunto de estados de A), el conjunto decaracteres terminales de G es Σ y su sımbolo inicial es q0. Lasproducciones de G se definen como sigue: dada una variable q ∈ Q,q → σp (con p ∈ Q y σ ∈ Σ) es una produccion si δ (q,σ) = p; dadoun estado aceptador f ∈ F , f → ε es una produccion.Queda claro que una cierta cadena w ∈ Σ∗ se deriva del sımboloinicial de G si y solo si es aceptado por el automata. Por lo tanto,L(G) = L(A).
Ejemplo
Consideremos el automata finito determinista visto anteriormente, lagramatica del lenguaje por el aceptado es:
q0 → 1q0
q0 → 0q1
q1 → 0q1
q1 → 1q2
q2 → 0q2,
q2 → 1q2, y
q2 → ε .
De gramaticas regulares a automatas
Teorema
Sea G una gramatica regular. Entonces, existe un automata finito (nodeterminista) A tal que L(A) = L(G).
Demostracion
Supongamos dada una gramatica regular G = (V ,T ,P,S) (lineal aderecha). Construimos el automata A = (K ,T ,δ ,q0,F) como sigue:
el conjunto de estado viene dado por las expresiones de la forma[v ], donde v es una subcadena del cuerpo de alguna produccion,
el alfabeto del automata coincide con el conjunto de caracteresterminales de G,
la funcion de transicion se define mediante las reglas siguientes:dado un estado [p], con p una variable de G, y un sımbolo t ∈ T ,se define
δ ([p], t) = {[q] : p → q ∈ P}.
Dados t ∈ T y p ∈ T ∗∪T ∗V definiendo un estado [p], se define
δ ([tp], t) = {[p]}
Es facil ver, por induccion en la longitud de las cadenas, queL(A) = L(G).
De expresiones regulares a automatas
Teorema
Sea Σ un alfabeto finito y E una expresion regular sobre dichoalfabeto. Entonces, existe un automata finito (no determinista contransiciones vacias) A = (K ,Σ,δ ,q0,F) tal que L(A) = L(E).
Demostracion
La demostracion es por induccion estructural en la expresion regular;como subproducto, se describe un algoritmo que transformaexpresiones regulares en automatas finitos (no deterministas contransiciones vacias)
Demostracion
(Caso Base) Supongamos que la e.r. es de los tipos: /0, ε o σ (conσ ∈ Σ; consideramos los automatas:
ε
σ
Los lenguajes de dichos AFN–ε son /0, ε) y σ (respec).
Demostracion
(Paso inductivo).- Si E = E1 + E2, donde E1 y E2 son dos e.r. con A1 yA2 como AF asociados (i.e. se satisface que L(E1) = L(A1) yL(E2) = L(A2)), consideramos:
ε
ε ε
εA1
A2
Demostracion
Si E = E1E2, donde E1 y E2 son dos e.r. con A1 y A2 como AFasociados, consideramos:
A2 A2ε ε
Queda claro que los lenguajes se corresponden con los de las e.r..
De automatas a expresiones regulares
Teorema
Sea A = (K ,Σ,δ ,q0,F) un automata finito sobre un alfabeto Σ.Entonces, existe una expresion regular sobre el mismo alfabeto Σ,digamos E, tal que L(E)=L(A).
Demostracion
Supongamos que A es un AFD. Ademas, suponemos que el conjuntode estados es {1, . . . ,n}.Construimos una familia de e.r. Rk
ij , con 1 ≤ k ≤ n y 1 ≤ i, j ≤ k , cuyo
interpretacion es la siguiente: Rkij es la expresion regular que describe
las cadenas que hacen que A pase del estado i al estado jatravesando, unicamente, nodos etiquetados con naturales menores oiguales a k .La construccion de dichas e.r. es inductiva en k .
Demostracion
En primer lugar, supongamos que k = 0 (caso base). Entonces, R0ij
denota el conjunto de las cadenas que hacen transicionar al automataA del estado i al estado j sin pasar por estado alguno (todos losestados estan etiquetados con un natural mayor que cero). Por lotanto, caben dos posibilidades:
existe una transicion del nodo i al nodo j o, equivalentemente,existe un camino (arco) en el diagrama de transicion de A que vade i a j ; suponiendo que dicho camino esta etiquetado con lossımbolos σ1, . . . ,σl , definimos R0
ij = σ1 + . . .+ σl ,
no existe una tal transicion; en este caso, definimos R0ij = /0.
Demostracion
Supongamos construidas las expresiones regulares Rkij para
1 ≤ k ≤ n. Construyamos la expresiones regulares Rn+1ij , con
1 ≤ i, j ≤ n + 1. Dados i, j , con 1 ≤ i, j ≤ n + 1, supongamos queexiste una caden que hace transicionar al automata del estado i al jatravesando estados etiquetados con naturales menores o igualesque n + 1. Distinguimos los siguientes casos:
si existe la cadena en cuestion no hace transicionar al automataA por el estado n + 1 (la cadena da un camino del nodo i al nodoj que no atraviesa nodos etiquetados con naturales mayores quen en el diagrama de transiciones), dicha cadenaesta comtemplada en la expresion regular Rn
ij ,
Demostracion
si no es el caso, esto es, la cadena hace transicionar al automatapor el estado n, partimos dicha cadena en fragmentos de lasiguiente manera:
el primer fragmento hace transicionar al automata del estado i aln + 1 sin pasar por n + 1 como estado intermedio,el ultimo fragmento hace transicionar al automata del estado n +1al estado j sin pasar por n + 1 como estado intermedio, ylos fragmentos intermedios son tales que hacen pasar alautomata del estado n +1 al estado n +1 sin que este sea uno delos intermedios.
El primer fragmento esta descrito por Rni(n+1), el ultimo por
Rn(n+1)j y los fragmentos intermedios por Rn
(n+1)(n+1.
Demostracion
Por lo tanto y en cualquier caso, dicha cadena queda descrita por
Rnij + Rn
i(n+1)(Rn(n+1)(n+1)
∗Rn(n+1)j .
El lenguaje de A esta dado por es la dada por la suma de las e.r. de laforma Rn
1k , donde 1 suponemos es el estado inicial y k es un estadofinal.
Contenidos
1 Automatas finitosAutomatas finitos deterministasAutomatas finitos no deterministasAutomatas finitos no deterministas
1 Gramaticas regularesExpresiones y gramaticas regularesAutomatas finitos y gramaticas regularesAutomatas y expresiones regulares
1 Propiedades de los lenguajes regularesLenguajes no regularesPropiedades de clausuraPropiedades de decisionEquivalencia y minimizacion
1 Automatas a pilaDefiniciones basicasAutomatas a pila deterministas
Ejemplo
Considerese el lenguaje definido sobre {0,1}
L := {0n1n : n ∈ N}
Intuitivamente se puede llegar a la conclusion de que dicho lenguajeno es regular puesto que un automata finito que lo reconozca debeser capaz de contar el numero de ceros para compararlo con elnumero de unos. Sin embargo, dado que los automatas tienen unacapacidad de almacenamiento limitada por el numero de estado, nopueden almacenar numeros arbitrariamente grandes. Por lo tanto, nopuede existir un tal automata, i.e. L no es regular
Lema de Bombeo
Lema (Lema de Bombeo)
Sea L un lenguaje regular. Entonces, existe una constante n(dependiente de L) tal que para toda cadena ω ∈ L de longitud mayoro igual que n, existen cadenas ω1,ω2,ω3 ∈ Σ∗ tales que:
ω2 6= ε ,
|ω1ω2| ≤ n, y
para todo k ∈ N, la cadena ω1ωk2 ω3 pertenece a L.
Funcion de transicion extendida
Definicion
Dado un automata A = (K ,Σ,δ ,s,F), se define la extension de δ al
dominio K ×Σ∗ (denotada por δ ) de manera inductiva en la longitudde las cadenas:
dado q ∈ K , definimos δ (q,ε) := q,
dados q ∈ K , ω ∈ Σ∗ y σ ∈ Σ, definimosδ (q,σω) := δ (δ (q,ω),σ).
Nota
A acepta w ∈ Σ∗ si y solo si δ (s,w) ∈ F.
Demostracion
Demostracion.
Supongamos dado un lenguaje regular L y consideremos un AFA = (K ,Σ,δ ,s,F) t.q. L = L(A); supongamos ademas que #K = n.Dada una cadena ω = σ1 · · ·σm ∈ Σ∗, con m ≥ n, definimos pi , para0 ≤ i ≤ m, como el estado en el que se encuentra el automata trasprocesar la cadena σ1 · · ·σi , i.e. pi = δ (s,σ1 · · ·σi) (notar que p0 = s).Obviamente, existen 0 ≤ j < k ≤ n tales que pj = pk . Definiendoω1 := σ1 · · ·σj , ω2 := σj+1 · · ·σk , y ω3 := σk+1 · · ·σm, se sigue elresultado.
Ejemplo
Ejemplo
Consideramos el lenguaje del ejemplo anterior, veamos por reduccional absurdo, que no es regular.Si ası fuera, por el Lema de Bombeo, existirıa un natural n ∈ N tal quepara toda cadena de longitud como poco n, digamos ω ∈ Σ∗ existencadenas ω1,ω2,ω3 ∈ Σ∗ tales que
1 ω2 6= ε ,
2 |ω1ω2| ≤ n, y
3 para todo k ∈ N, la cadena ω1ωk2 ω3 pertenece a L.
En particular, consideramos la cadena de L definida por ω = 0n1n.Por lo anterior, existen ω1,ω2,ω3 verificando 1, 2 y 3. Tomando k = 0,se sigue que ω1ω3 pertenece a L, lo cual es absurdo puesto que sunumero de ceros es forzosamente menor que el de unos (ω2 tienelongitud mayor o igual a uno, i.e. consta de como poco de un cero).
Propiedades basicas
Teorema
Las siguientes afirmaciones son ciertas.
1 La union de dos lenguajes regulares es regular.
2 El complementario de un lenguaje regular es regular.
3 La interseccion de dos lenguajes reuglares es regular.
4 La diferencia de dos lenguajes regulares es regular.
Nota
Las afirmaciones anteriores son ciertas para un numero finito delenguajes (la demostracion es por induccion).
Demostracion
1. Sean L,L′ ⊆ Σ∗ dos lenguajes regulares y EL y EL′ e.r. para losmismos. La expresion regular EL + EL′) da el lenguaje L∪L′ y, por lotanto, es regular.2. Sea L un lenguaje regular dado por un AFD A. Construimos unautomata A′ igual a A con la salvedad de que sus estadosaceptadores son los estados de rechazo de A. El automata A′ aceptacualquier cadena que A rechaze, i.e. determina el lenguaje Lc . Por lotanto, el complementario de L es un lenguaje regular.
Demostracion
3. Dados dos lenguaje regulares L,L′ ⊂ Σ∗ tenemos (Leyes deMorgan):
L∩L′ =(
Lc ∪L′c)c
.
Puesto que, tal y como se ha demostrado en 1. y 2., la union y elcomplementario de lenguajes regulares es regular, se sigue que lainterseccion es regular.4. Sean L,L′ ⊆ Σ∗ dos lenguajes regulares. Puesto que se verifica:
L\L′ = L∩L′c,
se sigue de 1. y 3. que la diferencia de lenguajes regulares es regular.
Reflexion
Definicion
Dada una cadena cualquiera ω = ω1 · · ·ωn ∈ Σ∗ sobre el alfabeto Σ,se define la reflexion de la cadena ω , notada ωR , como
ωR := ωn · · ·ω1.
Definicion
Dado un lenguaje L ⊆ Σ∗, se define la reflesion del lenguaje L,denotada por LR , como
LR := {ωR : ω ∈ L}.
Teorema
Sea L ⊆ Σ un lenguaje regular. Entonces, LR es un lenguaje regular.
Demostracion
Para demostrar el enunciado haremos uso de la relacion existenteentre lenguajes regulares y expresiones regulares.Supongamos en primer lugar que el lenguaje regular L es descrito poruna expresion regular E . Procediendo por induccion estructural,distinguimos los siguientes casos:(Caso Base) Si E = /0, E = ε o E = σ , para algun σ ∈ Σ, definiendoER como E se tiene
L(ER) = L(E)R = L.
Demostracion
(Paso inductivo) Consideremos las restantes alternativas:
Supongamos que E = E1 + E2, para ciertas expresionesregulares E1 y E2. Definiendo ER = ER
1 + ER2 tenemos que
L(ER) = L(ER1 + ER
2 ) = L(ER1 )∪L(ER
2 )
= L(E1)R ∪L(E2)
R = L(E1 + E2)R = L(E).
Con respecto al caso E = E1E2, definiendo ER = ER2 ER
1 tenemos
L(ER) = L(E22 ER
1 ) = L(ER2 )L(ER
1 ) = L(E2)RL(E1)
R
= (L(E1)L(E2))R = L(E1E2)
R = L(E)R .
Finalmente, el caso E = E∗1 se sigue del anterior.
Homomorfismo
Definicion
Dados dos alfabetos finitos Σ y Γ, llamaremos homomorfismo a todaaplicacion h : Σ → Γ∗. Toda aplicacion como la anterior induce, demanera natural una aplicacion h : Σ∗ → Γ∗ definida mediante
h(σ1 · · ·σn) := h(σ1) · · ·h(σn).
Dado un lenguaje cualquiera L ⊆ Σ, llamaremos homomorfismo de L(con respecto a h) al lenguaje h(L) definido por
h(L) = {ω ∈ Γ : ∃ω ′ ∈ Lt.q. h(ω ′) = ω}.
Teorema
Sea L ⊂ Σ∗ un lenguaje regular y h : Σ → Γ un homomorfismo entrelos alfabetos (finitos) Σ y Gamma. Entonces, el homomorfismo dellenguaje L (con respecto a h) es un lenguaje regular.
Demostracion
Supongamos que el lenguaje L viene dado mediante una expresionregular sobre el alfabeto Σ, digamos E . Construyamos, por induccionestructural, una nueva expresion, digamos Eh, que determine h(L).
(Caso Base) Supongamos de entrada que E = /0, E = ε o E = σ(con σ ∈ Σ). Entonces, definimos Eh mediante Eh := /0, Eh := εo Eh := h(σ) de pendiendo del caso. Esta claro que, en estecaso, h(L(E)) = L(Eh).
(Paso Inductivo) Distinguimos los siguientes casos:si E = E1 + E2, definimos Eh := Eh
1 + Eh2 .
si E = E1E2, definimos Eh := Eh1 Eh
2 y, finalmente,si E = E∗
1 , definimos Eh := (Eh)∗. Resulta facil de ver que en lostres casos anteriores se tiene que h(L(E)) = L(Eh).
En resumen, el homomorfismo de un lenguaje regular es regular.
Homomorfismo inverso
Definicion
Sean Σ y Γ dos alfabetos finitos, h : Σ → Γ un homomorfismo yL ⊂ Γ∗ un lenguaje regular. Se define el homomorfismo inverso de L(con respecto a h), denotado h−1(L), como:
h−1(L) := {ω ∈ Σ∗ : h(ω) ∈ L}.
Teorema
Sean Σ y Γ dos alfabetos finitos, h : Σ → Γ un homomorfismo yL ⊂ Γ∗ un lenguaje regular. El homomorfismo inverso de L es unlenguaje regular.
Demostracion
Supongamos dado A = (K ,Γ,δ ,s,F) aceptando L. Construyamos unautomata A′ = (K ,Σ,δ ′,s,F) (solo cambia la funcion de transicion)definiendo:
δ ′(q,σ) := δ (q,h(σ)),
donde δ denota la funcion de transicion extendida de A.Queda claro que el lenguaje de A′ es precisamente h−1(L).
Equivalencia
Teorema
Existen algoritmos que
1 dada una e.r. E, construyen un AF A tal que L(A) = L(E),
2 dado un AF A, construyen una g.r. G tal que L(G) = L(A), y
3 dada una g.r. G, construyen una e.r. E, tal que L(E) = L(G).
Otros problemas
Cuestion
Dado un lenguaje regular L, ¿es L no vacıo?
Cuestion
Dado un lenguaje regular L, ¿es L el total, i.e. L = Σ∗?
Cuestion
Dados lenguajes regulares L1 y L2, ¿es L1 = L2?
Demostracion para AF
Si L viene dado por un AF, dicha pregunta equivale a: ¿existe uncamino del estado inicial a un estado aceptador?Ası enunciada, la pregunta tiene facil respuesta algorıtmica:
el estado inicial es accesible desde el estado inicial, y
si el estado p es accesible desde el estado inicial y existe un arcode p a q, entonces el estado q es accesible desde el estadoinicial.
Lo anterior resume la construccion inductiva del conjunto de estadosaccesibles desde el estado inicial, en el momento en que dichoconjunto contenga un estado aceptador, concluimos que el lenguajeno es vacıo. Si dicho conjunto no se puede ampliar y no contieneningun estado aceptador, concluimos que el lenguaje L es vacıo.
Demostracion para ER
Si L viene dado mediante una ER E , procedemos por induccionestructural:
(Caso Base) Si E es /0 define el lenguaje vacıo; si es del tipo ε oσ (σ ∈ Σ), entonces L no es vacıo.
(Paso Inductivo) Si E no es de los tipos anteriores, distinguimos:Si es de la forma E1 + E2, el lenguaje es vacıo si y solo si loslenguajes de E1 y E2 lo son,Si es del tipo E1E2, el lenguaje es vacıo si y solo si el lenguaje deE1 o el de E2 lo son.Finalmente, si la expresion regular es del tipo E∗, el lenguaje noes vacıo.
Demostracion para GR
Si L viene dado por una GR, dicha pregunta equivale a: ¿existe unaserie de producciones que llevan del sımbolo inicial S a una cadenacuya variable se puedes substituir por una cadena de solo terminales?Ası enunciada, la pregunta tiene tambien facil respuesta algorıtmica:
el sımbolo inicial es accesible desde el sımbolo inicial, y
si una variable V se obtiene mediante una produccion desde unavariable que es accesible desde el sımbolo inicial, tb. esaccesible desde S.
En el momento en que dicho conjunto contenga una variable que sepuede substituir por una cadena solo de terminales, concluimos que ellenguaje no es vacıo. Si dicho conjunto no se puede ampliar y nocontiene ninguna de tales variables, el lenguaje L es vacıo.
Totalidad e igualdad
Totalidad
Para determinar si un lenguaje regular L es el total, basta decidir si Lc
es el vacıo.
Igualdad
Para saber si dos lenguajes regulares L1 y L2 coinciden, basta sabersi L1 ⊆ L2 y L2 ⊆ L1 o equivalentemente, si L1 \ l2 = /0 y L2 \L1 = /0.
Relaciones de equivalencia
Definicion
Sea X un conjunto. Una relacion ∼⊆ X ×X se dice de equivalencia,si satisface las siguientes propiedades:
[Reflexiva] para todo x ∈ X, x ∼ x,
[Simetrica] para todos x ,y ∈ X, x ∼ y implica y ∼ x, y
[Transitiva] para todos x ,y ,z ∈ X, x ∼ y y y ∼ z implica x ∼ z.
Clases de equivalencia y conjuntos cociente
Definicion
Dada una relacion ∼⊆ X ×X y un elemento x ∈ X, se define la clasede x, notada [x ]∼, como el conjunto de todos los elementos de Xrelacionados con x, i.e.
[x ] := {y ∈ X : x ∼ y}.
El conjunto X/ ∼ es el conjunto cociente, i.e. el conjunto de todas lasclases de equivalencia
Nota
Dados dos elementos x ,y ∈ X no relacionados mediante ∼, severifica [x ]∼∩ [y ]∼ = /0. La demostracion de este hecho se sigue lapropiedad transitiva: por reduccion al absurdo, sean x ,y ∈ X doselementos no relacionados tales que [x ]∩ [y ] 6= /0 y sea z ∈ [x ]∩ [y ].Puesto que x ∼ z y z ∼ y se sigue x ∼ y, lo cual es absurdo. Por loque se tiene la afirmacion.
Estados equivalentes
Definicion
Sea A = (K ,σ ,δ ,s,F) un automata finito determinista y seanp,q ∈ K dos estados del mismo. Diremos que los estados p y q sonequivalentes, denotado por p ∼ q, si para toda cadena w ∈ Σ∗ severifica que δ (p,w) es de aceptacion si y solo si δ (q,w) es deaceptacion. En caso contrario, diremos que los estados sondistinguibles.
Propiedades
Teorema
La relacion estados equivalentes es una relacion de equivalencia.
Demostracion.
Las tres propiedades se siguen directamente de la definicion,omitiremos su prueba.
Algoritmo de marcado
Teorema
Existe un algoritmo que tomando como entrada un automata finitodeterminista, calcula los pares de estados distinguibles y por ende, lospares de estados equivalentes.
Demostracion
El algoritmo procede como sigue:
(Caso Base) Si p ∈ K es un estado de aceptacion y q ∈ K no loes, se marca el par (p,q) como par de estados distinguibles.Dichos estado se distinguen mediante la cadena ε .
(Paso Inductivo) Sean p,q ∈ K dos estados tales que para algunσ ∈ Σ se tiene δ (p,σ) = s y δ (q,σ) = r . Si el par (r ,s) estamarcado como distinguible, se marca el par (p,q) comodistinguible. Obviamente, una cadena que distingue p y q es aw ,donde w ∈ Σ∗ es una cadena que distingue a r y s.
Demostracion
El algoritmo anterior marca todos los pares de estados distinguibles.Para demostrarlo, supongamos que no es ası, i.e. que existe un parde estado p,q ∈ K distinguibles que no han sido marcados por elalgoritmo.Los estados p y q no pueden ser distinguidos mediante la cadena ε ,puesto que si ası fuera hubieran sido marcados en la primera etapadel algoritmo (uno serıa aceptador mientras que el otro no).Sea w = w1 . . .wn ∈ Σ+ la cadena mas corta que distingue a p y q,los estados δ (p,w1) y δ (q,w1) son distinguidos por la cadenaw2 . . .wn. Continuando con la argumentacion, llegamos a la conclusionde que unos ciertos estados r ∈ K y s ∈ K son distinguibles por lacadena vacıa y por tanto conforman un par marcado en la primeraetapa del algoritmo. Por lo tanto, el par conformado por p y q hubierasido marcado durante la ejecucion de la segunda etapa.
Ejemplo
Sea A el automata finito:
C D
E
1 1
0
0
1
0
En este caso, el algoritmo comienza marcando lo pares formados porestados aceptadores y no aceptadores, i.e.: {(C,E),(D,E)}. Trasesta primera fase, el algoritmo pasa a la fase inductiva. Sin embargo,en esta fase no marca nuevos pares puesto que el par (D,C) esindistinguible.
Equivalencia
Teorema
Existe un algoritmo que decide si dos automatas finitos aceptan elmismo lenguaje.
Demostracion
Supongamos dados dos automatas finitos
A = (KA,ΣA,δA,sA,FA) y B = (KB,ΣB,δB,sB,FB)
tales que sus conjuntos de estados sean disjuntos. Consideramos unnuevo automata cuyo conjunto de estados viene dado por la union delos conjuntos KA y KB . El resto de los elementos del nuevo automatase definen de manera acorde a esta eleccion.El automata ası definido, tiene dos estados iniciales; sin embargo estono afecta a lo que sigue.El algoritmo emplea el algoritmo de marcado para detectar si losestados iniciales son equivalentes o no. Ambos automatas definen elmismo lenguaje si y solo si ası es.
Ejemplo
Consideramos el AF del Ejemplo anterior y
A B1
0
10
Empleando el algoritmo de marcado, son distinguibles los pares deestados: (B,A),(E ,A),(C,B),(D,B),(E ,C) y (E ,D).Por lo tanto, el par (A,C) es un par de estados equivalentes y ambosautomatas definen el mismo lenguaje.
Minimizacion
Teorema
Existe un algoritmo que tomando como entrada un automata finitodeterminista, produce un automata equivalente con el menor numeroposible de estados.
Demostracion
Supongamos dado un automata A = (K ,Σ,δ ,s,F). El algoritmoelimina de entrada aquellos estados que no son accesibles desde elestado inicial. Despues, construye un nuevo automataB = (K ′,Σ,δ ′,s′,F ′) de la siguiente manera:
K ′ es el conjunto de clases de equivalencia de K con respecto a∼ (equivalencia de estados),
s′ es la clase de equivalencia de s, i.e. s′ := [s]∼,
F ′ es el conjunto de clases de equivalencia de los elementos deF , y
δ ′ se define de la siguiente manera: dado σ ∈ Σ y q ∈ K ′, sedefine δ ′(q,σ) = [δ (q,σ)]∼. La funcion de transicion esta biendefinida puesto que, si p ∈ [q]∼ y [δ (q,σ)]∼ 6= [δ (p,σ)]∼, losestados p y q serıan distinguibles.
Demostracion
El algoritmo, para construir un tal automata, hace uso del algoritmo demarcado con el fin de determinar las clases de equivalencia.Veamos que el automata B ası construido tiene el menor numero deestados posibles. Por reduccion al absurdo, supongamos que no esası y sea C un automata con un numero menor de estados. Comodefinen el mismo lenguaje, i.e. son automatas aquivalentes, losestados iniciales son equivalentes. Como ninguno de los dosautomatas posee estados aislados del inicial, cada estado de B va aser equivalente a alguno de C. Puesto que C tiene menos estados queB, hay dos estados de B equivalentes entre si, lo cual resulta absurdo.
Ejemplo
El mınimo automata que acepta el lenguaje del anterior es:
A,E
G
B,H C
D,F1
1
0
1
0
1
0
1
0
0
Contenidos
1 Automatas finitosAutomatas finitos deterministasAutomatas finitos no deterministasAutomatas finitos no deterministas
1 Gramaticas regularesExpresiones y gramaticas regularesAutomatas finitos y gramaticas regularesAutomatas y expresiones regulares
1 Propiedades de los lenguajes regularesLenguajes no regularesPropiedades de clausuraPropiedades de decisionEquivalencia y minimizacion
1 Automatas a pilaDefiniciones basicasAutomatas a pila deterministas
Automatas a pila
Definicion
Un automata a pila es una tupla P = (K ,Σ,Γ,δ ,s,Z ,F) donde:
1 K es un conjunto finito de estados,
2 Σ y Γ son dos alfabetos finitos llamados de entrada y de pila(respec.),
3 δ : K × (Σ∪{ε})×Γ→ P(K )×Γ∗ es una aplicacion llamadade transicion,
4 s ∈ K es el estado inicial, Z es el sımbolo inicial de la pila, y
5 F es el conjunto de estados aceptadores.
Configuracion y paso de computacion de un AP
Definicion
Dado un AP P = (K ,Σ,Γ,δ ,s,Z ,F), llamaremos configuracion delautomata P a toda tupla (q,w ,γ) ∈ K ×Σ∗×Γ∗. En particular,llamaremos configuracion inicial para un cadena dada w ∈ Σ∗ a latupla (s,w ,Z ).
Definicion
Supongamos dados un AP P = (K ,Σ,Γ,δ ,s,Z ,F), un sımbolo delalfabeto de entrada σ ∈Σ y un sımbolo del alfabeto de pila ρ ∈ Γ talesque δ (q,σ ,ρ) = (Q,α) para ciertos Q ∈ P(K ) y α ∈ Γ∗. Para todop ∈ Q, w ∈ Σ∗ y γ ∈ Γ∗, diremos que la configuracion (q,σw ,ργ) dalugar, en un paso de computacion, a la configuracion (p,w ,αγ) y lodenotaremos por (q,σw ,ργ) ⊢P (p,w ,αγ). En general, emplearemosla notacion ⊢∗
P para indicar que una configuracion se sigue de otra enun numero finito de pasos (quizas nulo).
Lenguaje aceptado por estado final
Definicion
Dado un automata a pila P = (K ,Σ,Γ,δ ,s,Z ,F), se define ellenguaje aceptado por P por estado final como el conjunto de lascadenas w ∈ Σ∗ tales que partiendo de la configuracion inicial para w,el automata alcanza en un numero finito de pasos una configuracionaceptadora, i.e.
L(P) = {w ∈ Σ∗ : (s,w ,Z ) ⊢∗P (f ,ε ,γ) ∈ F ×{ε}×Γ∗}.
Lenguaje aceptado por pila vacıa
Definicion
Dado un automata a pila P = (K ,Σ,Γ,δ ,s,Z ,F), se define ellenguaje aceptado por P por pila vacıa como el conjunto de lascadenas w ∈ Σ∗ tales que partiendo de la configuracion inicial para w,el automata alcanza en un numero finito de pasos una configuracioncon cadena y pila vacıas, i.e.
L(P) = {w ∈ Σ∗ : (s,w ,Z ) ⊢∗P (f ,ε ,ε) ∈ K ×{ε}×{ε}}.
Equivalencia
Teorema
Dado un lenguaje aceptado por un automata P por estado final, existeun automata P ′ que acepta L por pila vacıa. Recıprocamente, si L esaceptado por un automata por pila vacıa, existe un automata P ′ queacepta L por estado final.
Demostracion (1)
Supongamos dado un lenguaje L ⊂ Σ∗ aceptado por un APP = (K ,Σ,Γ,δ ,s,Z ,F) por estado final. La construccion de unautomata P ′ que acepta L por pila vacıa es como sigue: P ′ coincidecon P con las siguientes salvedades:
el sımbolo inicial de pila viene dado por un nuevo sımbolo X ,
el conjunto de estado coincide con el de P salvo por la inclusionde dos nuevos estados: un nuevo estado inicial p0 y un nuevoestado denotado pF encargado de vaciar la pila.
la funcion de transicion es igual que en el automata a pila salvopor la inclusion de diversas transiciones: la primera esta definidamediante δ (p0,ε ,X) = {(s,ZX)} y se encarag de apilar elsımbolo inicial de pila del automata P, mientras que las restantesson de la forma δ (f ,ε ,γ) = {(pF ,ε)}, donde f ∈ F y γ ∈ Γ.
Demostracion (2)
Graficamente, representamos a continuacion dicho automata:
p0 s pFε ,Γ/εε ,X/ZX
ε ,Γ/ε
Demostracion (3)
Recıprocamente, supongamos que el lenguaje L es aceptado por unautomata a pila por pila vacıa. La construccion del automata P ′ escomo sigue: al igual que en el caso anterior, el nuevo automata esesencialmente igual a P con las siguientes salvedades:
el sımbolo inicial de pila viene dado por un nuevo sımbolo Z ,
se anaden dos nuevos estados p0 (estado inicial) y pF (estadofinal),
se consideran, ademas de las transiciones de originales P, lassiguientes: una transicion inicial definida medianteδ (p0,ε ,X) = {(s,ZX)} y unas transiciones encargadas deaceptar definidas por δ (q,ε ,Z ) = {(pF ,X)}.
Demostracion (4)
En lıneas generales, el diagrama de transiciones de P ′ tiene la pinta:
p0 s pFε ,X/Xε ,X/ZX
Automata a pila determinista
Definicion
Dado un automata a pila P = (K ,Σ,Γ,s,Z ,F), diremos que esdeterminista si verifica:
1 δ (q,σ ,γ) = (Q,γ ′) verifica #Q ≤ 1 para todo q ∈ K , σ ∈ Σ yγ ∈ Γ.
2 Si δ (q,σ ,γ) = (Q,γ ′) con Q 6= /0, entonces δ (q,ε ,γ) = ( /0,γ ′).