Grenzen der Größe der kleinsten NFA für L_k-distinct


18

Betrachten Sie die Sprache L k - d i s t i n c t,Lkdistinct die aus allen kk -letter-Zeichenfolgen über Σ bestehtΣ , sodass keine zwei Buchstaben gleich sind:

L k - d i s t i n c t : = { w = σ 1 σ 2 . . . σ k | i [ k ] : σ i& Sgr;  und  j i : σ jσ i }  

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

Diese Sprache ist endlich und daher regelmäßig. Insbesondere wenn | Σ | = n|Σ|=n , dann.| L k - d i s t i n c t | = ( nk ) k!| Lk - di s t i n c t| = ( nk) k!

Was ist der kleinste nicht deterministische endliche Automat, der diese Sprache akzeptiert?

Ich habe derzeit die folgenden losen oberen und unteren Schranken:

  • Die kleinste NFA, die ich konstruieren kann, hat -Zustände.4 k ( 1 + o ( 1 ) )p o l y l o g ( n )4k ( 1 + o ( 1 ) )p o l yl o g( n )

  • Das folgende Lemma impliziert eine Untergrenze von Zuständen:2 k2k

Sei L ΣL & Sgr; eine reguläre Sprache. Angenommen, es gibt nn Paare P = { ( x i , w i ) | 1 i n }P= { ( xich, wich) | 1 i n } so dass x iw jLxichwjL genau dann, wenn i = ji=j . Dann hat jede NFA, die L akzeptiert, mindestens n Zustände.

  • Eine weitere (triviale) Untergrenze ist l o g log( nk )(nk) , das Protokoll der Größe des kleinsten DFA für die Sprache.

Ich interessiere mich auch für NFAs, die nur einen festen Bruch ( 0 < ϵ < 10<ϵ<1 ) von L_ {k-distinct} akzeptieren L k - d i s t i n c tLkdistinct, wenn die Größe des Automaten kleiner ist als ϵ 4 k ( 1 + o ( 1 ) )p o l y l o g ( n )ϵ4k(1+o(1))polylog(n) .


Bearbeiten: Ich habe gerade ein Kopfgeld angefangen, das einen Fehler im Text hatte.

Ich meinte, wir könnten k = polylog (n) annehmen, k = p o l y l o g ( n )k=polylog(n)während ich K = O ( l o g ( n ) )k=O(log(n)) .

Edit2:

Die Prämie wird bald enden. Wenn sich also jemand dafür interessiert, wie man sie vielleicht leichter verdient, sollten Sie die folgende Sprache in Betracht ziehen:

L ( r , k ) - d i s t i n c t : = { w : wL(r,k)distinct:={w:w enthält kk verschiedene Symbole und kein Symbol erscheint mehr als rr mal }} .

(dh 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 ).

Eine ähnliche Konstruktion wie die in den Kommentaren gibt für .O ( e k2 k l o g ( 1 + r )p o l y ( n ) )O(ek2klog(1+r)poly(n)) L ( r , k ) - d i s t i n c tL(r,k)distinct

Kann das verbessert werden? Was ist die beste Untergrenze, die wir für diese Sprache anzeigen können?


2
Können Sie Ihre NFA mit Obergrenze beschreiben?
mjqxxxx

Ich kann noch nicht darüber schreiben, da wir noch daran arbeiten und den Beweis noch nicht abgeschlossen haben. Stattdessen beschreibe ich einen viel einfacheren Automaten der Größe : Nehmen Sie eine -perfekte Hash-Familie . Jeder solche Hash ist eine Funktion . Dies bedeutet, dass für jede Teilmenge von der Größe höchstens eine Funktion so dass jedes Element der Teilmenge einer anderen Zahl zugeordnet wird. Nach dem Hashing hat das resultierende Alphabet Buchstaben, daher kann ein Auto der Größe die Sprache akzeptieren . O ( ( 2 e ) k * 2 O ( l o g ( k ) ) * l o g ( n ) ) ( n , k ) H h : [ n ] [ k ] [ n ] k h H k 2 k L k - d i s t i n cO((2e)k2O(log(k))log(n))(n,k)Hh:[n][k][n]khHk2ktLkdistinct
RB

4
Die untere Grenze gibt nur die Anzahl der Zustände gezählt wird, in denen sich die NFA nach genau Schritten befinden kann. Ich glaube nicht, dass mir eine Beweismethode bekannt ist, die für die Gesamtgröße wesentlich bessere Grenzen bietet, als wenn man sich nur ansieht, was nach Schritten passiert , für einige . Aber hier gibt es für jedes eine NFA, die sich nach genau in nur einem von Zuständen befinden kann. ( 2 - o ( 1 ) ) k k / 2 t t t ( 2 + o ( 1 ) ) k t(2o(1))kk/2ttt(2+o(1))kt
Noam

3
Beweis (meiner vorherigen Behauptung): Der schwierigste Fall ist ; wähle verschiedene zufällige Teilmengen (der Alphabetsymbole) von genau jeder Größe und konstruiere eine NFA, die für jedes einen Zustand hat, zu dem ein Pfad führt, falls der erste Symbole sind alle verschieden und sind in enthalten und haben einen akzeptierenden Pfad davon, wenn die folgenden Symbole alle verschieden sind und im Komplement von . Ein Zählargument zeigt, dass whp (über der zufälligen Auswahl vont = k / 2 2 kp o l y ( k , log n ) S i n t i t S i k - t S i S it=k/22kpoly(k,logn)SintitSiktSiSis) Diese NFA wird in der Tat alle gewünschten Sprachen akzeptieren.
Noam

3
In der vorherigen Konstruktion hat der einfachste Weg, die NFA zu erstellen, einen Zustand für jedes mögliche Präfix der Länge und für jedes mögliche Suffix der Länge . Stattdessen können der Präfixteil und der Suffixteil der NFA rekursiv mit der gleichen zufälligen Konstruktion erstellt werden (aber jetzt nur innerhalb von und seinem Komplement), und dies würde eine Gesamtgröße ergeben. j < t j > k - t S i ( 4 + o ( 1 ) ) kj<tj>ktSi(4+o(1))k
Noam

Antworten:


2

Dies ist keine Antwort, sondern eine Methode, die meines Erachtens einer verbesserten Untergrenze überlassen würde. Kürzen wir das Problem, nachdem Brief gelesen wurde. Bezeichnen wir die Familie von Element Sätze von durch und die Familie der Element Sätze von durch . Bezeichnen Sie die Zustände, die nach dem Lesen der Elemente von (in beliebiger Reihenfolge) durch und die Zustände, aus denen ein akzeptierender Zustand nach dem Lesen der Elemente von (in beliebiger Reihenfolge) durch . Wir brauchen das genau dann, wenna a [ n ] A b = k - a [ n ] B A S A B T B S AT B & ne; A B = aa[n]Ab=ka[n]BASABTBSATBAB= . Dies gibt bereits eine Untergrenze für die erforderliche Anzahl von Zuständen und ich denke, es könnte etwas Nicht-Triviales geben.

Dieses Problem erfordert im Wesentlichen eine Untergrenze für die Anzahl der Eckpunkte eines Hypergraphen, dessen Liniendiagramm (teilweise) bekannt ist. Ähnliche Probleme wurden z. B. von Bollobas untersucht, und es gibt mehrere bekannte Beweismethoden, die nützlich sein können.

Update 2014.03.24: Wenn der obige Hypergraph tatsächlich auf Eckpunkten realisiert werden kann , erhalten wir auch ein nicht deterministisches Kommunikationskomplexitätsprotokoll mit der Länge für die eingestellte Disjunktion mit Eingabesätzen der Größe und (tatsächlich die beiden) Probleme sind gleichwertig). Der Engpass ist natürlich, wenn , dafür konnte ich in Eyal und Buch nur folgendes finden: durch das probabilistische Standardargument bewiesen. Leider konnte ich (noch) nicht genügend untere Schranken für dieses Problem finden, aber wenn das oben Genannte scharf ist, würde es eine untere Schranke gebensslogslogsaabba=b=k/2a=b=k/2N1(DISJa)log(2kloge(na))N1(DISJa)log(2kloge(na))Ω(2klogn)Ω(2klogn) Vereinheitlichung der beiden von Ihnen genannten Untergrenzen.


1
Danke @domotorp für deine Antwort. Dies scheint dem Beweis des Lemmas sehr ähnlich zu sein, das ich in der ursprünglichen Frage für die Untergrenze verwendet habe, ohne jedoch die tatsächlichen und anzugeben und daher keine abzählbare Grenze. Ihr Kommentar zu der obigen Frage legt nahe, dass die Grenze mit dieser Methode nicht verbessert werden kann. Glauben Sie, dass dies besser funktionieren könnte? xixiyiyi2k2k
RB

3
Der springende Punkt meines obigen Kommentars war, dass diese Techniken keine untere Schranke über . Das ist wirklich das, was dieses Problem für mich interessant macht. (2+o(1))k(2+o(1))k
Noam

@Noam: Sei k = 2, a = b = 1. Schon dann bekommen wir eine Untergrenze, da jeder anders sein muss. lognlognSASA
Domotorp

1
@domotorp: Das verbirgt einen -Faktor: Hier ist die Analyse für den schlimmsten Fall, in dem : Beginnen Sie mit einem festen und und wählen Sie zufällig eine Teilmenge von den Buchstaben haben wir dann . nun solcher Mengen zufällig aus, dann ist die Wahrscheinlichkeit, dass dies für mindestens eine von ihnen geschieht, . Wenn wir wir, dass whp dies für ALLE disjunkten Mengen und (der Größeo(1)o(1)O(klogn)O(klogn)a=b=k/2a=b=k/2AABBSSnnPr[ASandBSc]=2kPr[ASandBSc]=2kr2kr2k1exp(r)1exp(r)r=O(log(nk))=O(klogn)r=O(log(nk))=O(klogn)AABBk/2k/2). Die Gesamtzahl solcher in dieser Konstruktion ist . SSO(2kklogn)O(2kklogn)
Noam

2
@Noam: Es tut mir leid, aber ich habe noch nie ein in einem versteckt gesehen , zumal das Problem auch imho für interessant ist . Aber Sie haben Recht, dass RB nach gefragt hat . lognlogno(1)o(1)k<<lognk<<lognk=polylognk=polylogn
Domotorp

0

Einige Arbeiten in Arbeit:

Ich versuche eine Untergrenze von zu beweisen . Hier ist eine Frage, bei der ich mir ziemlich sicher bin, dass sie eine solche Untergrenze ergibt: Finde das Minimum so, dass es eine Funktion gibt , das Disjunktheit bewahrt, dh, dass iff . Ich bin mir ziemlich sicher, dass eine Untergrenze von fast sofort eine Untergrenze von 2 2 k = 4 k für unser Problem bedeuten würde . f ( S ) entspricht ungefähr der Menge von Knoten, zu denen die NFA nach dem Lesen des ersten gelangen kann4k4kttf:{S[n],|S|=k/2}{0,1}tf:{S[n],|S|=k/2}{0,1}tS1S2=S1S2=f(S1)f(S2)=f(S1)f(S2)=t2kt2k22k=4kf(S)k / 2 Symbole der Eingabe, wenn der Satz dieser k / 2 Symbole S ist .k/2k/2

Ich denke, die Lösung für diese Frage könnte bereits bekannt sein, entweder in der Literatur zur Komplexität der Kommunikation (insbesondere in Artikeln, die sich mit dem Disjunktitätsproblem befassen; möglicherweise helfen einige Matrixrangargumente) oder in der Literatur zu Kodierungen (z . B. diese ).


2
Meine obigen Kommentare zeigen, dass dieser Ansatz ( 2 + o ( 1 ) ) n
Noam
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.