Autor Tema: Lenguajes formales y automatas

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

19 Febrero, 2024, 03:00 pm
Leído 87 veces

ElMatadorargentino

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 9
  • País: ar
  • Karma: +0/-0
Tengo que hacer un automata que reconozca el lenguaje de las cadenas definidas sobre el alfabeto {0,1} y donde se debe cumplir que la cantidad de 0s sea multiplo de 2 y la cantidad de 1s sea multiplo de 3. Ejemplo: 01011, 11010.

Hice ambos automatas por separado
Automatas que reconozca los 0s. Hice 2 estados q0 y q1 donde simplemente de q0 voy a q1 y de q1 voy a q0 de forma que en q0 siempre sea multiplo de 2
Automatas que reconozca los 1s. Hice 3 estados, es similar al anterior, q0 a q1, q1 a q2 y q2 a q0 de manera que en q0 siempre sea multiplo de 3

No se como unir ambos automatas de forma que se puedan ir alternando los 0s y los 1s como en los ejemplos mencionados anteriormente, gracias

19 Febrero, 2024, 11:12 pm
Respuesta #1

argentinator

  • Consultar la FIRMAPEDIA
  • Administrador
  • Mensajes: 7,739
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
  • Vean mis posts activos en mi página personal
    • Mis posts activos (click aquí)
¿Y por qué no usar 6 estados?

Serían \(q_{j,k}\) con \(j = 0,1\), \(k=0,1,2\).
Es decir, los restos de la división por 2 y por 3.

Si el dígito es 0, irías de \(q_{0,k}\) a \(q_{1,k}\), dejando fijo el índice \(k\), y viceversa.
Si el dígito es 1, irías de \(q_{j,0}\) a \(q_{j,1}\), etc., dejando fijo el \(j\).

Creo que eso funcionaría.

Decime si estás de acuerdo.
Saludos.

20 Febrero, 2024, 12:02 am
Respuesta #2

ElMatadorargentino

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 9
  • País: ar
  • Karma: +0/-0
Funcionó a la perfección, muchas gracias!