Teorema de McNaughton

Em teoria dos autômatos, o teorema de McNaughton refere-se a um teorema que afirma que o conjunto de linguagens ω-regulares é idêntico ao conjunto de linguagens reconhecíveis por autômatos de Muller determinísticos.[1] Este teorema é provado através do fornecimento de um algoritmo para construir um autômato de Muller determinístico para qualquer linguagem ω-regular e vice-versa.

Este teorema tem muitas consequências importantes. Tendo em vista que autômatos de Büchi e linguagens ω-regulares, são expressivos igualmente, o teorema implica que autômatos de Büchi e autômatos de Muller determinísticos também são expressivos igualmente. Visto que a complementação de autômatos de Muller determinísticos é trivial, o teorema implica que autômatos de Büchi/linguagens ω-regulares são fechados sob complementação.

Declaração original editar

No artigo original de McNaughton, o teorema foi apresentado como:

"Um evento-ω é regular se e somente se tem estados finitos."

Na terminologia moderna,eventos-ω são comumente referidos como linguagens-ω. Seguindo a definição de McNaughton, um evento-ω é um evento de estados finitos se existe um autômato de Muller determinístico que o reconheça.

Construindo uma linguagem ω-regular a partir de uma autômato de Muller determinístico editar

Uma direção do teorema pode ser provada, mostrando que qualquer autômato de Muller reconhece uma linguagem ω-regular.

Suponha que A = (Q,Σ,δ,q0,F) é um autômato de Muller determinístico. A união de um número finito de linguagens ω-regulares produz uma linguagem ω-regular, portanto, pode-se assumir sem perda de generalidade que a condição aceitação F do autômato de Muller contém exatamente um conjunto de estados {q1, ... ,qn}. Sendo α a linguagem regular em que seus elementos levarão A de q0 para q1. Para 1≤i≤n, seja βi uma linguagem regular cujos elementos levam A de qi para q(i mod n)+1 sem passar por nenhum estado fora de {q1, ... ,qn}. Alega-se que α(β1 ... βn)ω é a linguagem ω-regular reconhecida pelo autômato de Muller A. Está provado como segue.

Suponha que w é uma palavra aceita por A. Seja ρ a execução que levou a aceitação de w. Num instante de tempo t, considere que ρ(t) é um estado visitado por ρ num instante t. Nós criamos uma sequência infinita e estritamente crescente de instantes t1, t2, ... em que para cada a e b, ρ(tna+b) = qb. Tal sequência existe porque todos os estados {q1, ... ,qn} aparecem em ρ infinitas vezes. Através das definições anteriores de α e ß's, pode ser facilmente mostrado que a existência de uma tal sequência implica que w é um elemento de α(β1 ... βn)ω.


Suponha que w ∈ α(β1 ... βn)ω. Pela definição de α, existe um segmento inicial de w que é um elemento de α e conduz A ao estado q1. A partir daí, a execução nunca assume um estado fora de {q1, ... ,qn}, devido às definições dos ß's, e todos os estados no conjunto são infinitamente repetidos. Portanto, A aceita a palavra w.

Construindo um autômato de Muller determinístico a partir de uma dada linguagem ω-regular editar

A outra direção do teorema pode ser provada, mostrando que existe um autômato de Muller que reconhece uma determinada linguagem ω-regular.

A união de um número finito de autômatos de Muller determinísticos pode ser facilmente construída, portanto, sem perda de generalidade, vamos assumir que a linguagem ω-regular dada é da forma αβω. Vamos supor a palavra-ω w=a1,a2,... ∈ αβω. Seja w(i,j) o segmento finito ai+1,...,aj-1,aj de w. Para a construção de um autômato de Muller para αβω, apresentamos os dois conceitos seguintes com relação a w.

Favor
Um momento j favorece um momento i se j > i, w(0,i) ∈ αβ*, e w(i,j) ∈ β*.
Equivalência
E(i,j,k), ou i é equivalente a j como julgado no momento k se i,j ≤ k, w(0,i) ∈ αβ*,w(0,j) ∈ αβ*, e para cada palavra x Σ*, w(i,k)x ∈ β* sse w(j,k)x ∈ β*. É fácil notar que se E(i,j,k) então para todo k < l, E(i,j,l). Em outras palavras, se i e j são considerados equivalentes, então eles continuarão equivalentes posteriormente. E também para o mesmo l, l favorece i sse l favorece j. Seja E(i,j) se existe um k tal que E(i,j,k).

Seja p o número de estados do menor autômato finito determinístico Aβ* para reconhecer a linguagem ß*. Agora vamos provar dois lemas sobre os dois conceitos acima.

Lema 1
Para qualquer momento k, entre os momentos i, j < k tal que w (0, i) e w(0,j) ∈ αβ*, o número de classes de equivalência induzidas por E(i,j,k) é delimitada por p. O número de classes de equivalência induzidas por E(i,j) também é delimitada por p.
Prova:O autômato finito Aß* é mínimo, portanto, não contêm estados equivalentes. Seja i e j be tal que w(0,i) e w(0,j) ∈ αβ* e E(i,j,k). Então, as palavras w(i,k) e w(j,k) terão que levar Aß* para o mesmo estado, iniciando a partir do estado inicial. Portanto, primeira parte do lema é verdadeira. A segunda parte é provada por contradição. Vamos supor que existem p+1 momentos i1,...,ip+1 de tal forma que não existem dois deles que são equivalentes. Para l > max(i1,...,ip+1), teríamos, para cada m e n, não-E(im,in,l). Portanto, existiriam p+1 classes de equivalência, como julgado em l, contradizendo a primeira parte do lema.
Lema 2
w ∈ αβω sse existe um momento i tal qual existe um número infinito de momentos equivalentes a i e favorecendo i.
Prova: Vamos supor que w ∈ αβω, então existe uma sequência estritamente crescente de momentos i0,i1,i2,... em que w(0,i0) ∈ α e w(in,in+1) ∈ β. Então, para todo n > m, w(im,in) ∈ β* e in favorece im. Então, todos os i's são membros de uma das finitas classes de equivalência (mostradas no Lema 1). Assim, deve haver um subconjunto infinito de todos os i's que pertencem a mesma classe. O menor membro deste subconjunto satisfaz o lado direito deste lema.
Por outro lado, suponha que em w, há um número infinito de momentos que são equivalentes a i e favorecem i. A partir desses momentos, nós vamos construir uma sequência estritamente crescente e infinita de momentos i0,i1,i2, em que w(0,i0) ∈ αβ* e w(in,in+1) ∈ β*. Logo, w estaria em αβω. Essa sequência é definida por indução:
Caso Base: w(0,i) ∈ αβ* porque i está em uma classe de equivalência. Então, montamos i0=i. Nós montamos i1 de forma que i1 favoreça i0 e E(i0,i1). Então w(i0,i1) ∈ β*.
Passo indutivo: Vamos supor E(i0,in). Então, existe um momento i' em que E(i0,in,i'). Nós montamos in+1 de forma que in+1 > i', in+1 favoreça i0, e E(i0,in+1). Então, w(i0,in+1) ∈ β* e, visto que in+1 > i' nós temos por definição de E(i0,in,i'), w(in,in+1) ∈ β*.

Construção do autômato de Muller editar

Usamos os conceitos de "favor" e "equivalência no lema 2. Agora, nós usaremos o lema para a construção de um autômato de Muller para a linguagem αβω. O autômato proposto aceitará uma palavra sse exista um momento i que satisfará o lado direito do lema 2. A máquina abaixo é descrita informalmente. Note que essa máquina será um autômato de Muller determinístico.

A máquina contém p+2 autômatos finitos determinísticos e um controlador mestre, onde p é o tamanho de αβω. Uma das p+2 máquinas pode reconhecer aß* e esta máquina recebe uma entrada a cada ciclo. E, ela comunica em qualquer momento i para o controlador mestre se w(0,i) ∈ αβ*. O resto das p+1 máquinas são cópias um Aß*. O mestre pode definir as máquinas Aß* como inativas ou ativas. Se o mestre define uma máquina Aß* como inativa ela permanece em seu estado inicial e se torna alheia a entrada. Se o mestre ativa uma máquina Aß* ela então lê a entrada e se move, até que o mestre a torne inativa e a force de volta ao estado inicial. O mestre pode tornar uma máquina Aß* ativa ou inativa quantas vezes quiser. O mestre guarda as seguintes informações sobre as máquinas Aß* a cada instante.

  • Estados atuais das máquinas Aß*,
  • Lista das máquinas Aß* ativas por ordem de momento de ativação.
  • Para cada máquina Aß* M ativa, o conjunto das outras máquinas Aß* ativas que estavam em um estado de aceitação no momento da ativação de M. Em outras palavras, se uma máquina é ativada na ocasião i e algumas outras máquinas foram ativadas na ocasião j < i e continuam ativos até i, então o mestre mantém o registro se i favorece j ou não. Este registro é descartado se a outra máquina entra em estado inativo antes de M.

Inicialmente, o mestre pode se comportar de duas maneiras diferentes, dependendo de a. Se a contém uma palavra vazia então, apenas uma das máquinas Aß* está ativa, caso contrário, nenhuma das máquinas Aß* estão ativas no início. Mais tarde, em algum momento i, se w(0,i) ∈ αβ* e nenhuma das máquinas Aß* estão no estado inicial, então o mestre ativa uma das máquinas inativas e a máquina Aß* que foi ativada começa a receber a entrada a partir do momento i + 1. Em algum momento, se duas máquinas Aß* chegarem ao mesmo estado, o mestre inativa a máquina que foi ativada por último. Note que o mestre pode tomar as decisões acima usando as informações que ele armazena.

Para a saída, o mestre também tem um par de luzes vermelhas e verdes correspondente a cada uma das máquinas Aß*. Se uma máquina Aß* vai do estado ativo para o estado inativo, a correspondente luz vermelha pisca. A luz verde de uma A máquina Aß* M, que foi ativada em j, pisca no momento i nas duas situações seguintes:

  • M está em estado inicial, portanto, E (j, i, i) e i favorece j(o estado inicial tem que ser um estado de aceitação).
  • Para alguma outra máquina Aß* M' ativada em k, onde j <k <i, k favorece j (o mestre tem registro disso) e i é o primeiro momento em que E (j, k, i) (M' entra em estado inativo no momento i).

Note que a luz verde para a M não pisca toda vez que uma máquina entra em estado inativo devido a M.

Lema 3
Se existe um momento equivalente a um número infinito de momentos que favorecem ele e i é o mais antigo desses momentos, então uma máquina Aß* M é ativada em i, se mantendo sempre ativa (sem flash de luz vermelha correspondente depois disso), e faz a luz verde piscar infinitas vezes.
Prova Vamos supor que uma máquina Aß* foi ativada no momento j tal que j < i e esta máquina vai para o estado inicial no tempo i. Portanto, se a qualquer momento é equivalente e favorece i então esse momento deve ter a mesma relação com j. Isto contradiz a hipótese de que i é o primeiro momento de um número infinito de momentos equivalente ao i e favorecendo i. Assim, no momento i, nenhuma máquina ativa pode estar no estado inicial. Daí, o mestre tem que ativar uma nova máquina Aß* no momento i, que é a nossa M. Essa máquina nunca vai ficar inativa porque se alguma outra máquina, que foi ativada no momento l, a torna inativa no momento k então E (l, i, k). Mais uma vez, a mesma contradição está implícita. Pela construção e devido a um número infinito de momentos equivalentes a i e favorecendo i, a luz verde irá piscar infinitas vezes.
Lema 4
Por outro lado, se há uma máquina Aß* M, cuja luz verde piscou em infinitos momentos e luz vermelha apenas em finitos momentos, então, há um número infinito de momentos equivalente a e favorecendo a última vez em que M se tornou ativa.
Prova: Verdade por construção.
Lema 5
w ∈ αβω sse, para alguma máquina Aß*, a luz verde pisca em infinitos momentos e a luz vermelha pisca somente em finitos momentos.
Prova: Devido ao lema 2-4.

A descrição anterior de uma máquina completa pode ser visualizada como um grande autômato determinístico. Agora, só precisa definir a condição de aceitação de Muller. Neste grande autômato, definimos µn para ser o conjunto de estados em que a de luz verde pisca e a luz vermelha não pisca correspondente a máquina nth Aß*. Sendo νn o conjunto de estados em que a luz vermelha não pisca correspondente a n-ésima máquina Aß*. Então a condição de aceitação de Muller é F = { S | ∃n μn ⊆ S ⊆ νn }. Isso termina a construção do autômato de Muller desejado. C.Q.D.

Outras provas editar

Desde a prova de McNaughton, várias outras provas foram propostas. A seguir, algumas delas.

  • Uma linguagem ω-regular pode ser mostrada equiv-expressiva a um autômatos de Büchi. Autômatos de Büchi podem ser mostrados equiv-expressivos a autômatos de Büchi semi-determinísticos. Um autômato de Büchi semi-determinístico pode ser mostrado equiv-expressivo a um autômato de Muller determinístico. Esta prova segue as mesmas linhas que a prova acima.
  • A construção de Safra transforma um autômato de Büchi não-determinístico em um autômato de Muller. Esta construção é considerada ótima.
  • Existe uma prova puramente algébrica[2] para o teorema de McNaughton.

Reference list editar

  1. McNaughton, R.: "Testing and generating infinite sequences by a finite automaton", Information and control 9, pp. 521–530, 1966.
  2. B. Le Saëc , J. Pin , P. Weil, A Purely Algebraic Proof of McNaughton's Theorem on Infinite Words, Foundations of Software Technology and Theoretical Computer Science, p. 141–151