Autor Tema: Lenguajes y Autómatas

0 Usuarios y 1 Visitante están viendo este tema.

22 Noviembre, 2014, 01:12 am
Leído 3179 veces

facundoacdc

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 3
  • Karma: +0/-0
  • Sexo: Masculino
Hola a todos !

Tengo estos dos problemas que no puedo resolverlos... no puedo encontrar ningun ejemplo al menos parecido para ver como se resuelven...

El tema que estamos dando es Lenguajes y Autómatas...

Acá se los dejo para ver si alguien me puede ayudar:

Ejercicio 9: construir una expresión regular para denotar el lenguaje de las cadenas de 0 y 1 alternados y que inicie con 1.
En este lenguaje están las cadenas 1010, 10101, 101, 10, 1, etc.

Ejercicio 10: Considere la expresión regular  (0*)( 1*), que representa el lenguaje de las cadenas que son una secuencia de 0 o una secuencia de 1. Crear el AFD que reconozca el lenguaje.

Saludos. Facundo

22 Noviembre, 2014, 02:30 am
Respuesta #1

argentinator

  • Consultar la FIRMAPEDIA
  • Administrador
  • Mensajes: 7,797
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
Hola Facundo.

Estimo que hay poca gente en el foro versada en estos temas.
Aún así podemos ayudarte si das algunos detalles más.
Por ejemplo, ¿qué es el árbol ADF, o por qué no has podido formarlo?

En cuanto a "construir una expresión regular", eso no es algo universalmente definido.
Tendrías que indicar de qué manera se indican las expresiones regulares típicas, en el contexto o lenguaje que te están enseñando.

Saludos.

22 Noviembre, 2014, 02:52 am
Respuesta #2

facundoacdc

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 3
  • Karma: +0/-0
  • Sexo: Masculino
Gracias por tu respuesta argentinator..

Te pido perdon por mi falta de lenguaje y conocimiento de algunos terminos, no me llevo muy bien con las matematicas por el motivo que concurri a este rincon :p

AFD: Autómata Finito Determinista

Acá consegui dos ejemplos de ejercicios parecidos que me envio un compañero, los adjunto en la respuesta...

Lo pense y mire bastante pero sigo sin entenderlo... Puede ser que en el ejercicio 9 la solucion sea: 1* 10 ? me confunde la parte que dice "0 y 1 alternados"

Saludos. Facundo







22 Noviembre, 2014, 05:55 am
Respuesta #3

luis

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 303
  • Karma: +1/-0
  • Sexo: Masculino
Ejercicio 9: construir una expresión regular para denotar el lenguaje de las cadenas de 0 y 1 alternados y que inicie con 1.
En este lenguaje están las cadenas 1010, 10101, 101, 10, 1, etc.

Escribe primero la expresión regular que denota el  lenguaje de las cadenas de 0 y 1 alternados. Luego, colócale 1 como prefijo.

Ejercicio 10: Considere la expresión regular  (0*)( 1*), que representa el lenguaje de las cadenas que son una secuencia de 0 o una secuencia de 1. Crear el AFD que reconozca el lenguaje.

Supongo que te refieres a la expresión \( 0^*|1^* \). Construye un autómata con tres estados; un estado inicial y dos terminales.

saludos

luis

22 Noviembre, 2014, 11:58 am
Respuesta #4

argentinator

  • Consultar la FIRMAPEDIA
  • Administrador
  • Mensajes: 7,797
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
Hola.

Por lo que entiendo, el asterisco * representa "repetición del caracter/estado anterior".
Más precisamente, el * quiere decir:

Aceptar como válida cualquier cadena que comience con una cantidad finita de "1"s y termine con exactamente un solo "0".
Entonces, las cadenas válidas serían estas: 10, 110, 1110, 11110, 11111111110.

Según el gráfico de tu amigo, el árbol empieza con un nodo inicial \( S_0 \), que imagino que representa la cadena vacía (o sea, "nada aún"). Luego, las flechas hacia la derecha indican que se va hacia el nodo \( S_1 \), que contiene el caracter "1". De allí hay dos flechas posibles: o bien "el asunto termina ahí y se avanza hacia \( S_2 \)", o bien "se vuelve a repetir \( S_1 \)".

Una vez que se ha repetido el nodo \( S_1 \), vuelven a aparecer de nuevo las dos opciones: o bien vamos hacia \( S_2 \), o bien repetimos \( S_1 \).

Al llegar a \( S_2 \), vemos que hay un "0", y que ahí termina todo.

La "S" imagino que significa "State", o sea: "estado", así que \( S_1 \) será el estado en el momento \( t = 1 \). \( S_0 \) sería el estado inicial, y \( S_2 \) es el último estado.
Adentro del último estado tu amigo dibujó un círculo.
Interpreto que eso indica que el proceso terminó, o que se llegó al estado final.
Sería, me parece, una señal de "fin de trabajo" para la máquina.

Lo que muestra el gráfico es bastante claro de descifrar.
La máquina comienza en un estado inicial \( S_0 \).
Luego pasa al estado \( S_1 \), en que hay dos caminos posibles: obtener un 1, con lo cual vuelve al estado \( S_1 \), o bien obtener un 0, con lo cual cambia al estado \( S_2 \).
El 1 aparece escrito sobre la flecha circular que vuelve sobre \( S_1 \).
El 0 aparece sobre la flecha que va del estado \( S_1 \) al \( S_2 \).

Esto me da a entender que la máquina cambia su estado, según qué entrada le hayas pasado. (Es lo que se llama, función de transición).
Desde un estado dado, y con una entrada específica, se pasa a un estado determinado.

Si en el estado \( S_1 \) le pasaste un 1, la máquina vuelve a ese "estado".
Si no, si le pasaste un 0, se mueve al estado siguiente.

Ahora bien.
El autómata arranca en el estado \( S_0 \), y lee uno a uno los caracteres de la cadena.
Esto lo hace hasta que la cadena termina.
Si la cadena terminó de ser leída, y la máquina quedó en el/un estado final (o de aceptación), es que la cadena era correcta (pertenece a la expresión regular analizada).
Si no, no .

----------

En cuanto al ejercicio 9, se me habían ocurrido 3 opciones, de las cuales descarto las primeras dos:

(a) (10)*: La descarto porque no se puede generar 1.
(b) 1(01)*: La descarto porque no permite generar 10.
(c) 1(0(10)*|(01)*): Permite 1, 10, 101, 1010, 10101, etc.

Si interpreté bien el enunciado, es la opción (c).

Saludos.

25 Noviembre, 2014, 03:47 pm
Respuesta #5

facundoacdc

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 3
  • Karma: +0/-0
  • Sexo: Masculino
Muchas gracias argentinator, la verdad que un lujo tu respuesta... muy bien explicada.. Te lo agradezco.

Ahora voy a tratar de resolver el Ej número 10, vamos a ver que puedo hacer.

Saludos. Facundo.