Estou fazendo uma apresentação sobre as máquinas de Turing e queria dar uma base sobre os FSMs antes de apresentar as máquinas de Turing. O problema é que eu realmente não sei o que é MUITO diferente um do outro.
Aqui está o que eu sei que é diferente:
O FSM possui estados seqüenciais, dependendo da condição correspondente atendida, enquanto as máquinas de Turing operam em uma "fita" infinita com um cabeçote que lê e grava.
Há mais espaço para erro nos FSMs, pois podemos cair facilmente em um estado sem fim, enquanto não é tanto para as máquinas de Turing, pois podemos voltar e mudar as coisas.
Mas, além disso, não conheço muito mais diferenças que tornam as máquinas Turing melhores que as FSM.
Você pode por favor me ajudar?
terminology
turing-machines
finite-automata
machine-models
Julio Garcia
fonte
fonte
Respostas:
A principal distinção entre como os DFAs (Deterministic Finite Automaton) e as TMs funcionam é em termos de como eles usam a memória.
Intuitivamente, os DFAs não têm memória "zero"; a configuração de um DFA é totalmente explicada pelo estado em que se encontra atualmente e seu progresso atual na leitura da entrada.
Intuitivamente, as TMs têm uma memória "zero" na forma de fita; a configuração de uma TM consiste em seu estado atual e no conteúdo atual da fita, que a TM pode alterar à medida que é executada.
Um DFA pode ser considerado uma TM que não altera nenhum símbolo da fita nem move a cabeça para a esquerda. Essas restrições tornam impossível o reconhecimento de determinados idiomas que podem ser aceitos pelas TMs.
Observe que eu uso o termo "DFA" em vez de "FSM", pois, tecnicamente, consideraria uma TM uma máquina de estado finito, pois, por definição, as TMs têm um número finito de estados. A diferença entre DFAs e TMs está no número de configurações, que é igual ao número de estados para um DFA, mas é infinitamente grande para uma TM.
fonte
As máquinas de Turing descrevem uma classe muito maior de idiomas, a classe de idiomas recursivamente enumeráveis. Máquinas de estados finitos descrevem a classe de linguagens regulares.
Máquinas de estados finitos não têm "memória", são limitadas por seus estados.
Uma máquina de estado finito é uma máquina de Turing restrita, na qual o cabeçote só pode executar operações de "leitura" e sempre se move da esquerda para a direita.
Tome este idioma como um exemplo:
Como as máquinas de estados finitos são limitadas no sentido de que não têm memória, um FSM que aceita L não pode ser construído.
Para resumir:
Máquinas de estado finito descrevem uma pequena classe de linguagens em que nenhuma memória é necessária.
Máquinas de Turing são a descrição matemática de um computador e aceitam uma classe de linguagens muito maior do que os FSMs.
As máquinas de Turing têm mais poder computacional que o FSM. Existem tarefas que nenhum FSM pode executar, mas que a Turing Machines pode executar.
fonte
Eu tinha a mesma dúvida e vi dois vídeos muito esclarecedores e uma explicação sobre o Quora da seguinte forma:
Entendi que uma máquina de turing usa / possui uma máquina de estado finito como parte de seu procedimento operacional, além de adicionar alguma memória editável a ela.
Por favor, assista também esses dois vídeos, eles são esclarecedores!
https://youtu.be/gJQTFhkhwPA
https://youtu.be/E3keLeMwfHY
fonte
Tanto quanto eu entendo as diferenças entre (modelo padrão) Turing e (modelo padrão) Mealy Machines:
fonte
Uma máquina de Turing pode armazenar, como parte da fita, coisas que deseja lembrar.
fonte