2FA złożoność stanu k-Clique?

15

W prostej formie:

Można dwukierunkowa skończony automat rozpoznaje v wykresy -Vertex które zawierają trójkąt z o(v3) stany?

Detale

Zainteresowania są tu v wykresy -Vertex kodowane przy użyciu sekwencji krawędzi, każda krawędź jest para różnych wierzchołki {0,1,,v1} .

Załóżmy, że (Mv) jest ciągiem dwukierunkowy automaty skończone (deterministyczny lub niedeterministyczny), tak że Mv rozpoznaje k -Clique na v wykresach wejściowych -Vertex i ma s(v) stany. Ogólna forma pytania brzmi: czy s(v)=Ω(vk) ?

Jeśli k=k(v)=ω(1) i s(v)vk(v) dla nieskończenie wielu v , to NL ≠ NP. Mniej ambitnie, dlatego zastrzegam, że k jest ustalone, a przypadek k=3 jest pierwszym nietrywialnym.

tło

Dwukierunkowy automat skończony (2FA) to maszyna Turinga, która nie ma obszaru roboczego, tylko stałą liczbę stanów wewnętrznych, ale może przesuwać swoją głowicę wejściową tylko do odczytu tam iz powrotem. W przeciwieństwie do tego zwykły automat skończony (1FA) przesuwa głowicę wejściową tylko do odczytu w jednym kierunku. Automaty skończone mogą być deterministyczne (DFA) lub niedeterministyczne (NFA), a także mieć jedno- lub dwukierunkowy dostęp do swoich danych wejściowych.

Właściwość wykresu jest podzbiorem wykresów. Niech Q v oznaczamy v wykresach -Vertex z nieruchomości Q . Dla każdej właściwości wykresu Q język Q v może być rozpoznany przez 1DFA z maksymalnie 2 stanami v ( v - 1 ) / 2 , poprzez użycie stanu dla każdego możliwego wykresu i oznaczenie go zgodnie z Q , oraz przejścia między stanami oznaczone po krawędziach. Q v jest zatem zwykłym językiem dla dowolnej właściwości QQQvvQQQv2v(v1)/2QQvQ. Według twierdzenia Myhill-Nerode istnieje unikalny aż do izomorfizmu najmniejszy 1DFA, który rozpoznaje . Jeśli ma to stany 2 s ( v ) , wówczas standardowe granice wysadzenia dają, że 2FA rozpoznające Q v ma co najmniej stany s ( v ) Ω ( 1 ) . To podejście poprzez standardowe granice wysadzenia daje co najwyżej kwadratową in v dolną granicę liczby stanów w 2FA dla dowolnego Q v (nawet gdy Q jest trudne lub nierozstrzygalne).Qv2s(v)Qvs(v)Ω(1)vQvQ

-Clique to właściwość graph zawierająca pełnypodgraph k -vertex. Rozpoznawanie k- kliki v może być wykonane przez 1NFA, który najpierw nie deterministycznie wybiera jedną z ( vkkkv różne potencjalnek-kliki, których należy szukać, a następnie skanuje dane wejściowe raz, szukając każdej z wymaganych krawędzi w celu potwierdzenia kliki i śledząc te krawędzie za pomocąstanów2k(k-1)/2dla każdego z różne potencjalne kliky. Taki 1NFA ma ( v(vk)k2k(k1)/2Zjednoczonych, gdzie1cve. Kiedykjest ustalone, są tostanyΘ(vk). Zezwolenie na dwukierunkowy dostęp do danych wejściowych potencjalnie umożliwia poprawę w stosunku do tego jednokierunkowego ograniczenia. Pytanie dotyczy zatemk=3(vk)2k(k1)/2=(cv2(k1)/2/k)k.vk1cvekΘ(vk)k=3 czy 2FA może zrobić lepiej niż ta górna granica 1FA.

Dodatek (16.04.2017): patrz także powiązane pytanie dotyczące deterministycznego czasu i ładna odpowiedź obejmująca najbardziej znane algorytmy . Moje pytanie dotyczy niejednolitej, niedeterministycznej przestrzeni. W tym kontekście redukcja do mnożenia macierzy stosowana przez algorytmy efektywne czasowo jest gorsza niż metoda brutalnej siły.

András Salamon
źródło
Naprawdę lubię te pytania! Dziękujemy za udostępnienie! :)
Michael Wehar,

Odpowiedzi:

7

Wydaje mi się, że trójkąty mogą być wykonane przez 2FA ze stanem O ( n 2 ) (n jest liczbą wierzchołków).AO(n2)

Dla idea jest następująca:k=3

  1. W fazie 1 wybiera krawędź ( i , j ) i przechowuje ( p h a s e 1 , i , j ) w swoim stanieA(i,j)(phase1,i,j)
  2. W fazie 2 przesuwa się do jakiejś krawędzi formy lub ( m , i ) i przyjmuje stan formy ( p h a s e 2 , j , m )(i,m)(m,i)(phase2,j,m)
  3. W fazie 3 sprawdza, czy istnieje jakieś zbocze lub ( m , j ) i przyjmuje stan akceptacji, jeśli go znajdzie.(j,m)(m,j)

Można to właściwie zrobić prawie od lewej do prawej (wtedy może niedeterministycznie zdecydować się na ( j , m ) lub ( m , j ) w fazie 2). Jeśli jednak druga krawędź ma postać ( m , i ) , A musi najpierw odczytać i, a następnie m , tj. Potrzebny jest tutaj pojedynczy lewy krok.A(j,m)(m,j)(m,i)Aim

To powinno dać automaty ze stanami dla k- Kliki dla k > 3 , najpierw zgadując zbiór S o wielkości k - 3 i testując, że węzły S są połączone parami krawędziami i dla każdego I, J, m powyżej, sprawdzając, czy mają one krawędzie do wszystkich węzłów S .O(nk1)kk>3Sk3SS

Thomas S.
źródło
Nie rozumiem, jak to jest ? Śledzone są trzy wierzchołki i , j , m . O(n2)i,j,m
András Salamon
Tylko dwa na raz. Odczyt w fazie 2 odbywa się w dwóch przejściach. Po odczytaniu i , A zasadniczo przechodzi od (faza 1, i, j) do (faza 1a, i, j) (wskazując, że właśnie zobaczył i ), aw następnym kroku do (faza 2, j, m). W tym momencie robi się to za pomocą i , ponieważ już widział ( i , j ) i ( i , m ) i tylko ( j , m ) musi być sprawdzone. (i,m)iAii(i,j)(i,m)(j,m)
Thomas S
Jeśli liczba krawędzi i wierzchołków jest w przybliżeniu taka sama, myślę, że to działa dobrze, ale interesującym przypadkiem jest, gdy . Innymi słowy, myślę, że twoje podejście wykorzystuje przynajmniej v e stany. e=Ω(v2)ve
Michael Wehar,
1
Myślę, że masz rację. Jeśli dane wejściowe są podane w dobrym formacie, to działa. :)
Michael Wehar,
1
@Marzio: nie, mówi (nie, mówi deterministyczny lub niedeterministyczny)
Thomas S