2FA complessità dello stato di k-Clique?


15

In forma semplice:

Un automa finito a due vie può riconoscere i grafici -vertex che contengono un triangolo con stati ?o ( v 3 )vo(v3)

Dettagli

Di interesse qui sono i grafici -vertex codificati usando una sequenza di bordi, ogni bordo essendo una coppia di vertici distinti da .{ 0 , 1 , , v - 1 }v{0,1,,v1}

Supponiamo che sia una sequenza di automi finiti a due vie (deterministico o non deterministico), in modo tale che riconosca -Clique su grafici di input -vertex e abbia stati . Una forma generale della domanda è quindi: ?M v k v s ( v ) s ( v ) = Ω ( v k )(Mv)Mvkvs(v)s(v)=Ω(vk)

Se e per infinitamente molti , allora NL ≠ NP. Meno ambiziosamente, sto quindi stipulando che è fisso e il caso è il primo non banale.s ( v ) v k ( v ) v k k = 3k=k(v)=ω(1)s(v)vk(v)vkk=3

sfondo

Un automa finito a due vie (2FA) è una macchina di Turing che non ha spazio di lavoro, solo un numero fisso di stati interni, ma può spostare avanti e indietro il suo input di sola lettura. Al contrario, il solito tipo di automa finito (1FA) sposta la testina di input di sola lettura in una sola direzione. Gli automi finiti possono essere deterministici (DFA) o non deterministici (NFA), nonché avere accesso unidirezionale o bidirezionale al loro input.

Una proprietà del grafico è un sottoinsieme di grafici. Lasciate denotare le grafici -vertex con immobili . Per ogni proprietà del grafico , la lingua può essere riconosciuta da un 1DFA con al massimo stati, utilizzando uno stato per ogni possibile grafico ed etichettandoli in base a , e le transizioni tra stati etichettati dai bordi. è quindi un linguaggio normale per qualsiasi proprietà . Secondo il teorema di Myhill-Nerode esiste quindi un unico 1DFA fino all'isomorfismo più piccolo che riconosce . Se questo haQ vQQvvQQQv2v(v1)/2QQvQQv2s(v)stati, quindi i limiti di esplosione standard producono che un 2FA che riconosce ha almeno stati. Quindi questo approccio tramite limiti di esplosione standard produce al massimo un quadratico in limite inferiore sul numero di stati in un 2FA per qualsiasi (anche quando è difficile o indecidibile).Qvs(v)Ω(1)vQvQ

k -Clique è la proprietà del grafico di contenere un sottografo -vertex completo . Il riconoscimento di -Clique può essere fatto da un 1NFA che prima sceglie in modo non deterministico uno dei diversi potenziali -cliques da cercare, quindi scansiona l'input una volta, cercando ciascuno dei bordi richiesti per confermare la cricca e tenere traccia di questi bordi usando stati per ciascuna delle diverse potenziali cricche. Tale 1NFA ha indica, dove . Quando è risolto, questo èkkv(vk)k2k(k1)/2(vk)2k(k1)/2=(cv2(k1)/2/k)k.vk1cvekΘ(vk)stati. Consentire l'accesso bidirezionale all'input potenzialmente consente un miglioramento rispetto a questo limite unidirezionale. La domanda è quindi chiedere a se un 2FA può fare meglio di questo limite superiore di 1FA.k=3

Addendum (16-04-2017): vedi anche una domanda correlata per il tempo deterministico e una bella risposta che copre gli algoritmi più noti . La mia domanda si concentra sullo spazio non deterministico non uniforme. In questo contesto, la riduzione alla moltiplicazione della matrice utilizzata dagli algoritmi efficienti in termini di tempo è peggiore dell'approccio della forza bruta.


Mi piacciono molto queste domande! Grazie per averlo condiviso! :)
Michael Wehar,

Risposte:


7

Mi sembra che i triangoli possano essere fatti da uno stato 2FA con (n è il numero di vertici).AO(n2)

Per l'idea è la seguente:k=3

  1. Nella fase 1, sceglie un bordo e memorizza nel suo statoA(i,j)(phase1,i,j)
  2. Nella fase 2 si sposta su un bordo della forma o e assume uno stato della forma(i,m)(m,i)(phase2,j,m)
  3. Nella fase 3 verifica che ci sia un bordo o e assume uno stato accettante se ne trova uno.(j,m)(m,j)

Questo in realtà può essere quasi fatto da sinistra a destra (quindi potrebbe decidere in modo non deterministico di andare per primo per o nella fase 2). Tuttavia, se il 2 ° bordo si presenta nella forma , deve prima leggere e poi , cioè qui è necessario un solo passo sinistro.A(j,m)(m,j)(m,i)Aim

Ciò dovrebbe comportare automi con stati per -Clique per indovinando dapprima un insieme di dimensione e test, che i nodi di sono collegati a coppie dai bordi e , per ciascuno di i, j, m quanto sopra, controllando che hanno bordi a tutti i nodi .O(nk1)kk>3Sk3SS


Non vedo come sia ? Tre vertici vengono tracciati. O(n2)i,j,m
András Salamon,

Solo due alla volta. La lettura nella fase 2 viene eseguita in due transizioni. Alla lettura di , passa sostanzialmente da (fase 1, i, j) a (fase 1a, i, j) (indicando che ha appena visto ) e nel passaggio successivo in (fase 2, j, m). A questo punto viene fatto con , come già visto e e solo deve essere verificato. (i,m)iAii(i,j)(i,m)(j,m)
Thomas S,

Se il numero di spigoli e vertici è più o meno lo stesso, penso che funzioni bene, ma il caso interessante è quando . In altre parole, penso che il tuo approccio usi almeno gli stati . e=Ω(v2)ve
Michael Wehar,

1
Penso che tu abbia ragione. Se l'input è dato in un bel formato, funziona. :)
Michael Wehar,

1
@Marzio: no, dice (no, dice deterministico o non deterministico)
Thomas S
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.