Diferencia entre revisiones de «Resolución Final del 13/06/23 (Teoría de Lenguajes)»

De Cuba-Wiki
(Página creada con «Idea de resolución de los ejercicios ==== Ej 1 ==== Un autómata es codeterminístico si no hay dos estados que apunten con el mismo caracter a un tercer estado. Si se da este caso, al invertir la dirección de las flechas, este estado tendría dos transiciones distintas a través de un mismo caracter. Por lo tanto, al tomar el reverso del autómata el problema se convierte en llevar transformarlo a un autómata determinístico. El algoritmo quedaría de la siguie…»)
 
Sin resumen de edición
 
(No se muestran 2 ediciones intermedias de 2 usuarios)
Línea 3: Línea 3:
==== Ej 1 ====
==== Ej 1 ====


Un autómata es codeterminístico si no hay dos estados que apunten con el mismo caracter a un tercer estado. Si se da este caso, al invertir la dirección de las flechas, este estado tendría dos transiciones distintas a través de un mismo caracter. Por lo tanto, al tomar el reverso del autómata el problema se convierte en llevar transformarlo a un autómata determinístico.
Un autómata es codeterminístico si no hay dos estados que apunten con el mismo caracter a un tercer estado. Si se da este caso, al invertir la dirección de las flechas, este estado tendría dos transiciones distintas a través de un mismo caracter. Por lo tanto, al tomar el reverso del autómata el problema se reduce a obtener el autómata determinístico equivalente.
El algoritmo quedaría de la siguiente manera:
El algoritmo quedaría de la siguiente manera:


Línea 9: Línea 9:
OUTPUT: AFND-lambda A' codeterminístico.
OUTPUT: AFND-lambda A' codeterminístico.


* Tomar reverso de A
* Tomar reverso de <math>A</math>
* Hacer pasaje de <math>A^r</math> a un autómata determinístico
* Hacer pasaje de <math>A^r</math> a un autómata determinístico
* Tomar reverso de <math>A^r</math>
* Tomar reverso de <math>A'\ ^r</math>


El autómata A' resultante reconoce el lenguaje original.
El autómata <math>A'</math> resultante reconoce el lenguaje original.


==== Ej 2 ====
==== Ej 2 ====
Es una versión simplificada de la demostración de la cota para el algoritmo de parsing LL(1). La idea sería que, como el lenguaje no es recursivo a izquierda, no es posible que se genere una derivación en donde se repita un no terminal en la izquierda. Por lo tanto, para llegar a la derivación <math>A\rightarrow_L^* B\alpha</math>, se puede pasar a lo sumo una vez por cada no terminal. La cota resulta en <math>|V_n|-1</math>
Es una versión simplificada de la demostración de la cota para el algoritmo de parsing LL(1). La idea sería que, como el lenguaje no es recursivo a izquierda, no es posible que se genere una derivación en donde se repita un no terminal en la izquierda. Por lo tanto, para llegar a la derivación <math>A\rightarrow_L^* B\alpha</math>, se puede pasar a lo sumo una vez por cada no terminal. La cota resulta en <math>|V_n|-1</math>

Revisión actual - 05:19 18 jun 2023

Idea de resolución de los ejercicios

Ej 1[editar]

Un autómata es codeterminístico si no hay dos estados que apunten con el mismo caracter a un tercer estado. Si se da este caso, al invertir la dirección de las flechas, este estado tendría dos transiciones distintas a través de un mismo caracter. Por lo tanto, al tomar el reverso del autómata el problema se reduce a obtener el autómata determinístico equivalente. El algoritmo quedaría de la siguiente manera:

INPUT: AFND-lambda A no codeterminístico.
OUTPUT: AFND-lambda A' codeterminístico.

  • Tomar reverso de
  • Hacer pasaje de a un autómata determinístico
  • Tomar reverso de

El autómata resultante reconoce el lenguaje original.

Ej 2[editar]

Es una versión simplificada de la demostración de la cota para el algoritmo de parsing LL(1). La idea sería que, como el lenguaje no es recursivo a izquierda, no es posible que se genere una derivación en donde se repita un no terminal en la izquierda. Por lo tanto, para llegar a la derivación , se puede pasar a lo sumo una vez por cada no terminal. La cota resulta en