[2013] [Segundo Parcial] [Ejercicio 3] [Parte c] y [Ejercicio 2] [Parte b] Posibles errores

[2013] [Segundo Parcial] [Ejercicio 3] [Parte c] y [Ejercicio 2] [Parte b] Posibles errores

de Federico Ciuffardi Alves -
Número de respuestas: 1
Me parece que hay dos errores en la solucion propuesta:

Ejercicio 3.c
No hay forma de se desplazar  A_2 y B_2 a la derecha.

S => 1 C (A_1) 1 U # # => 1 C (A_1) 1 # 1 # => 1 C 1 # (A_2) 1 # =>
1 1 C # (A_2) 1 # => 1 1 # 0 (A_2) 1 # =>  1 1 # 0 1 # A

siendo el ultimo paso posible unicamente si se tiene la produccion
(A_2) 1 => 1 (A_2) de lo contrario  "quedaria trancado" en
1 1 # 0 (A_2) 1 # nunca logrando formar la tira 1 1 # 0 1 # A

Ejercicio 2.b
El automata agrega A's al stack en la transicion de q_0 a q_1 y en el loop de q_1 esto lleva a que si se tiene la tira aabccc se hace la transicion de q_0 a q_1 agragando una A al stack se hace el loop de q_1 agragando otra A despues se pasa de q_1 a q_2 agragando una B al stack y esa B se consume al llegar a q_3  desde q_2 restando cc para analizar, al pasar de q_3 a q_4 se saca del stack una A pero queda otra en el  stack y por esto no se puede hacer el loop de q_4 para consumir la c restante y como por el otro camino (pasar q_0 a q_6 al pricipio) tampoco se reconoce entonces la tira no es reconocida por el automata pero si pertenece al lenguaje.


En respuesta a Federico Ciuffardi Alves

Re: Segundo parcial 2013 posibles errores

de Diego Garat -

hola:

1) sí, efectivamente, están faltando reglas para mover las letras A1 y B1 sobre los terminales 0 y 1
A2 0 → 0 A2 

A2 1 → 1 A2  ...


2) aunque podemos discutir la claridad de la solución al utilizar una marca A ---que no parece ser una buena elección para entender el problema ni tampoco es necesaria, bastaba leer Zo en q3---, el autómata no agrega más marcas de este tipo al stack en q1. la transición lee aes de la entrada, pero deja el stack como está: lee una marca A y deja una marca A en el stack, sin agregar nada. al llegar la primera b en la entrada, el stack contiene nada más que AZo.

algo diferente pasa en q2 en donde sí se lee una B en el stack y se dejan dos, esto es, se agrega una B al stack en cada loop.


saludos,

d.-