Programação  
 
Conhecimento computador >> Programação >> Programação De Computador Idiomas >> 
Como diferenciar entre DFA & DNPA
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
.

Anterior :

Próximo : No
  Os artigos relacionados
·Como os programadores usam Classe Atributos e Métodos …
·Como Alter perfil padrão e limite Password_Verify_Func…
·Como escrever o nome de alguém em Pseudocódigo 
·Como Ler MATLAB 
·O que é o MS Hierarchial FlexGrid 
·UML Limitações 
·Como colocar um formulário para iFrame 
·Como plotar grandes Linhas em MATLAB 
·Ferramentas usadas para converter Algoritmos para Progr…
·O que é o Microsoft WPF 
  Artigos em destaque
·COBOL Tutorial 
·Como calcular o Total de minutos em SQL 
·Como inverter uma lista ligada simples 
·Diferença entre Unallocated e Espaço Livre 
·Como criar uma lista de distribuição compartilhado no…
·Como escrever um aplicativo multi-threaded em MFC 
·Como compilar um C + + Com CMD & CL 
·Como usar Arrays fazer Matrizes em C + + 
·Como imprimir valores ENUM em C 
·Como formatar a data a partir DateChooser in Flash 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados