Autômato completo
Na definição básica de autômato finito, não é necessário que de todos os estados exista uma transição para todos os símbolos. O autômato completo é um autômato que tem transições definidas de todos os estados para todos os símbolos do alfabeto de entrada.
Como construir um autômato completo
Considere este autômato A = ⟨Q, Σ, δ, q0, F⟩:
Aqui não está desenhada a transição do estado q0 para a letra “b”. Se uma situação dessas ocorrer, dizemos que o autômato não aceita a palavra de entrada em questão. No entanto, do ponto de vista da formalização, pode não ser conveniente que a função de transição δ não esteja definida para alguns valores; aqui, por exemplo, ela não está definida para δ(q0, b).
Isso se resolve com facilidade construindo um autômato equivalente com um estado a mais — para esse estado apontarão as transições “que faltam”, ele não será final e terá laços para todas as entradas seguintes. Chamamos esse autômato de autômato completo. O autômato equivalente modificado poderia ficar assim:
Acrescentamos o estado qfail. Dos outros estados levamos uma transição até ele se, e somente se, antes não existia transição ali. Esse estado não é final e tem laços para todas as entradas seguintes. Onde, no autômato anterior, esbarraríamos em uma transição que faltava, aqui não falta nenhuma transição, e o autômato vai parar no estado qfail.
Sempre podemos, portanto, sem perda de generalidade, supor que o autômato tem transições definidas para todas as combinações de estados e caracteres do alfabeto.
Definição
Para um autômato completo A = ⟨Q, Σ, δ, q0, F⟩ vale, portanto, que
Fontes
Capítulos: Autômato finito, Autômato completo, Autômato finito não determinístico, Simulação de um autômato não determinístico, Conversão de AFN em AFD