Teor a de Automatas, Lenguajes Formales y Gram ticas · Propiedades de clausura ... os AFD se...

103
Teor´ ıa de Automatas, Lenguajes Formales y Gram ´ aticas D. Castro Esteban

Transcript of Teor a de Automatas, Lenguajes Formales y Gram ticas · Propiedades de clausura ... os AFD se...

Teorıa de Automatas, Lenguajes Formales yGramaticas

D. Castro Esteban

TEX & LATEX

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.

Ejemplo

Ejemplo

El automata anterior se representa mediante:

s q1 q20 1

0,101

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}

Ejemplo

El diagrama de transicion es como sigue:

s q1 q20 1

0,10,1

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.

Ejemplo de conversion de AFN a AFD

{s} {s,q1}0

1 0

{s,q2}1

{s,q1,q2}

0

1

0

1

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 = E∗1 , donde E1 es e.r. con A1 AF asociado, consideramos:

ε ε

ε

ε

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?

Vaciedad

Teorema

Existe un algoritmo que dado un lenguaje regular L decide si es o novacıo.

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

Consideramos el automata:

A

E

B

F G

C D

H

0 10

1 10

1

10

0

1

0

1

0

1

0

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,γ ′).

AP y lenguajes regulares

Teorema

Dado un lenguaje regular L ⊆ Σ∗, exite un automata a piladeterministas que acepta L por estado final.

Nota

Para finalizar, notemos que existen lenguajes aceptador porautomatas a pila que no son aceptados por automatas a piladeterministas.