Para converter uma ER R para um AFN N, devemos considerar 6 casos, sendo os três primeiros casos considerados casos-base e os três últimos casos "recursivos":
Se R = A U B, e A e B são expressões regulares, construa o seguinte AFN N para reconhecer L(R), a partir dos AFNs J e K para A e B, respectivamente:
Sejam
Se R = A o B(concetenação entre A e B), e A e B são expressões regulares, construa o seguinte AFN N para reconhecer L(R), a partir dos AFNs J e K para A e B, respectivamente:
Sejam
Seja o AFN e o AFD .
Para convertermos o AFN N para o AFD D, temos quatro casos mais simples, onde setas não são levadas em consideração:
Todo estado de D é um conjunto de estados de N, sendo P(Q) o conjunto de subconjuntos de Q.
Ou seja, é a união dos conjuntos para todo r pertencente a R.
D começa no estado correspondente à coleção contendo somente o estado inicial de N.
F' = {R Q' | R contém um estado de aceitação de N}
A máquina D aceita se um dos possíveis estados nos quais N poderia estar nesse ponto é um estado de aceitação.
Para considerar as setas , é preciso fixar um pouco mais de notação. Para qualquer estado R de D, definimos E(R) como a coleção de estados que podem ser atingidos a partir de R indo somente ao longo de setas , incluindo os próprios membros de R. Formalmente, para R Q seja E(R) = {q | q pode ser atingido a partir de R viajando-se ao longo de 0 ou mais setas }.
Então modificamos a função de transição de D para colocar dedos adicionais sobre todos os estados que podem ser atingidos indo ao longo de setas após cada passo. Substituindo por dá esse efeito. Consequentemente, = {q Q | ) para algum r R}.
Adicionalmente, precisamos modificar o estado inicial de D para mover os dedos inicialmente para todos os estados possíveis que podem ser atingidos a partir do estado inicial de N ao longo das setas . Mundando para dá esse efeito. Agora completamos a construção do AFD D que simula o AFN N.
Sipser, Michael (1997). Introduction to the Theory of Computation. Boston: PWS. ISBN0-534-94728-X. Section 1.1: Finite Automata, pp. 31–47. Subsection "Decidable Problems Concerning Regular Languages" of section 4.1: Decidable Languages, pp. 152–155.4.4 DFA can accept only regular language