11.07.2015 Views

Teor´ıa de Autómatas y Lenguajes Formales

Teor´ıa de Autómatas y Lenguajes Formales

Teor´ıa de Autómatas y Lenguajes Formales

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

96 CHAPTER 5.ACEPTACIÓN Y GENERACIÓN DE LENGUAJES LIBRES DE CONTEXTOA 1 → A 2 A 3A 2 → A 3 A 1 |bA 3 → A 3 A 1 A 3 A 2 |bA 3 A 2 |aSe aplica ahora el segundo lema a las producciones-A 3 , con B 3 , una nueva variable. El resultado esA 1 → A 2 A 3A 2 → A 3 A 1 |bA 3 → bA 3 A 2 B 3 |aB 3 |bA 3 A 2 |aB 3 → A 1 A 3 A 2 |A 1 A 3 A 2 B 3Paso 2: Ahora, todas las producciones-A 3 tienen un lado <strong>de</strong>recho que comienza con un terminal. Ellos seusan para reemplazar A 3 en A 2 → A 3 A 1 y entonces las producciones para A 2 se usan para reemplazarA 2 en la producción A 1 → A 2 A 3 . El resultado esA 3 → bA 3 A 2 B 3 |aB 3 |bA 3 A 2 |aA 2 → bA 3 A 2 B 3 A 1 |aB 3 A 1 |bA 3 A 2 A 1 |aA 1 |bA 1 → bA 3 A 2 B 3 A 1 A 3 |aB 3 A 1 A 3 |bA 3 A 2 A 1 A 3 |aA 1 A 3 |bA 3B 3 → A 1 A 3 A 2 |A 1 A 3 A 2 B 3Paso 3: Las dos producciones-B 3 se convierten a la forma a<strong>de</strong>cuada, resultando 10 producciones. Se reemplazael lado <strong>de</strong>recho <strong>de</strong> las 5 producciones-A 1 por la ocurrencia <strong>de</strong> A 1 como primer símbolo <strong>de</strong>l lado<strong>de</strong>recho <strong>de</strong> las producciones-B 3 . El resultado esA 3 → bA 3 A 2 B 3 |aB 3 |bA 3 A 2 |aA 2 → bA 3 A 2 B 3 A 1 |aB 3 A 1 |bA 3 A 2 A 1 |aA 1 |bA 1 → bA 3 A 2 B 3 A 1 A 3 |aB 3 A 1 A 3 |bA 3 A 2 A 1 A 3 |aA 1 A 3 |bA 3B 3 → bA 3 A 2 B 3 A 1 A 3 A 3 A 2 |aB 3 A 1 A 3 A 3 A 2 |bA 3 A 2 A 1 A 3 A 3 A 2 |aA 1 A 3 A 3 A 2 |bA 3 A 3 A 2|bA 3 A 2 B 3 A 1 A 3 A 3 A 2 B 3 |aB 3 A 1 A 3 A 3 A 2 B 3 |bA 3 A 2 A 1 A 3 A 3 A 2 B 3 |aA 1 A 3 A 3 A 2 B 3|bA 3 A 3 A 2 B 3una gramática en la forma normal <strong>de</strong> Greibach, que es equivalente a la original.5.8 Equivalencia entre LLC y Autómatas ApiladoresEn esta sección se probará el resultado fundamental que la clase <strong>de</strong> lenguajes regulares aceptados por losautómatas apiladores es precisamente la clase <strong>de</strong> los lenguajes libres <strong>de</strong> contexto.Primero se verá que los lenguajes aceptados por un AA por estado final son exactamente los lenguajesaceptados por un AA por stack vacío. Luego se muestra que los lenguajes aceptados por stack vacío sonexactamente los lenguajes libres <strong>de</strong> contexto.Teorema 23 Si L es L(M 2 ) para algún AA M 2 , entonces L en N(M 1 ) para algún AA, M 1 .Demostración : En resumen, se quiere que M 1 simule a M 2 , con la opción para M 1 <strong>de</strong> vaciar su stack cadavez que M 2 entre a un estado final. Se usa un estado q e <strong>de</strong> M 1 para vaciar el stack y se usa un marcador<strong>de</strong>l fondo <strong>de</strong>l stack X 0 <strong>de</strong> M 1 , para que M 1 no acepte un string en forma acci<strong>de</strong>ntal si M 2 vacía su stack enun estado no final. Sea M 2 = (Q, Σ, Γ, δ, q 0 , Z 0 , F ) un AA tal que L = L(M 2 ). SeaM 1 = (Q ∪ {q e , q ′ 0}, Σ, Γ ∪ {X 0 }, δ ′ , q ′ 0, X 0 , ∅)con δ ′ <strong>de</strong>finida por1. δ ′ (q ′ 0 , ε, X 0) = {(q 0 , Z 0 X 0 )}2. δ ′ (q, a, Z) incluye los elementos <strong>de</strong> δ(q, a, Z), ∀q ∈ Q, a ∈ Σ ∪ {ε}, Z ∈ Γ✷

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!