Índice da seção
-Autômatos Finitos Não-determinísticos
Os -Autômatos Finitos Não-determinísticos (podendo também ser chamados de Autômatos Finitos Não-determinísticos com Movimentos Vazios) são como uma generalização do modelo de AFN. Entretanto, diferentes dos AFNs, o modelo -AFN nos permite ter transições entre estados diferentes usando (ou consumindo) a palavra vazia, as chamadas -transições.
Um -Autômato Finito Não-determinístico (-AFN) é uma estrutura onde:
- é um conjunto não-vazio e finito de estados internos.
- é um alfabeto de entrada.
- é uma função total de transição.
- é o estado inicial.
- é o conjunto de estados finais ou de aceitação.
Convencionalmente chamamos de -Função de Transição Não-determinística.
A estrutura , com sendo especificada como no grafo abaixo, é um -AFN.
A estrutura , com sendo especificada como no grafo abaixo, é um -AFN.
Uma interpretação para as transições da forma é que a unidade de controle do autômato consegue mudar do seu estado atual interno para um subconjunto de estados sem necessidade de acessar a memória do autômato.
Computação em -Autômatos Finitos Não-determinísticos
Note que a definição da função de transição somente nos garante que as transições ocorrem apenas em duas situações, a primeira em relação a leitura de símbolos individuais de e a segunda em relação a palavra vazia, isto é, ainda não há uma forma de computar uma palavra , com . A saída para contornar essa situação é similar ao que é feito para os AFDs e AFNs, isto é, precisaremos estender a função de transição do autômato.
Entretanto, nas definições anteriores, não fazia parte do alfabeto de entrada, e por isso era possível utilizá-la para definir recursivamente as funções estendidas. No entanto, como agora precisamos incluir explicitamente no processo, será necessário adotar um novo método para a definição das funções estendidas. Para isso serão necessárias mais alguns definições, como segue:
Seja um -AFN. A função é definida como onde e
Considere o -AFN do Exemplo 02. Tem-se para o estado que sabe-se que, Desenvolvendo , tem-se que mas, Assim, Substituindo na segunda igualdade, temos que
Com esta definição, podemos então capturar todos os estados que podem ser alcançados a partir de um dado estado por meio de transições , incluindo transições indiretas, prevenindo a perda de estados acessíveis não diretamente conectados.
Mas, note que a definição acima só é aplicável para estados individuais. Como no não-determinísmo podemos estar simultaneamento em múltiplos estados, precisamos que essa função seja aplicável em um conjunto deles. Vejamos formalmente como segue...
Seja um -AFN. A função é definida como
Considere o -AFN do Exemplo 01, tem-se para o conjunto que,
E por fim, definidos e , podemos estender nossa função de transição.
Seja um -AFN. A -Função de Transição Não-determinística Estendida é definida recursivamente como: