Inicio / Calculadoras / Simulador de máquina de estados finitos (FSM) en línea
Herramientas online gratis

Simulador de máquina de estados finitos (FSM) en línea

Simula una máquina de estados finitos determinista: define reglas, estado inicial y cadena de entrada. Obtén la ruta de estados y el estado final al instante…

Empezar a usar

Simulación determinista con verificación de reglas

El simulador comprueba que cada regla tenga exactamente tres campos separados por comas: estado actual, símbolo de entrada y estado siguiente. Los nombres de estado no pueden estar vacíos y deben tener como máximo 50 caracteres. Cada símbolo de entrada es un único punto de código Unicode. Se permiten entre 1 y 200 reglas.

No se permiten transiciones duplicadas para el mismo par estado-símbolo; si introduces una regla repetida, el simulador la rechaza en lugar de sobrescribir la anterior. El estado inicial es obligatorio y también está limitado a 50 caracteres.

Ejemplo práctico

Supón que quieres simular una máquina que reconoce cadenas que terminan en '1'. Usa estas reglas:

q0,0,q0
q0,1,q1
q1,0,q0
q1,1,q1

Con estado inicial q0 y la entrada 1011, la ruta de estados visitados es:

q0 -> q1 -> q0 -> q1 -> q1

El estado final es q1. Si la entrada fuera 100, la ruta sería q0 -> q1 -> q0 -> q0 y el estado final q0.

Procesamiento y limitaciones

La cadena de entrada se procesa de izquierda a derecha, un punto de código Unicode a la vez. La longitud máxima de la cadena es de 10000 unidades de código UTF-16. La simulación se realiza completamente en el navegador; no se envían datos a ningún servidor.

Esta herramienta no incluye estados de aceptación, transiciones épsilon, ramas no deterministas, conversión a expresiones regulares, minimización ni diagramas. Solo simula las transiciones deterministas que definas; no decide si una cadena es aceptada o rechazada.

Preguntas frecuentes

¿Qué ocurre si una regla tiene más de una coma?

Las comas son separadores estructurales y no pueden aparecer dentro de nombres de estado ni de símbolos. Si una línea tiene más de dos comas, se considera una regla no válida y el simulador la rechazará.

¿Puedo usar símbolos que no sean caracteres ASCII?

Sí, cada símbolo de entrada puede ser cualquier punto de código Unicode, como letras acentuadas o caracteres de otros alfabetos. Por ejemplo, puedes usar á como símbolo. Ten en cuenta que la cadena de entrada se procesa por punto de código, no por unidad UTF-16.

¿Qué significa el error de transición faltante?

Si durante la simulación se encuentra un par (estado actual, símbolo) que no tiene una regla definida, el proceso se detiene y se muestra un mensaje de error indicando la posición del carácter donde ocurrió. Esto te ayuda a depurar tu tabla de transiciones.

Lista de verificación para usar el simulador

  • Verifica que cada regla tenga exactamente tres campos separados por comas.
  • Asegúrate de que no haya reglas duplicadas para el mismo estado y símbolo.
  • Comprueba que el estado inicial esté definido y sea uno de los estados de tus reglas.
  • Para entradas largas, prueba primero con una secuencia corta y compara cada transición con la tabla.
  • Recuerda que la salida muestra la ruta completa de estados visitados y el estado final.

El procesamiento se realiza localmente en tu navegador.