1 Se construye una tabla. 2 Se repite lo siguiente hasta que ya no haya cambios: (q i, q j ) := s.

Texto completo

(1)

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

AUTÓMATAS Y LENGUAJES FORMALES

LENGUAJES REGULARES II

LENGUAJES INDEPENDIENTES DEL CONTEXTO

Francisco Hernández Quiroz

Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx Página Web: www.matematicas.unam.mx/fhq

Facultad de Ciencias

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 1 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles Minimalización Reconocimiento de cadenas

Minimalización de estados

En ocasiones, un autómataApuede reemplazarse con un autómataA0que

reconoce el mismo lenguaje pero que tiene un conjunto de estados menor:

S 1 2 F a b a,b a,b a,b S0 a,b 10 a,b F0 a,b

De hecho, para cada lenguaje regular existe un únicoDFA(salvo

isomorfismo) con un número mínimo de estados que lo reconoce.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 2 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles Minimalización Reconocimiento de cadenas

Autómata cociente

SeaA∈DFA,A=(Q,Σ,δ,s,F). Definimos una relación de equivalencia

entre estados deQ. Seanq,r ∈Q. Entonces:

q≈r sii ∀α.δ∗(q,α)∈F siiδ∗(r,α)∈F.

Dado que≈es una relación de equivalencia, designaremos con[q]la clase

de equivalencia a la que pertenece el estadoq. El autómata cociente deA,

que denotaremos conA/≈=(Q≈,Σ,δ≈,s≈,F≈), se define así:

Q≈ = {[q]|q∈Q}

δ≈([q],a) = [δ(q,a)] s≈ = [s]

F≈ = {[f]|f ∈F}.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 3 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles Minimalización Reconocimiento de cadenas

Algoritmo de minimalización I

El siguiente algoritmo permite construir el autómata cociente a partir del autómataA=(Q,Σ,δ,s,F), conQ={q1,. . .,qk}:

1 Se construye una tabla

Estado q1 . . . qk

q1 m . . .

.. .

qk

Dondem=ssi el estado en eli-ésimo renglón es final y el estado en la

j-ésima columna no es final o viceversa. En caso contrario,m=n.

2 Se repite lo siguiente hasta que ya no haya cambios:

Si(qi,qj)=ny(δ(qi,a),δ(qj,a))=s, para algúna∈Σ, entonces (qi,qj):=s.

3 Al terminar el paso anterior,q

i ≈qj sii(qi,qj)=n.

(2)

Minimalización Reconocimiento de cadenas

Algoritmo de minimalización II

El algoritmo toma cuando mucho

n 2 = n! 2!(n−2)!

pasos, dondenes el número de estados.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 5 / 46

Minimalización Reconocimiento de cadenas

Una aplicación: reconocimiento de cadenas

Supongamos que se tiene un conjunto de cadenasX ⊆Σ∗y una

cadenaα∈Σ∗y el objetivo es verificar si alguna cadena deX

aparece enα, es decir si

∃β,γ,η ∈Σ∗.α=βγη∧γ∈X.

El algoritmo ingenuo sigue el método de laventana corrediza: para

cada cadena enX se recorreαcarácter por carácter y se verifica si

corresponde al segmento deαque inicia ahí.

No es difícil ver que este algoritmo es muy ineficiente.

Hay algoritmos más eficientes que éste, pero requieren ciertas operaciones iniciales también muy costosas.

Si se realizarán búsquedas frecuentes de cadenas deXen cadenas

arbitrarias, el costo se podrá justificar.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 6 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Minimalización Reconocimiento de cadenas

Diccionarios

SeaΣun alfabeto. Un diccionario es un subconjunto finito deΣ∗que

no contiene a.

Buscar apariciones de cadenas de un diccionarioX en cadenas

arbitrarias deΣ∗equivale a reconocer el lenguajeΣ∗X.

Seaα∈Σ∗una cadena no vacía. Denotaremos conPre(α)los

prefijos deα. SiX es un conjunto de cadenas,Pre(X)es el conjunto

de prefijos de las cadenas deX.

Ejemplo. Siα=abab,Pre(α)={,a,ab,aba,abab}.

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Minimalización Reconocimiento de cadenas

Autómata

trie

de un diccionario

Dado un un diccionarioX, su autómatatrie T(X)está formado por

Un conjunto de estados que comprende un estado por cada prefijo de

las cadenas deX(si más de una cadena tienen el mismo prefijo,T(X)

sólo incluirá un estado para todas).

El estado inicial corresponde a.

Los estados finales son las cadenas deX.

La funciónδse define así. Seanpyqlos estados correspondientes a

las prefijosαyβ, respectivamente, y seaa∈Σ. Entonces

δ(p,a)=q sii β =αa. .

(3)

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Minimalización Reconocimiento de cadenas

Ejemplo de autómata

trie

Considérese el siguiente conjunto de palabras:{aa,bb,abba,baab}.

a aa ab abb abba b bb ba baa baab a a b b a b b a a b

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 9 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Minimalización Reconocimiento de cadenas

Autómata de un diccionario I

SeaX un diccionario. Con base enT(X)se puede construir el

autómata del diccionarioXque aceptará el lenguajeΣ∗X.

Seah:Σ∗×X →Pre(X)la función siguiente

h(α,X)= el sufijo deαde mayor longitud que pertenece aPre(X).

El autómata del diccionario deX, denotado porD(X), constará de los

elementos

Los mismos estados deT(X). El mismo estado inicial.

El conjunto de estados finales es el conjunto de estados que corresponden a las cadenas enPre(X)∩Σ∗X.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 10 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Minimalización Reconocimiento de cadenas

Autómata de un diccionario II

La funciónδdefinida por

δ(p,a)=q sii β=h(αa,X),

dondepyqlos estados correspondientes a las prefijosαyβ, respectivamente, ya∈Σ.

D(X)es un autómata completo que acepta el lenguajeΣ∗X.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 11 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Minimalización Reconocimiento de cadenas

Ejemplo de autómata de

diccionario

El autómata de diccionario del ejemplo anterior:

a aa ab abb abba b bb ba baa baab a a b b a b b a a b a b a a b b a b b a b a

(4)

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Gramáticas independientes del contexto

Una gramáticaG=hΣ,Γ,S,→iesindependiente del contextosii

todas las reglas de producción tienen una de las dos siguientes formas

A→α A→,

dondeA∈Γ.

CFGdesignará el conjunto de gramáticas independientes del contexto.

El lenguaje generado porGse denotará conL(G).

Un lenguajeLesindependiente del contextosii existe una gramática

G∈CFGtal que

L=L(G).

CFLes el conjunto de lenguajes independientes del contexto.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 13 / 46

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Ejemplos

1 Lenguaje de palindromas. SeaG

P =h{a,b},{S},S,→Pi, donde

S →P aSa|bSb|.

2 Lenguaje de paréntesis. Sea SeaG

D =h{(,)},{S},S,→Di, con las

siguientes reglas

S→D (S)|SS |.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 14 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Otras definiciones I

Considérese una derivación

α0⇒α1⇒ · · · ⇒αn.

Esta derivación presupone reglas de producción

A1→β1,. . .,An→βn

tales que

αi =γiAiηi αi+1=γiβiηi.

Esta derivación serápor la izquierdasii para todoi≤n

|γi| ≤ |γi+1| γi ∈Σ∗

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Otras definiciones II

y serápor la derechasii

|ηi| ≤ |ηi+1| ηi ∈Σ∗.

Una gramática esno ambiguasii∀α∈L(G),αtiene exactamente una

derivación por la izquierda (o por la derecha).

Un lenguaje esno ambiguosii existe una gramática no ambigua que lo

genere. De lo contrario, seráinherentemente ambiguo.

Una gramática espulcrasii

(a) ∀A∈Γ.L(A)6=∅;

(5)

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Otras definiciones III

Una producción esterminalsii no contiene símbolos no terminales del lado

derecho.

Una producción es una regla-sii su lado derecho es.

Una producción esunitariasii es de la forma de la formaA→B, con

A,B∈Γ.

Una gramática espropiasii no contiene regla-ni reglas unitarias.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 17 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Paréntesis balanceados

La gramáticaGDgenera ellenguaje de paréntesis balanceados, es decir,

α∈L(GD)sii

1 A(α)=C(α);

2 C)≤A(β)β ∈Pre(α);

dondeA(α)yC(α)son el número de paréntesis que abren y cierran que

aparecen enα, respectivamente.

Demostración. Por inducción en la derivación deS⇒α.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 18 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Lenguajes de Dyck

El lenguaje de paréntesis se puede generalizar a los lenguajes de Dyck. Sea

Aun alfabeto de símbolos terminales y sea ¯Auna copia deA, es decir:

(i) A∩A¯ =

(ii) existe una biyección deAa ¯A. Por ejemplo, siA={(}, entonces ¯A={)}.

El lenguaje de Dyck sobreAes el lenguaje generado por las reglas de

producción:

S→a1Sa¯1| · · · |anSa¯n|SS |,

dondeA={a1,. . .,an}y ¯ai ∈A¯ es la copia deai. Este lenguaje se

denotará conDA∗.

Si|A|=n, una notación alternativa esDn∗.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 19 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Formas normales de Chomsky y de Greibach

SeaG=hΣ,Γ,S,→iun gramática.Gtieneforma normal de Chomsky

(CNF) sii todas las producciones tiene la forma

A→BC A→a,

dondeA,B,C∈Γya∈Σ.

En cambio,Gtieneforma normal de Greibach(GNF) sii todas las

producciones tienen la forma

A→bB1· · ·Bk

con 0≤k,b∈ΣyB1,. . .,Bk ∈Γ.

(6)

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Ejemplos

Los conjuntos de producciones siguientes tienen forma normal de Chomsky y de Greibach (respectivamente)

S → AB |AC |SS C→SB A→( B→)

S → (B|(SB|(BS|(SBS B→)

y generan el lenguaje de paréntesis balanceados.

Las producciones siguientes generan el lenguaje de palindromas

S → AA|BB|AC |BD C→SA D→SB A→a B→b S → aA|aSA|bB|bSB A→a B→b

Con excepción en ambos casos de.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 21 / 46

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Todas las

CFG

tienen equivalente en

CNF

o

GNF

Teorema. SeaG∈CFG. Entonces existenGC,GG∈CFGtales que tienen

forma normal de Chomsky y de Greibach, respectivamente, y

L(GC)=L(GG)=L(G)− {}.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 22 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Lema de gramáticas propias I

SeaG∈CFG. Entonces, existe una gramática propiaGPtal que

L(GP)=L(G)− {}.

Demostración. Sea→0la relación mínima que

(i) contiene a→;

(ii) siA→0αBβyB →, entoncesA→0 αβ

(iii) siA→0ByB0 γ, entoncesA0γ.

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Lema de gramáticas propias II

Y seaG0 ∈CFGcomoG, pero con las reglas de producción→0. Entonces

L(G)=L(G0)

Obviamente,L(G)⊆L(G0). ParaL(G0)⊆L(G), baste observar que toda

derivación enG0se puede realizar enG, salvo tal vez en más pasos.

Sea ahoraGPcomoG0pero con la relación→00que prescinde de las

producciones unitarias y -que existan en→0. Entonces

L(GP)=L(G0)− {}=L(G)− {}.

Esta última afirmación se demuestra considerando que las derivaciones de

(7)

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Transformación a forma normal de Chomsky

Una vez que contamos con una gramática propiaGP, podemos construir la

FNC:

1 Para cadaaΣ, introducimos nuevos no terminalesA

ay reglas de

producciónAa→a.

2 Sustituimos los terminales por los no terminales del punto anterior en

todas las reglas deGPque no tenganFNCtodavía.

3 Dada una reglaAB

1. . .Bk (K >2), introducimos un nuevo

terminalC1y las reglas

A→B1C1 C1→B2. . .Bk.

4 Repetimos este procedimiento hasta tener sólo reglas con dos no

terminales del lado derecho.

5 Eliminamos las reglas del punto anterior que no tenganFNC.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 25 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Transformación a forma normal de Greibach

SeaGCuna gramática enFNC. Para convertirla aFNG:

1 Para cadaXΓ, considérese el lenguaje

RX,x ={β ∈Γ∗ |X ⇒Lxβ}.

Este lenguaje es regular. SeaGX,x una gramática lineal por la derecha

que lo genere. SeaSX,xel símbolo inicial de esta gramática.

2 Entonces, sustituimos las reglas

A→XY

por reglas

A→xSX,xY,

y agregamos las producciones y símbolos no terminales deGX,x a

nuestra gramática.

3 Eliminamos las reglas-.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 26 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Ejemplos I

Lenguaje de paréntesis. Empezamos con forma normal de Chomsky:

S→AB|AC|SS C→SB A→( B →).

Tenemos ahora los siguientes lenguajesRX,x

RS,( = (B+C)S∗

RC,( = (B+C)S∗B

RA,( = {} RB,) = {}

Estas producciones nos generan los lenguajes anteriores:

SS,(→BX |CX X →SX |

SC,( →BY |CY Y →SY |BZ Z →

SA,(→

SB,)→

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 27 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Ejemplos II

Entonces, tenemos las reglas nuevas

S→(SA,(B|(SA,(C |(SS,(S C→(SS,(B A→(

SS,(→)SB,)X |(SC,(X X →(SS,(X | B →)

SC,(→)SB,)Y |(SC,(Y Y →(SS,(Y |)SB,)Z Z →

SA,( → SB,)

Finalmente, eliminamos reglas-y símbolos superfluos:

S→(B|(C|(SS,(S C→(SS,(B A→(

SS,(→)X |(SC,(X |(SC,( X →(SS,(X |(SS,( B→)

SC,( →)Y |(SC,(Y Y →(SS,(Y |)

(8)

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Teorema del bombeo I

SeaL∈CFL. Entonces, existek ∈Ntal que para todaα∈L, sik ≤ |α|,

entonces α=βγηθφ, γθ6= y |γηθ| ≤k y para todai ∈N βγiηθiφ∈L. Demostración. SeaG∈CFGenFNCyL(G)=L−.

SeaΓel alfabeto de símbolos no terminales deG, con|Γ|=ny sea

k = 2n+1.

Entonces, el árbol sintáctico de toda cadena de longitud igual o

superior akdebe tener profundidad den+ 1 al menos.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 29 / 46

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Teorema del bombeo II

Entonces en un camino de longitud máxima de la raíz a las hojas debe aparecer dos veces, al menos, el mismo no terminal.

Este no terminal puede usarse para definir las cadenasγyθ.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 30 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Ejemplo

Considérense los siguientes árboles de derivación:

S T V T a X b W c U d

Árbol de la cadenaα=abcd

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

S T V T V T a X b W c X b W c U d

Árbol de la cadenaβγ2ηθ2φ=abcbcd

(9)

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Definición Ejemplos Lenguajes de Dyck Formas normales T. del bombeo

Aplicaciones

Como con los lenguajes regulares, este teorema se puede utilizar para demostrar que un lenguaje dado no es independiente del contexto. Ejemplos:

{anbncn}, por una aplicación directa del teorema, y

{αα}

pues losCFLy los regulares son cerrados bajo intersección y

{anbmanbm}={αα} ∩L(a∗b∗a∗b∗)

y, obviamente,{anbmanbm}no es independiente del contexto

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 33 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles Definición Equivalencia Determinismo

Autómatas de pila

Un autómata de pila no deterministaAestá formado por

un conjunto de estadosQ;

un alfabeto de entradaΣ;

un alfabeto de pilaΓ;

una relación de transiciónδ ⊆(Q×(Σ∪ {})×Γ)×(Q×Γ∗)

un estado inicials;

un símbolo inicial de la pila⊥;

un subconjunto de estados finalesF ⊆Q.

LlamaremosNPDAa los autómatas de pila no deterministas.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 34 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles Definición Equivalencia Determinismo

Lenguajes aceptados por

NPDA

Unaconfiguraciónde un autómataA∈ NPDAes una terna(q,α,β)donde

q ∈ Q

α ∈ Σ∗

β ∈ Γ∗

La configuración inicial es(s,α,⊥). Definiremos ahora una relación entre

configuraciones:

siδ((q,a,B),(r,η)) entonces (q,aα,Bβ)⇒(r,α,ηβ)

siδ((q,,B),(r,η)) entonces (q,α,Bβ)⇒(r,α,ηβ)

El lenguaje aceptado por unA∈NPDAes

L(A)={α∈Σ∗ | ∃f ∈F .(s,α,⊥)⇒∗ (f,,β)}

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 35 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles Definición Equivalencia Determinismo

Aceptación por pila vacía

Una definición alternativa del lenguaje aceptado por unA∈NPDAes

L(A)={α∈Σ∗|(s,α,⊥)⇒∗(q,,)}

Ambas definiciones son equivalentes y puede construirse unA0 ∈NPDAque

acepte por pila vacía el mismo lenguaje que unA∈NPDAque acepte por

estado final (y viceversa).

(10)

Definición Equivalencia Determinismo

Teorema de equivalencia entre

CFG

y

NPDA

I

(a) SeaG∈CFG. Entonces, existeA∈ NPDAtal que

L(G)=L(A).

(b) SeaA∈NPDA. Entonces, existeG∈CFGtal que

L(G)=L(A).

Demostración

(a) SeaG=hΣ,Γ,S→ienFNG. Sea

A=({q},Σ,Γ,δ,q,S,q), donde

δ((q,a,A),(q,B1· · ·Bk)) sii A→aB1· · ·Bk.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 37 / 46

Definición Equivalencia Determinismo

Teorema de equivalencia entre

CFG

y

NPDA

II

Si puede demostrar por inducción en la longitud de las derivaciones (por la izquierda) que (q,αβ,A)⇒nA(q,β,γ) sii A⇒nGαγ. Entonces α∈L(G) sii S⇒∗Gα sii (q,α,S)⇒∗A(q,,) sii α∈L(A).

(b) Se demuestra primero que para todoA∈NPDAexiste unA0 ∈NPDAcon

un solo estado tal que

L(A)=L(A0)

y una vez construidoA0, los argumentos del caso (a) se pueden aplicar en

sentido inverso.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 38 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles

Definición Equivalencia Determinismo

Determinismo

A diferencia de los lenguajes regulares, la claseCFLno determinista es

estrictamente mayor que la determinista (DCFL).

Un autómata determinista de pilaD=(Q,Σ,Γ,δ,⊥,a,s,F)incluye el

símbolo especialaque sirve para indicar el final de la cadena de

entrada.

Las transiciones están indicadas por la función

δ :Q×Σ∪ {,a} →Q×Γ∗.

δno puede eliminar de la pila a⊥, es decir

δ(q,a,⊥) =(r,α⊥).

La aceptación es por estados finales. La aceptación por pila vacía define un conjunto de lenguajes diferente.

Un ejemplo de un lenguaje enCFLpero no enDCFLes

{a,b}∗− {αα|α∈ {a,b}∗}

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles Chomsky-Schützenberger Reconocimiento

El teorema de Chomsky y Schützenberger I

SeaL∈CFL. Entonces existenn∈N,R ∈REGy un homomorfismohtal

que

L=h(Dn∗∩R).

Nota: un homomorfismoh:Σ∗ →Γ∗es una función tal que

h(αβ)=h(α)h(β).

Demostración. SeaG=hΣ,Γ,S,→ienFNC. Asignaremos letras griegas

minúsculas a las producciones deG:

π,ρ,σ,. . .

Definiremos nuevas producciones

π0 =      A→ 1[ πB 1 ] π 2 [ πC 2 ] π siπ =A→BC A→ 1[ π 1 ] π 2 [ π 2 ] π siπ =A→a

(11)

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles Chomsky-Schützenberger Reconocimiento

El teorema de Chomsky y Schützenberger II

y sean Σ0 = { 1 [ π, 1 ] π, 2 [ π, 2 ] π |π ∈→} →0 = {π0 |π ∈→} G0 = hΣ0,Γ,S,→0i

Se puede definir fácilmente un isomorfismo con un lenguajeD∗n(con un par

de tipos de paréntesis por cada regla en→). Obviando el isomorfismo, es

claro que

L(G0)⊆Dn∗.

L(G0)cumple además con las siguientes restricciones adicionales:

1 Para todaπ∈→, el símbolo

1 ] π está seguido de 2 [ π.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 41 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles Chomsky-Schützenberger Reconocimiento

El teorema de Chomsky y Schützenberger III

2 Ningún 2 ] π está seguido de n [ ρ. 3 Siπ =ABCentonces 1 [ π está seguido de 1 [ ρ, conρ=B →β. Análogamente para 2 [ π. 4 Siπ =Aa, entonces 1 [

π está seguido por la cadena

1 ] π 2 [ π 2 ] π. 5 SiA

G0 α, entoncesαcomienza con

1

[

π para algunaπ =A→γ.

Considérese el siguiente lenguaje regular:

RA={α∈Σ

0

|αsatisface 1–5}

Lema.A⇒∗G0 αsiiα∈Dn∗∩RA.

Suponiendo que el lema anterior es verdadero, entonces definimos el homomorfismo

h:Σ0∗ →Σ∗.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 42 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles Chomsky-Schützenberger Reconocimiento

El teorema de Chomsky y Schützenberger IV

Siπ =A→BCentonces h( 1 [ π)=h( 1 ] π)=h( 2 [ π)=h( 2 ] π)=. Siπ =A→aentonces h( 1 [ π)=a y h( 1 ] π)=h( 2 [ π)=h( 2 ] π)=.

El teorema se sigue directamente de esta definición.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 43 / 46

Más sobre lenguajes regulares CFG Autómatas de pila Algunos teoremas útiles Chomsky-Schützenberger Reconocimiento

Lema

A

G0

α

sii

α

D

n

R

A

Demostración. Por inducción ennpara la dirección⇒.

Para el caso inverso, por inducción en la longitud de las cadenas en

Dn∗∩RA. Basta considerar que

α= 1 [ πβ 1 ] π 2 [ πγ 2 ] π

y analizar los dos casos posibles paraπ, a saber,A→BCo bienA→a.

En el primer caso, por hipótesis inductiva,

B⇒∗G0 β y C ⇒∗G0 γ

y ademásβyγsatisfacen las condiciones 1–5. El segundo caso es aún más

simple.

(12)

Chomsky-Schützenberger Reconocimiento

Algoritmo de Cocke, Kasami y Younger

Es un algoritmo paradecidirde manera eficiente si una cadena

pertenece a unCFL.

SeaLunCFLy seaG=hΣ,Γ,S,→iunaCFGen forma normal de

Chomsky tal que

L(G)=L.

Seaα∈Lcon longitudn. Sean 0≤i <j≤ny sea

αi,j

la subcadena deαque va de la posicióni+ 1 a laj.

SeaTi,j ⊆Γel conjunto de no terminales que generaronαi,j.

El algoritmo calcula el valor de todos losTi,jde manera inductiva. En

particular,S∈T0,nsiS⇒∗Gα.

El algoritmo esO(pn3),pel número de producciones enG.

Francisco Hernández Quiroz Autómatas y Lenguajes Formales Leng. reg. / Leng. ind. del contexto 45 / 46

Chomsky-Schützenberger Reconocimiento fori := 0ton−1do Ti,i+1:=∅; forA→a∈Gdo ifa=αi,i+1then Ti,i+1 :=Ti,i+1∪ {A} form:= 2tondo fori := 0ton−mdo Ti,i+m :=∅;forj:=i+ 1toi+m−1do forA→BC∈Gdo ifB∈Ti,j∧C∈Tj,i+mthen Ti,i+m :=Ti,i+m∪ {A}

Figure

Actualización...

Referencias

Actualización...

Related subjects :