Autômatos finitos não determinísticos

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Merge-arrow 2.svg
Este artigo ou secção deverá ser fundido com Máquina de estados finitos não determinística.
Editor, considere adicionar mês e ano na marcação. Isso pode ser feito automaticamente, substituindo esta predefinição por {{subst:f-com|Máquina de estados finitos não determinística}}.
Se discorda, discuta sobre a fusão na página de discussão daquele artigo.

Embora na prática seja inviável a implementação de autômatos finitos não determinísticos (AFN), esses possuem algumas vantagens sobre os autômatos puramente determinísticos, sobretudo quanto à facilidade de representação em diagramas (ver grafo). Na tentativa de obtenção de um autômato finito para reconhecer certa linguagem regular L\,\!, é mais natural, em muitos casos, pensar-se primeiramente em representações não determinísticas. Assim, dado que um AFND é uma generalização de um autômato finito determinístico (AFD), é sempre possível encontrar um AFD equivalente que reconheça L\,\! a partir de um dado AFND (possivelmente através de um algoritmo de construção de subconjuntos), o que torna a implementação viável.

Índice

[editar] Descrição Básica

Autômatos finitos não determinísticos diferem dos Autômatos finitos determinísticos quanto à regra de transição entre estados. Dada uma combinação de um estado atual e um símbolo de entrada, pode não haver estados especificados para os quais o estado atual deve conduzir o processamento, bem como pode haver vários estados resultantes da leitura do símbolo. Portanto, para uma função de transição δ definida em Q \times \Sigma \,\!, o seu valor não deve ser um elemento de Q (como acontece com os autômatos determinísticos), mas um subconjunto de Q (incluindo o conjunto vazio). Ou seja, o processamento de \delta(q, a)\,\! leva a um conjunto de estados em que a máquina pode legalmente se encontrar após estar em um estado q lendo um símbolo de entrada a. Assim, podemos definir um autômato finito não determinístico matematicamente como se segue.

[editar] Definição Formal

Um autômato finito não determinístico é uma quíntupla M = (Q, \Sigma, \delta, q_0, F)\,\! onde Q e Σ são conjuntos não-vazios, q_0 \in Q,  F \subseteq Q e

\delta:Q \times \Sigma \rightarrow 2^Q

Q é o conjunto de estados, Σ é o alfabeto, q0 é o estado inicial, F é o conjunto de estados válidos (ou de aceitação) e 2Q significa o conjunto das partes de Q.

[editar] Referências

Martin, John C. - Introduction to languages and the theory of computation (2ª Edição)

John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman – Introdução à Teoria de Autômatos, Linguagens e Computação (2ª Edição).

[editar] Softwares

  • Simulador de Autômatos - Software para criação, teste e conversão de Modelos Formais. Com interface gráfica.
  • SCTMF - Software para Criação e Teste de Modelos Formais.
  • JFlap - Software americano para testes com interface gráfica.


[editar] Conceitos relacionados

Ferramentas pessoais
Espaços nominais
Variantes
Ações
Navegação
Colaboração
Imprimir/exportar
Ferramentas