determinística e não determinística Finite Automata dois tipos de "máquinas" conceituais concebidos para verificar se uma determinada cadeia de símbolos obedece certas regras - se é aceitável como uma mensagem em algum idioma ou código . O autômato lê um único símbolo de cada vez, e sempre existe em um determinado " estado". Cada estado um autômato pode ser em tem um conjunto de regras para reagir ao próximo símbolo a ser lido - pode mudar para outro estado particular, ou permanecer a mesma . Se, depois de uma seqüência inteira foi lido, o autômato entrou um de um conjunto de estados finais aceitáveis " , " a string é gramaticalmente aceitável dentro da linguagem do autômato está testando para . Instruções
1
Examine as regras do autômatos . Estes incluem: todos os possíveis estados do autômatos, o conjunto de estados finais e os efeitos de cada símbolo possível em cada estado
2
Verifique para ver se algum dos estados do autômatos têm múltiplas reações possíveis para . um símbolo específico . Se qualquer um faz, o autômato é não- determinístico - um DNPA . Por exemplo, se o estado inicial do autômato pode reagir com o símbolo "A" ou movendo-se para um segundo estado ou permanecendo o mesmo , é uma DNPA . Um DNPA retorna um resultado positivo, se há alguma maneira de chegar a um estado final usando uma determinada cadeia .
3
Tenha em mente que um DFA existe para cada DNPA . Porque um DNPA retornando um resultado positivo para uma seqüência específica deve ter pelo menos um caminho de sucesso com ele para essa seqüência , deve ser necessariamente um DFA correspondente que vai aceitar essa string , contendo apenas as regras para o caminho único que foi usado. Aqui está um exemplo muito simples: Suponha que você tenha um DNPA com um estado final chamado S1, cujo estado inicial S0 responde ao símbolo "A" seja alterando a S1 ou permanecendo em S0. Esta máquina aceitaria uma string que consiste simplesmente de "A", porque não há um caminho possível para S1 , e há um DFA correspondente em que "A" sempre muda S1 para S0 , dispensando o caminho não utilizado
.