Minimização do DFA em vários idiomas


10

Estou interessado em uma ligeira generalização do DFA. Como sempre, temos definido pelo estado , alfabeto finito , uma ação definida em por e estado inicial ; mas em vez do conjunto de terminais de costume, nós tomamos uma família de subconjuntos de . Um DFA multilíngue é a tuplaQΣΣ∗Qδ:Q×Σ→Qq0(Ti)i∈1..nQM

(Q,Σ,δ,q0,(Ti))

e é reconhecido por iff para alguns . Defina para ser a família de idiomas reconhecida por M, se desejar. M L = { s ∈ Σ * | q 0 s ∈ T i } i ∈ 1 .. n ( L i ( M ) ) i ∈ 1 .. nL⊆Σ∗ML={s∈Σ∗|q0s∈Ti}i∈1..n(Li(M))i∈1..n

Ok, agora a minha pergunta: dada uma família de idiomas regulares , quero encontrar o mínimo DFA multilíngue, conforme descrito acima, para que para tudo , isto é, tal queé minimizado em todas essas máquinas. Minha pergunta é: existem formas eficientes conhecidas de fazer isso, talvez análogas à teoria padrão de minimização do DFA? Por outro lado, há alguma evidência de que esse problema possa ser difícil? M L i = L i ( M ) i ∈ 1 .. n | Q |(Li)i∈1..nMLi=Li(M)i∈1..n|Q|


7
Parece-me que o algoritmo padrão baseado no refinamento de partição, modificado apenas para começar particionando o conjunto inicial de estados, se eles estão aceitando / não aceitando para cada um dos subconjuntos vez de um único conjunto , deve funcionar imediatamente. Por que não? Ele só divide pares de estados quando eles devem ser divididos, portanto, ainda gera o refinamento mais grosseiro possível dos estados. TTiT
— David Eppstein 15/02

11
A prova do comentário de @DavidEppstein é fácil se você definir a relação de equivalência se para cada , onde é a relação de equivalência Myhill-Nerode. Você pode seguir as mesmas linhas do algoritmo de minimização padrão. x ∼ T i y i x ∼ T i yx∼yx∼Tiyix∼Tiy
— Shaull

não entendo direito. a resposta para esse problema é encontrar o DFA mínimo de uma união de DFAs com a mesma "configuração", exceto diferentes estados finais, cada DFA por ? também a definição de reconhecimento de não parece fazer sentido exatamente, parece misturar seqüências de caracteres e conjuntos de estados. L = { . . . }1..nL={...}
— vzn

Os argumentos de DavidEppstein e Shaull parecem convincentes; encontrarei algum tempo para analisar o teorema de Myhill-Nerode quando tiver tempo para me convencer de que o quociente ainda produz o autômato mínimo. Em retrospecto, parece óbvio demais.
— Gdmclellan

@ vzn: definitivamente não queremos unir os idiomas do autômato original; e o podem sobrepor-se. A multi-idioma DFA com linguagens A e B deve ser capaz de relatório, por exemplo, que s ∈ A , mas é ∉ B . Quanto à notação usada na definição do reconhecimento de um idioma, a notação é definida estendendo δ a uma ação Σ ∗ em Q pelas seguintes regras para todos os q ∈ Q , σ ∈ Σ , s ∈ Σ ∗ :TiABs∈As∉BδΣ∗Qq∈Q,σ∈Σ,s∈Σ∗ . qσ=δ(q,σ),q(sσ)=(qs)σ
— Gdmclellan

Respostas:


14

Resposta curta . Dada uma família finita de linguagens regulares , existe um multi-autômato completo determinístico mínimo exclusivo que reconhece essa família.L=(Li)1⩽i⩽n

Detalhes . O caso corresponde à construção padrão e o caso geral não é muito diferente em espírito. Dada uma linguagem L e uma palavra u , deixe- u - 1 L = { v ∈ A * | u v ∈ G } . Defina uma relação de equivalência ∼ em A ∗ , definindo u ∼ vn=1Luu−1L={v∈A∗∣uv∈L}∼A∗ Como os L i são regulares, essa congruência tem índice finito. Além disso, é fácil de ver que cada L i é saturado por ~ e que, para cada um ∈ A , u ~ v implica u um ~ v um . Vamos denotar por 1 a palavra vazia e por [ u ] o ~ de classe de uma palavra u

u∼v⟺for each L∈L, u−1L=v−1L
LiLi∼a∈Au∼vua∼va1[u]∼u. Deixe ser o determinista multi-autómato definidos como se segue:AL=(Q,[1],⋅,(Fi)1⩽i⩽n)
  1. ,Q={[u]∣u∈A∗}
  2. ,[u]⋅a=[ua]
  3. . Fi={[u]∣u∈Li}

Por construção, se e somente se u ∈ G i e, portanto, uma L aceita a família G . Resta provar que A L é mínima. Na verdade, é mínimo em um forte sentido algébrico (o que implica que ele tenha o número mínimo de estados). Seja A = ( Q , q - , ⋅ , ( F i ) 1 ⩽ i ⩽ n ) e A ′[1]⋅u∈Fiu∈LiALLALA=(Q,q−,⋅,(Fi)1⩽i⩽n) são dois multi-autômatos. Um morfismo f : A → A ' é um mapa subjetivo de Q para Q ' de tal modo queA′=(Q′,q−′,⋅,(Fi′)1⩽i⩽n)f:A→A′QQ′

  1. ,f(q−)=q−′
  2. para , f - 1 ( F ′ i ) = F i , 1⩽i⩽nf−1(Fi′)=Fi
  3. para todos e q ∈ Q , f ( q ⋅ u ) = f ( q ) ⋅ u .u∈A∗q∈Qf(q⋅u)=f(q)⋅u

Então, para qualquer determinista multi-autómato acessível aceitar G , existe um morfismo de A para A G . Para provar isso, primeiro verifica-se que se q - ⋅ u 1 = q - ⋅ u 2 = q , então u 1 ∼ u 2 . Agora f é definido por f ( q ) = [ u ] onde u é qualquer palavra que q - ⋅ uALAALq−⋅u1=q−⋅u2=qu1∼u2ff(q)=[u]u . Então, pode-se mostrar que f satisfaz as três propriedades necessárias.q−⋅u=qf

O final é um pouco superficial, deixe-me saber se você precisar de mais detalhes.

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.