Foros aprenderaprogramar.com

Aprender a programar => De todo un poco... => Mensaje iniciado por: icarokai en 12 de Abril 2016, 18:06

Título: Automata de pila
Publicado por: icarokai en 12 de Abril 2016, 18:06
Buenas tardes

Masters de programacion, no se si alguien me pudiese ayudar a como realizar el siguiente lengaje:

Para el siguiente lenguaje diseñe un Autómata de Pila que lo genere exactamente.

Σ = {0,1,2}
      
L = {w | w tiene longitud múltiplo de 3 ó de 5 y además contiene por lo menos un ‘1’}
   
es decir, longitudes 3,6,9,12,15,18,….  y longitudes 5,10,15,20,25,30,…..


Se los agradeceria mucho!!!
Título: Re:Automata de pila
Publicado por: javi in the sky en 12 de Abril 2016, 20:33
Hola,

en este hilo tienes muchas preguntas y respuestas de autómatas

https://www.aprenderaprogramar.com/foros/index.php?topic=638.0

El ejercicio sería "si el alfabeto es 0, 1, 2 determinar el autómata que acepta cadenas que contienen al menos un 1 y cuya longitud es múltiplo de 3 ó de 5.

Tal y como lo entiendo yo serían cadenas válidas para el lenguaje: 111, 122, 1000000001, 101, etc.

No serían válidas 000 (no contiene al menos un 1), 1000 (no es múltiplo de 3 ó de 5), etc.

Saludos
Título: Re:Automata de pila
Publicado por: icarokai en 12 de Abril 2016, 20:56
Hola,

Asi es Javi, si la cadena es "000" no es valida ya que tiene que haber al menos un "1".

Hice el siguiente automata, sin embargo es bastante largo, aunque repetitivo, creo que se puede simplificar aun mas, sin embargo no comprendo como hacerlo por el problema de las longitudes ya que aceptan de 3 y 5, osea que si me llega X cadena, tendria que verificar si es multiplo de 3 o 5, aunado si contiene un "1".

(http://C:\Users\icaro\Desktop\automata de pila.jpeg)