Uma máquina de estado finito é um modelo matemático de computação que pode ser usado para projetar tanto programas de computador quanto circuitos lógicos digitais. É concebida como uma máquina abstrata que pode estar em um dos estados finitos. A máquina está em apenas um estado de cada vez; ela pode mudar de um estado para outro quando acionada por alguma entrada. Uma característica importante de uma máquina de estados finitos é que ela sempre voltará ao seu estado original quando não receber nenhuma entrada. Que modelagem é usada na codificação do FSM? Existem alguns tipos diferentes de modelagem que podem ser usados na codificação FSM. O tipo mais comum é a máquina de estado, que pode ser usada para modelar tanto sistemas sequenciais como simultâneos. Outros tipos de modelagem incluem diagramas de fluxo de dados e redes de petri. Quem inventou a máquina de estado finito? A primeira máquina de estado finito conhecida foi criada por Al-Kindi, um filósofo árabe do século IX e polimata. Ele usou a máquina para realizar cálculos simples. A máquina consistia em dois discos de papel, cada um com 10 buracos perfurados. Os furos representavam os dígitos 0-9. Os discos eram girados por um cabo, e o usuário podia ler o número exibido pelos furos.
Como se cria uma máquina de estado finito?
Uma máquina de estado finito é um modelo matemático de computação utilizado para desenhar tanto programas de computador como circuitos lógicos sequenciais. É concebida como uma máquina abstrata que pode estar em um dos estados finitos. A máquina está em apenas um estado de cada vez; o estado em que se encontra num determinado momento é chamado de estado actual. Ela pode mudar de um estado para outro quando iniciada por um evento ou condição acionadora; isto é chamado de transição. Um exemplo de uma máquina de estado simples é um torniquete.
Uma máquina de estados finitos é definida por uma lista de seus estados, seu estado inicial, e as entradas e saídas de cada estado. O comportamento de uma máquina de estados finitos pode ser descrito por uma tabela de transição de estados que mostra, para cada estado, o que a máquina faz a seguir (isto é, sua saída e o próximo estado) para cada entrada possível.
Como o FSM é implementado?
A implementação básica de uma máquina de estado finito (FSM) é usar uma tabela de pesquisa, com o estado atual e a entrada como índices na tabela. A tabela contém o próximo estado para o FSM.
Por exemplo, considere um FSM simples com dois estados (A e B) e duas entradas (0 e 1). A tabela se pareceria com isto:
Estado | Entrada | Estado seguinte
A | 0 | A
A | 1 | B
B | 0 | B
B | 1 | A
Para um FSM mais complexo, a tabela pode tornar-se bastante grande. Neste caso, muitas vezes é mais eficiente usar uma função de transição de estado. Esta função toma o estado atual e a entrada como argumentos e retorna o próximo estado.
A vantagem de usar uma função de transição de estado é que ela pode ser facilmente implementada em hardware, pois requer apenas alguns portões lógicos. A desvantagem é que pode ser mais difícil de projetar e depurar, já que a função de transição de estado pode ser bastante complexa. O que é o FSM lista seus dois tipos básicos? FSM significa Finite State Machine (Máquina de Estado Finito). Existem dois tipos básicos de FSM: determinista e não determinista. Os FSM determinísticos têm um estado seguinte único para cada combinação de estado atual e símbolo de entrada, enquanto os FSM não determinísticos podem ter múltiplos estados seguintes para uma dada combinação de estado atual e símbolo de entrada.