Para que tipos de idiomas é mínimo | NFA | = Ω (min | DFA |)?


7

Considere um idioma regular L. Seja um DFA mínimo para e seja um NFA mínimo para (mínimo no sentido do menor número possível de estados para um autômato que reconheça o idioma especificado). Escrevapara o tamanho (número de estados) do autómato . Em geral,pode ser muito menor que(até , pois a determinação é exponencial no pior dos casos).D(L)LN(L)L|A|A|N(L)||D(L)|lg|D(L)|

Estou interessado em idiomas para os quais a NFA mínima é garantida como sendo pelo menos uma fração do tamanho da DFA:. Quais famílias de idiomas regulares possuem essa propriedade? Em outras palavras, para qual família de idiomas tal que é ?|N(L)|k|D(L)|(Ln)|D(Ln)|=n|N(Ln)|=Ω(n)


Intuitivamente, parece claro que os idiomas que isso caracteriza são aqueles em que você não pode obter nada em termos de complexidade usando o não-determinismo. No entanto, não faço ideia de que propriedade compreensível possa estar relacionada.
G. Bach

Receio que sua pergunta não faça nenhum sentido como indicado, uma vez que o ΩA notação é definida apenas para funções, enquanto na sua pergunta, você está considerando apenas um idioma.
J.-E.

@ J.-E.Pin Enquanto você estiver certo, a pergunta dele faz sentido se você ignorar a frase que começa com "Vamos supor" e considerar a última frase em referência à família de idiomas para a qual ela se aplica.
G. Bach

11
Com base na minha compreensão dos comentários, a questão é "para quais famílias de idiomas |minNFA|=Ω(|minDFA|)? "Isso está correto?
Patrick87 12/13

3
A notação só faz sentido quando tende a . Uma possível formulação mais simples seria: dada uma constante , qual é a classe de todas as linguagens regulares que satisfazem. ΩncLcmin|DFA|cmin|NFA|
J.-E.

Respostas:


1

Talvez isso seja trivial demais para ser mencionado, mas vou mencioná-lo de qualquer maneira: uma classe de idiomas vem à mente (embora possa haver classes de idiomas muito mais interessantes do que as que satisfazem a propriedade).

Considere uma família de idiomas que . A NFA mínimo para o º idioma terá estados (assumindo que nenhum estado mortos), enquanto que um DFA mínimo terá estados (assumindo um único estado morto). Temos que .{{ϵ},{w},{ww},...,{wn},...}wΣnn|w|+1n|w|+2n|w|+1=Ω(n|w|+2)

Temos outra família, permitindo que cada idioma aceite até n|w|; essa é a família{{ϵ,w,ww,...,wn}n0}. Os autômatos para esses idiomas são praticamente idênticos aos autômatos correspondentes da outra família, exceto que estes têm mais estados de aceitação.

Por acaso são famílias de línguas finitas. É claro que poderíamos ter uma família de idiomas infinitos da seguinte maneira:{{wnw}n0}.

Considere qualquer família de idiomas que consista em uma única palavra. Para qualquer idioma, a proporção de|minDFA| para |minNFA| será menor que 2, portanto, uma família de idiomas deve satisfazer a propriedade. Como existem inúmeras seqüências finitas sobre qualquer alfabeto e, como estamos considerando qualquer subconjunto possível, obtemos um número incontável de famílias de idiomas dessa maneira.

FWIW, para obter esses exemplos, meu pensamento era que estamos procurando idiomas que envolvam fazer algo que um NFA não pode fazer muito melhor do que um DFA. Aceitar alguma sequência aleatória, e nada mais, é notável nesse sentido. Acho que de maneira mais geral, existe uma noção informal de "franqueza do DFA" que parece estar relacionada ao que está sendo perguntado.

Sabe, pense bem, acho que podemos generalizar um pouco mais: qualquer família de idiomas com o seguinte formulário deve funcionar: Ln={s0s1...si}L para n0, Onde L é qualquer linguagem regular e sné qualquer string finita. Suponha paraL aquele |minDFA|=x e |minNFA|=y. Então a famíliaLn deve sempre ter |minDFA|/|minNFA|x/y.

Não sei se isso é pertinente, interessante ou útil, mas pensei que, se nada mais, pudesse reviver a questão.

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.