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)i1..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Σ|q0sTi}i1..n(Li(M))i1..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)i1..nMLi=Li(M)i1..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 yxyxTiyixTiy
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 Σ :TiABsAsBδΣQqQ,σΣ,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)1in

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=1Luu1L={vAuvL}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

uvfor each LL, u1L=v1L
LiLiaAuvuava1[u]u. Deixe ser o determinista multi-autómato definidos como se segue:AL=(Q,[1],,(Fi)1in)
  1. ,Q={[u]uA}
  2. ,[u]a=[ua]
  3. . Fi={[u]uLi}

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]uFiuLiALLALA=(Q,q,,(Fi)1in) são dois multi-autômatos. Um morfismo f : AA ' é um mapa subjetivo de Q para Q ' de tal modo queA=(Q,q,,(Fi)1in)f:AAQQ

  1. ,f(q)=q
  2. para , f - 1 ( F i ) = F i , 1inf1(Fi)=Fi
  3. para todos e q Q , f ( q u ) = f ( q ) u .uAqQf(qu)=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 1u 2 . Agora f é definido por f ( q ) = [ u ] onde u é qualquer palavra que q -uALAALqu1=qu2=qu1u2ff(q)=[u]u . Então, pode-se mostrar que f satisfaz as três propriedades necessárias.qu=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.