Limita la dimensione del NFA più piccolo per L_k-distinto


18

Considera la lingua L k - d i s t i n c tLkdistinct composta da tutte le stringhe kk -letter sopra Σ in modoΣ tale che non vi siano due lettere uguali:

L k - d i s t i n c t : = { w = σ 1 σ 2 . . . σ ki [ k ] : σ iΣ  e  j i : σ jσ i }  

Lkdistinct:={w=σ1σ2...σki[k]:σiΣ  and  ji:σjσi}

Questa lingua è finita e quindi regolare. In particolare, se | Σ | = n|Σ|=n , quindi | L k - d i s t i n c t | = ( nk ) k! |Lkdistinct|=(nk)k!.

Qual è il più piccolo automa finito non deterministico che accetta questa lingua?

Al momento ho i seguenti limiti superiore e inferiore sciolti:

  • Il più piccolo NFA che posso costruire ha 4 k ( 1 + o ( 1 ) )p o l y l o g ( n )4k(1+o(1))polylog(n) stati.

  • Il seguente lemma implica un limite inferiore di 2 k2k stati:

Lascia che sia una lingua normale. Supponiamo che ci siano coppie tale che se e solo se . Quindi qualsiasi NFA che accetta L ha almeno n stati.L ΣLΣ n nP = { ( x i , w i ) 1 i n } P={(xi,wi)1in}x iw jL xiwjLi = ji=j

  • Un altro limite inferiore (banale) è il , che è il registro delle dimensioni del DFA più piccolo per la lingua.l o g log( nk )(nk)

Sono anche interessato agli NFA che accettano solo una frazione fissa ( ) di , se la dimensione dell'automa è inferiore a .0 < ϵ < 1 0<ϵ<1L k - d i s t i n c tLkdistinct ϵ 4 k ( 1 + o ( 1 ) )p o l y l o g ( n )ϵ4k(1+o(1))polylog(n)


Modifica: ho appena iniziato una taglia che ha avuto un errore nel testo.

Volevo dire che potremmo assumere mentre .k = p o l y l o g ( n ) k=polylog(n)k = O ( l o g ( n ) )k=O(log(n))

Edit2:

La ricompensa finirà presto, quindi se qualcuno è interessato a quello che è forse un modo più semplice per guadagnarlo, considera la seguente lingua:

L ( r , k ) - d i s t i n c t : = { w : w k r }L(r,k)distinct:={w:w contiene simboli distinti e nessun simbolo appare più di volte .kr}

(cioè ).L ( 1 , k ) - d i s t i n c t = L k - d i s t i n c tL(1,k)distinct=Lkdistinct

Una costruzione simile a quella nei commenti fornisce l' automa per .O(ek2klog(1+r)poly(n))O(ek2klog(1+r)poly(n))L(r,k)distinctL(r,k)distinct

Questo può essere migliorato? Qual è il limite inferiore migliore che possiamo mostrare per questa lingua?


2
Puoi descrivere il tuo NFA con limite superiore?
mjqxxxx,

Non posso ancora scriverne perché ci stiamo ancora lavorando e non abbiamo completato la prova. Invece, descriverò un automa molto più semplice di dimensione O ( ( 2 e ) k2 O ( l o g ( k ) )l o g ( n ) ) : Prendi una famiglia di hash perfetti ( n , k ) H . Ogni hash di questo tipo è una funzione h : [ n ] [ k ]O((2e)k2O(log(k))log(n))(n,k)Hh:[n][k]. Ciò significa che per ogni sottoinsieme di [ n ] di dimensione al massimo k , esiste una funzione h H tale da mappare ogni elemento del sottoinsieme su un numero diverso. Dopo l'hashing, l'alfabeto risultante ha k lettere, quindi un automa di dimensione 2 k può accettare la lingua L k - d i s t i n c t . [n]khHk2kLkdistinct
RB

4
Il limite inferiore indica ( 2 - o ( 1 ) ) k solo contando il numero di stati in cui l'NFA può trovarsi dopo esattamente k / 2 passi. Non credo di essere a conoscenza di alcun metodo di prova che dia limiti significativamente migliori per la dimensione totale rispetto a ciò che si può ottenere rispetto al solo guardare ciò che accade dopo t passi, per alcuni t . Ma qui, per ogni t c'è un NFA che può trovarsi solo in uno ( 2 + o ( 1 ) ) k stati dopo esattamente t stati.(2o(1))kk/2ttt(2+o(1))kt
Noam,

3
Prova (della mia precedente affermazione): il caso più difficile è t = k / 2 ; scegli 2 kp o l y ( k , log n ) diversi sottoinsiemi casuali S i (dei n simboli dell'alfabeto) di dimensioni esattamente t ciascuno e costruisci un NFA che ha uno stato per ciascuno i con un percorso che porta ad esso se il i primi simboli t sono tutti diversi e sono contenuti in S i , e ha un percorso di accettazione se il seguente k - tt=k/22kpoly(k,logn)SintitSikti simboli sono tutti diversi e sono contenuti nel complemento di S i . Un argomento conteggio mostrerà che WHP (sulla scelta casuale del S i s') questa NFA sarà davvero accettare tutti la lingua desiderata. SiSi
Noam,

3
Nella costruzione precedente, il modo più semplice per costruire l'NFA avrà uno stato per ogni possibile prefisso di lunghezza j < t e per ogni possibile suffisso di lunghezza j > k - t . Invece, la parte prefisso e la parte suffisso della NFA possono essere costruite in modo ricorsivo usando la stessa costruzione randomizzata (ma ora solo all'interno di S i e il suo complemento, rispettivamente) e questo darebbe una dimensione totale ( 4 + o ( 1 ) ) k . j<tj>ktSi(4+o(1))k
Noam,

Risposte:


2

Questa non è una risposta ma un metodo che credo lascerebbe ad un limite inferiore migliorato. Tagliamo il problema dopo aver letto una lettera. Indichiamo la famiglia di un elemento serie di [ n ] di A e la famiglia di b = k - un elemento serie di [ n ] di B . Indica gli stati che possono essere raggiunti dopo aver letto gli elementi di A (in qualsiasi ordine) di S A e gli stati da cui è possibile raggiungere uno stato accettante dopo aver letto gli elementi di B (in qualsiasi ordine) di T Baa[n]Ab=ka[n]BASABTB. Abbiamo bisogno che S AT B se e solo se A B = . Questo dà già un limite inferiore per il numero richiesto di stati e penso che potrebbe dare qualcosa di non banale.SATBAB=

Questo problema richiede essenzialmente un limite inferiore sul numero dei vertici di un ipergrafo il cui grafico a linee è (parzialmente) noto. Problemi simili sono stati studiati, ad esempio, da Bollobas e ci sono diversi metodi di prova noti che possono essere utili.

Aggiornamento 2014/03/24: infatti se l'ipergrafo sopra può essere realizzato sui vertici, allora anche ottenere un non-deterministico protocollo di comunicazione complessità della lunghezza di log s per disgiunzione set con ingressi insiemi del formato un e b (infatti i due problemi sono equivalenti). Il collo di bottiglia è ovviamente quando a = b = k / 2 , per questo ho trovato solo quanto segue nel libro di Eyal e Noam: N 1 ( D I S J a ) log ( 2 k log e (slogsaba=b=k/2na))N1(DISJa)log(2kloge(na)) proved by the standard probabilistic argument. Unfortunately I could not (yet) find good enough lower bounds on this problem but assuming the above is sharp, it would give a lower bound Ω(2klogn)Ω(2klogn) unifying the two lower bounds you have mentioned.


1
Thanks @domotorp for your answer. This seems a lot like the proof of the lemma I've used for the lower bound in the original question, but without specifying the actual xixi's and yiyi's, and thus not a countable bound. Your comment on the question above suggests that the 2k2k bound can't be improved by that method, do you think this could do better?
R B

3
The whole point of my comment above was that these techniques can not give a lower bound above (2+o(1))k(2+o(1))k. This is really what makes this problem interesting to me.
Noam

@Noam: Let k=2, a=b=1. Already then we get a lognlogn lower bound as every SASA has to be different.
domotorp

1
@domotorp: The o(1)o(1) hides a O(klogn)O(klogn) factor: Here is the analysis for the worst case where a=b=k/2a=b=k/2: Start with a fixed AA and B and pick at random a subset S of the n letters then we have Pr[ASandBSc]=2k. Now pick r2k such sets at random then the probability that for at least one of them this happens is 1exp(r). If we choose r=O(log(nk))=O(klogn) then we get that whp this is so for ALL disjoint sets A and B (of size k/2). The total number of such S's in this construction is O(2kklogn).
Noam

2
@Noam: I am sorry but I have never seen a logn hidden in an o(1), especially as the problem is also interesting imho for k<<logn. But you are right that R B asked about k=polylogn.
domotorp

0

Some work in progress:

I'm trying to prove a lower bound of 4k. Here is a question that I'm pretty sure would give such a lower bound: find the minimum t such that there exists a function f:{S[n],|S|=k/2}{0,1}t that preserves disjointness, i.e. that S1S2= iff f(S1)f(S2)=. I'm pretty sure a lower bound of t2k would almost immediately imply a lower bound of 22k=4k for our problem. f(S) roughly corresponds to the set of nodes the NFA can get to after reading the first k/2 symbols of the input, when the set of these k/2 symbols is S.

I think the solution to this question might already be known, either in the communication complexity literature (especially in papers dealing with the disjointness problem; maybe some matrix rank arguments will help), or in literature about encodings (e.g. like this).


2
My comments above show that this approach cannot beat (2+o(1))n
Noam
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.