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


18

Considera la lingua L k - d i s t i n c tLk−distinct 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 . . . σ k ∣ ∀ i ∈ [ k ] : σ i ∈ Σ  e  ∀ j ≠ i : σ j ≠ σ i }  

Lk−distinct:={w=σ1σ2...σk∣∀i∈[k]:σi∈Σ  and  ∀j≠i:σ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! |Lk−distinct|=(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)∣1≤i≤n}x i ⋅ w j ∈ L xi⋅wj∈Li = 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 tLk−distinct ϵ ⋅ 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=Lk−distinct

Una costruzione simile a quella nei commenti fornisce l' automa per .O(ek⋅2k⋅log(1+r)⋅poly(n))O(ek⋅2k⋅log(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 ) k ∗ 2 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)k∗2O(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]kh∈Hk2kLk−distinct
— 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.(2−o(1))kk/2ttt(2+o(1))kt
— Noam,

3
Prova (della mia precedente affermazione): il caso più difficile è t = k / 2 ; scegli 2 k ⋅ p 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/22k⋅poly(k,logn)SintitSik−ti 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>k−tSi(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=k−a[n]BASABTB. Abbiamo bisogno che S A ∩ T 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.SA∩TB≠∅A∩B=∅

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[A⊆SandB⊆Sc]=2−k. Now pick r2k such sets at random then the probability that for at least one of them this happens is 1−exp(−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 S1∩S2=∅ iff f(S1)∩f(S2)=∅. I'm pretty sure a lower bound of t≥2k 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.