• Miércoles 1 de Mayo de 2024, 01:43

Autor Tema:  CREAR UN AUTOMATA FINITO DE 0`s y 1`s  (Leído 4651 veces)

rigobertomm

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
CREAR UN AUTOMATA FINITO DE 0`s y 1`s
« en: Sábado 22 de Noviembre de 2008, 05:21 »
0
Hacer un programa en matlab para reconocer cadenas de ceros y unos, que empiecen siempre con un numero impar de ceros, seguidos de un numero par de unos y el final de la cadena puede terminar con cero o con uno.
Y despues de introducir la cadena que nos mande un mensaje de "cadena valida" o de lo contrario si no se cumple la condicion " cadena no valida"

UN EJEMPLO DE LAS CADENAS QUE PUEDE ACEPTAR EL PROGRAMA 0001101, 01110100, 00000110011
CADENA VALIDA: 0001101
CADENA VALIDA:011010100
CADENA NO VALIDA:101001
CADENA NO VALIDA:001101

Quicksilver

  • Miembro activo
  • **
  • Mensajes: 93
  • Nacionalidad: co
    • Ver Perfil
Re: CREAR UN AUTOMATA FINITO DE 0`s y 1`s
« Respuesta #1 en: Sábado 22 de Noviembre de 2008, 05:25 »
0
Yo creo, que si tu ingresas estas cadenas en un vector fila, podrías preguntar por el valor en la posición que tu desees, ya si no cumple los requerimientos que tu quieres, entonces no es una cadena de ceros y unos valida para ti, trataré mas o menos de ilustrarte con lo siguiente.

Ingresar cadena de unos
Si 0>=valor>=1 entonces, valor no valido
si valor[1,1]=0, cadena valida
si valor[1,2]=0, cadena valida
si valor[1,3]=1, cadena valida
...
fin


esto solo es una pequeña ilustración, pero lo podrias hacer así para cada una de las cadenas que posees, busca las caracteristicas sobresalientees de las cadenas que posees y pregunta por las diferentes posiciones en los vectores, estoy seguro que no es un programa muy complicado, ánimo y exitos en su ejecución.

Espero que si alguien conoce una forma mas rápida de hacerlo, nos ilustre como.

RIGO, POR CIERTO, NO DESESPERES, CREO QUE CON UN SOLO MENSAJE BASTA, TEN PACIENCIA, ALGUIEN SIEMPRE ESTARÁ DISPUESTO A COLABORARTE.

UN COORDIAL SALUDO PARA TI, Y ESPERAMOS QUE SIGAS POSTEANDO EN EL FORO
Everything that has a beginning has an end

rigobertomm

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: CREAR UN AUTOMATA FINITO DE 0`s y 1`s
« Respuesta #2 en: Sábado 22 de Noviembre de 2008, 06:22 »
0
Cita de: "rigobertomm"
Hacer un programa en matlab para reconocer cadenas de ceros y unos, que empiecen siempre con un numero impar de ceros, seguidos de un numero par de unos y el final de la cadena puede terminar con cero o con uno.
Y despues de introducir la cadena que nos mande un mensaje de "cadena valida" o de lo contrario si no se cumple la condicion " cadena no valida"

UN EJEMPLO DE LAS CADENAS QUE PUEDE ACEPTAR EL PROGRAMA 0001101, 01110100, 00000110011
CADENA VALIDA: 0001101
CADENA VALIDA:011010100
CADENA NO VALIDA:101001
CADENA NO VALIDA:001101

gracias Quicksilver por el pseudocodigo, pero lo que pasa que soy principiante en matlab y quisiera que me ayudaras con el codigo, ya que tu creo ke tienes mucha experiencia en base a la programacion y espero contar con tu ayuda.

Quicksilver

  • Miembro activo
  • **
  • Mensajes: 93
  • Nacionalidad: co
    • Ver Perfil
Re: CREAR UN AUTOMATA FINITO DE 0`s y 1`s
« Respuesta #3 en: Sábado 22 de Noviembre de 2008, 19:49 »
0
Te hago una pregunta, las cadenas de 0's y de 1's tienen un límite, o pueden ser de la longitud que yo desee
Everything that has a beginning has an end

rigobertomm

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: CREAR UN AUTOMATA FINITO DE 0`s y 1`s
« Respuesta #4 en: Domingo 23 de Noviembre de 2008, 04:35 »
0
Quicksilver las cadenas no tienen un limite, pero deben cumplir la condicion de llevar al inicio una cadena de ceros impares (0,000,00000,0000000...), seguidos de un numero par de unos(11,111,1111,11111....)una ves que se cumplan estas dos condiciones, al final de cada cadena pueden terminar con cualquier numero ya sean unos, ceros o unos y ceros. la longitud de las cadenas que acepte son del tamaño que sea, siempre y cunado cumplan con las condiciones del automata.
ejemplo
CADENA VALIDA: O11,   0111, 0110, 01100, 01101...00011, 000110, 000111, 0001100...00000110,00000111,0000011110, 0000011000...etc.
Se debe cumplir la condicio de las cadenas de ceros impares al principio, seguida de una cedena de unos pares y sin importar que siga despues, y pueden ser de la longuitud que uno desee, no tienen un limite.

Espero me haya explicado con esto Quicksilver.
 Agradesco tu ayuda.

Quicksilver

  • Miembro activo
  • **
  • Mensajes: 93
  • Nacionalidad: co
    • Ver Perfil
Re: CREAR UN AUTOMATA FINITO DE 0`s y 1`s
« Respuesta #5 en: Jueves 27 de Noviembre de 2008, 06:17 »
0
Si me ha quedado claro, bastante claro, pero yo hasta ahora, no he visto algoritmo de estados finitos, esto fue pues consultando que me di cuenta de esto, yo te he diseñado un pseudocódigo para que realices tu el trabajo, te he dicho mas o menos como lo debes de hacer, estoy dispuesto a colaborarte con le lenguaje de matlab, pero en cuanto a la lógica, esa es tu tarea, no puedo hacer nada por ella.

Sabes, creo que se puede hacer muy facil, si es vector fijo, estandar, me explico, si siempre es un vector de 7 posiciones, pero claro, esto no tendría lógica para el algoritmo que tu deseas hacer.

Un saludo, y espero poder ayudarte, sin embargo, como motivación seguiré investigando, trataré de hacerlo, pero no doy garantías debido a los trabajos que debo hacer.
Everything that has a beginning has an end

aleanaya

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: CREAR UN AUTOMATA FINITO DE 0`s y 1`s
« Respuesta #6 en: Viernes 28 de Noviembre de 2008, 09:39 »
0
Hola  rigobertomm,

    Como va el programa?     Yo necesito lo mismo.

saludos amigo!