Estoy haciendo una presentación sobre las máquinas Turing y quería dar algunos antecedentes sobre los FSM antes de presentar las máquinas Turing. El problema es que realmente no sé qué es MUY diferente el uno del otro.
Esto es lo que sé que es diferente:
FSM tiene estados secuenciales dependiendo de la condición correspondiente cumplida, mientras que las máquinas Turing operan en una "Cinta" infinita con un cabezal que lee y escribe.
Hay más margen de error en los FSM ya que podemos caer fácilmente en un estado sin fin, mientras que no es tanto para las máquinas Turing ya que podemos retroceder y cambiar las cosas.
Pero aparte de eso, no conozco muchas más diferencias que hacen que las máquinas de Turing sean mejores que las de FSM.
¿Podrías ayudarme?
fuente
Respuestas:
La principal distinción entre cómo funcionan los DFA (Deterministic Finite Automaton) y los TM es en términos de cómo usan la memoria.
Intuitivamente, los DFA no tienen memoria "scratch" en absoluto; la configuración de un DFA se explica completamente por el estado en el que se encuentra actualmente y su progreso actual en la lectura de la entrada.
Intuitivamente, los TM tienen una memoria "scratch" en forma de cinta; La configuración de una TM consiste tanto en su estado actual como en el contenido actual de la cinta, que la TM puede cambiar a medida que se ejecuta.
Un DFA puede considerarse como un TM que no cambia ningún símbolo de cinta ni mueve la cabeza hacia la izquierda. Estas restricciones hacen imposible reconocer ciertos idiomas que pueden ser aceptados por TM.
Tenga en cuenta que uso el término "DFA" en lugar de "FSM", ya que, técnicamente, consideraría que una TM es una máquina de estados finitos, ya que las TM por definición tienen un número finito de estados. La diferencia entre DFA y TM está en el número de configuraciones, que es igual al número de estados para un DFA, pero es infinitamente grande para un TM.
fuente
Las máquinas de Turing describen una clase de idiomas mucho más amplia, la clase de lenguajes recursivamente enumerables. Las máquinas de estados finitos describen la clase de lenguajes regulares.
Las máquinas de estados finitos no tienen "memoria", está limitada por sus estados.
Una máquina de estado finito es una máquina de Turing restringida donde la cabeza solo puede realizar operaciones de "lectura" y siempre se mueve de izquierda a derecha.
Tome este lenguaje como ejemplo:
Debido a que las máquinas de estados finitos son limitadas en el sentido de que no tienen memoria, no se puede construir un FSM que acepte L.
Para resumir:
Las máquinas de estados finitos describen una pequeña clase de lenguajes donde no se necesita memoria.
Las máquinas de Turing son la descripción matemática de una computadora y aceptan una clase de lenguajes mucho más amplia que los FSM.
Las máquinas de Turing tienen más poder computacional que FSM. Hay tareas que ningún FSM puede hacer, pero que Turing Machines puede hacer.
fuente
Tenía la misma duda y vi dos videos muy esclarecedores y una explicación sobre Quora de la siguiente manera:
He entendido que una máquina de Turing usa / tiene una máquina de estado finito como parte de su procedimiento operativo, además de agregarle memoria editable.
¡Mire también esos dos videos, están iluminando!
https://youtu.be/gJQTFhkhwPA
https://youtu.be/E3keLeMwfHY
fuente
Hasta donde yo entiendo las diferencias entre (modelo estándar) Turing y (modelo estándar) Mealy Machines:
fuente
Una máquina de Turing puede almacenar, como parte de la cinta, cosas que desea recordar.
fuente