Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Í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.

DFAq0q₀qi->q0q1q₁q0->q1λq1->q10q2q₂q1->q21q1->q2λq2->q0λq2->q20, 1, λ

A estrutura , com sendo especificada como no grafo abaixo, é um -AFN.

DFAq0q₀qi->q0q1q₁q0->q1λq1->q10q2q₂q1->q2λq2->q21

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: