Prova do algoritmo de Brzozowski para minimização do DFA?


7

O algoritmo de Brzozowki é amplamente citado. Várias perguntas aqui dão exemplos ou discutem sua complexidade. Mas não consegui encontrar uma prova de correção para o algoritmo. Como provamos que está correto? Qualquer prova acessível aos estudantes de ciências da computação seria muito bem-vinda.


3
Prove isso? Eu não posso nem soletrar.
David Richerby

Respostas:


9

A prova do resultado de Brzozowski é técnica, mas não muito complicada. De fato, temos apenas que considerar uma sequência de determinação de reversão, para obter o resultado mínimo que desejamos. (A primeira sequência de determinação de reversão leva a um FSA determinístico para a reversão do idioma original; a prova de minoria é para a segunda determinação de reversão.)

Primeiro, é preciso ter uma boa visão dos diferentes autômatos envolvidos. E nervos de aço.

A construção de Brzozowski. Seja um autômato determinístico para a linguagem . Assumimos que todos os estados de são alcançáveis ​​a partir do estado inicial .A=(Q,Σ,δ,q0,F)L=L(A)Qq0

No primeiro passo, inverte-se o autômato: todas as arestas são invertidas e os estados inicial e final são trocados. Informalmente, obtemos o autômato .rev(A)=(Q,Σ,δ1,F,q0)

Na segunda etapa, determina-se o autômato assim obtido, pela construção padrão, mas mantendo apenas estados alcançáveis. Obtemos . Os estados de são conjuntos de estados para : ; o estado inicial consiste nos estados iniciais de , que são estados finais em : ; os estados finais em são os estados que contêm um estado final para : sse .A=det(rev(A))=(Q,Σ,δ,q0,F)Arev(A)Q2Qrev(A)Qq0=FArev(A)UFq0U

A chave da prova é a seguinte relação importante entre os autômatos e .AA

insira a descrição da imagem aqui

Observação básica: sse .qδ(X,wR)δ(q,w)X

Prova (apenas um lado). sse existe um estado em e um caminho de para em com a etiqueta . Mas isso significa que existe um caminho de para com o rótulo em ou ; assim . fim de prova.qδ(X,wR)pXpqrev(A)wRqpwAδ(q,w)=pδ(q,w)X

Conforme anunciado, isso é usado para provar a propriedade essencial de que precisamos.

Propriedade: é mínimo (e determinístico para ).ALR

Prova. Sejam e dois estados em que não podem ser distinguidos. Isso significa que, para qualquer string , temos iff . Mostramos que agora e são iguais.UVAwRδ(U,wR)Fδ(V,wR)FUV

Pela construção de , podemos reformular a indistinguibilidade como iff .Fδ(U,wR)q0δ(V,wR)q0

Aplique a observação de base, e nós temos sse .δ(q0,w)Uδ(q0,w)V

A partir dessa igualdade, segue, como todos os estados em são assumidos como alcançáveis, portanto, para qualquer estado em ou há uma cadeia tal que . fim de prova.U=VQpUVwp=δ(q0,w)

Mas mesmo depois de provar, o resultado ainda é uma mágica real!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.