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...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.9. AMBIGÜEDAD INHERENTE 103 ✷Teorema 27 El lenguaje libre <strong>de</strong> contextoL = {a N b N c M d M /N ≥ 1 y M ≥ 1} ∪ {a N b M c M d N /N ≥ 1 y M ≥ 1}es inherentemente ambiguo.Demostración : Asuma que hay una gramática no ambigua que genera L. Por el lema anterior, se pue<strong>de</strong>construir una gramática no ambigua G = (V, T, P, S), que genera L, que no tiene símbolos inútiles y en quepor cada A ∈ V − {S}, A⇒X ∗ 1 AX 2 para algunos X 1 , X 2 ∈ T ∗ , en que no son ambos ε.Se hace notar que la gramática G <strong>de</strong>be tener las siguientes propieda<strong>de</strong>s:1. Si A ∗ ⇒X 1 AX 2 , entonces X 1 y X 2 consisten <strong>de</strong> un sólo tipo <strong>de</strong> símbolos (a, b, c o d); si noS ∗ ⇒w 1 Aw 3∗⇒w1 X 1 X 1 AX 2 X 2 w 3∗⇒w1 X 1 X 1 w 2 X 2 X 2 w 3para algunos w 1 , w 2 y w 3 . El último string <strong>de</strong> terminales no pertenecería a L.2. Si A ∗ ⇒X 1 AX 2 , entonces X 1 y X 2 tienen símbolos diferentes, si no en una <strong>de</strong>rivación que usa A, seaumentaría el número <strong>de</strong> uno <strong>de</strong> los símbolos en una sentencia sin incrementar el número <strong>de</strong> ningúnotro símbolo, generando sentencias que no están en L.3. Si A ∗ ⇒X 1 AX 2 , entonces |X 1 | y |X 2 |. Si no se podría formar strings que tienen más <strong>de</strong> un símbolo que<strong>de</strong> ningún otro.4. Si A ∗ ⇒X 1 AX 2 y A ∗ ⇒X 3 AX 4 , entonces X 1 y X 3 consisten <strong>de</strong> los mismos símbolos. También X 2 y X 4 .Si no, la propiedad (1) sería violada.5. Si A ∗ ⇒X 1 AX 2 , entonces a.- X 1 consiste sólo <strong>de</strong> a’s y X 2 sólo <strong>de</strong> b’s o <strong>de</strong> d’s b.- X 1 consiste sólo <strong>de</strong> b’sy X 2 sólo <strong>de</strong> c’s c.- X 1 consiste sólo <strong>de</strong> c’s y X 2 sólo <strong>de</strong> d’sEn cualquiera <strong>de</strong> los otros casos es fácil <strong>de</strong>rivar un string que no pertenece a L. Por lo tanto, lasvariables que no sean S pue<strong>de</strong>n agruparse en 4 clases, C ab , C ad , C bc y C cd . C ab es el conjunto <strong>de</strong> todaslas A ∈ V , tales que A ∗ ⇒X 1 AX 2 , con X 1 ∈ a ∗ y X 2 ∈ b ∗ . C ad , C bc y C cd se <strong>de</strong>finen en forma análoga.6. Una <strong>de</strong>rivación que contiene un símbolo en C ab o C cd no pue<strong>de</strong> contener un símbolo en C ad o C bc yviceversa. Si no, sería posible incrementar el número <strong>de</strong> tres <strong>de</strong> los tipos <strong>de</strong> símbolos <strong>de</strong> una sentenciaen L, sin importar el cuarto. En ese caso habría un string en L para el cual un símbolo apareceríamenos veces que todos los otros.Nótese que si una <strong>de</strong>rivación contiene una variable en C ab o C cd , entonces el string terminal generado<strong>de</strong>be estar en {a N b N c M d M /N ≥ 1 y M ≥ 1}. Porque supóngase que una variable A ∈ C ab aparece enuna <strong>de</strong>rivación <strong>de</strong> un string X que no está en ese conjunto. Entonces X <strong>de</strong>be ser <strong>de</strong> la forma a N b M c M d N ,con M ≠ N. Ya que A ∈ C ab , es posible generar una sentencia a N+p b M+p c M d N , con M ≠ N para algúnp > 0, la que no pertenece a L. Un argumento similar se cumple si A ∈ C cd . Un razonamiento análogoimplica que si una <strong>de</strong>rivación contiene una variable en C ad o C bc , entonces la sentencia generada <strong>de</strong>be estaren {a N b M c M d N /N ≥ 1 y M ≥ 1}.Se divi<strong>de</strong> G en dos gramáticas,yG 1 = ({S} ∪ C ab ∪ C cd , T , P 1 , S)G 2 = ({S} ∪ C ad ∪ C bc , T , P 2 , S)

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

Saved successfully!

Ooh no, something went wrong!