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 tupla
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 .. 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 |
fonte
Respostas:
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 =( LEu)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 = 1 eu você você- 1L = { v ∈A∗| U v ∈ G } ∼ UMA∗
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
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∈Fi u∈Li AL L AL A=(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′−,⋅,(F′i)1⩽i⩽n) f:A→A′ Q Q′
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 - ⋅ uA L A AL q−⋅u1=q−⋅u2=q u1∼u2 f f(q)=[u] u . Então, pode-se mostrar que f satisfaz as três propriedades necessárias.q−⋅u=q f
O final é um pouco superficial, deixe-me saber se você precisar de mais detalhes.
fonte