Autómatos finitos
Estados com significado, função de transição, construção de DFA e provas de correção.
DFA e aceitação
Um DFA é com total: um destino por cada par estado/símbolo. Num DFA, um desenho incompleto abrevia um poço para as transições omitidas.
- O DFA aceita quando, depois de consumir toda a entrada, o estado atual é final. Passar por um final antes do fim não basta.
- A palavra vazia é aceite se e só se o início pertence a .
Estados com significado
Para palavras terminadas em , guarda o sufixo útil do prefixo:
| Estado | Significado | ||
|---|---|---|---|
| , inicial | Sem sufixo útil | ||
| Termina em | |||
| , final | Termina em |
segue e aceita. passa por mas termina em e rejeita.
A regra de recuperação pergunta, perante o estado e a letra , qual é o sufixo útil do prefixo maior. Prova por indução nos prefixos que cada estado conserva o seu significado; só então o critério final equivale à condição nas duas direções.
Transição estendida
se e só se . Podes dividir a leitura em qualquer posição: .
Restos e produto
- Para um binário lido do bit mais significativo para o menos: ler o bit quando o valor acumulado é dá . Para múltiplos do divisor , guarda o resto e atualiza por ; o resto zero é final.
- Decide e zeros iniciais à parte: usa um início novo não final e um poço para o primeiro quando a representação tem de começar em .
- No sentido inverso, do menos para o mais significativo, guarda o resto e o peso da posição seguinte, com desde , onde é o divisor.
- O produto usa estados-pares com ambas as componentes atualizadas por cada letra. Os finais dependem da operação: a interseção exige ambas as componentes finais e a união exige pelo menos uma componente final.