
y se pide hacer un automata que lo reconozca.
La solucion oficial del parcial es el siguiente automata:

Yo hice EXACTAMENTE el mismo autómata, pero lo hice por stack vacio, entonces la diferencia es que no tengo el estado

Está bien?
hola:
en un APD, el que la solución no quede determinista no es ni bueno ni malo. lo mismo si es por estado final o por stack vacío. las soluciones se dan por buenas si reconocen al lenguaje pedido.
respecto a tu solución, si el APD reconoce por stack vacío, en algún estado tendrá que quitarse el tope del stack. dado que en todos los estados ya existen transiciones con Zo, sin importar en cuál lo hiciste, dudo que el resultado sea determinista.
saludos,
d.-
Hola, no quise abrir otro tema ya que mi duda es sobre el mismo ejercicio.
¿Podrían explicarme cuál es la estrategia que se usa en el autómata? No logro terminar de entenderlo.
Gracias.
Saludos.
hola:
en el stack no hay letras mezcladas (más allá de Zo): hay sólo A o sólo B, dependiendo de para qué lado esté desbalanceada la cuenta; cada letra en el stack indica qué letra habría que leer en la entrada para balancear la cuenta.
así, si en el stack hay A y vienen bes, seguirás apilando más A para compensar esta nueva b, pero si vienen aes tendrás que desapilar porque algunas de las letras que hacían falta se leyeron de la entrada. análogamente se hace en el caso donde el tope es B. Zo en el tope de la pila implica que las cantidades están balanceadas, o sea, la relación se cumple.
el punto más complicado de ver es cuánto hay que apilar o desapilar por cada letra, dado que la relación no es 1 a 1 sino 3-2. por eso cada letra desapila o apila una cantidad distinta: las aes apilan/desapilan de a 2, las bes de a 3.
para entender cómo funciona ese 3-2, te recomiendo probar con permutaciones de la tira aaabb.
saludos,
d.-
Saludos.