2FA стан складності k-Clique?


15

У простому вигляді:

Чи може двосторонній кінцевий автомат розпізнавати v -поверхові графіки, які містять трикутник із станами o(v3) ?

Деталі

Тут представляють інтерес v -верхові графіки, кодовані за допомогою послідовності ребер, кожен край - пара різних вершин від {0,1,,v1} .

Припустимо, (Mv) - це послідовність двосторонніх кінцевих автоматів (детермінованих або недетермінованих), таких, що Mv розпізнає -Clique на графіках вхідних вершин і має стани. Загальна форма запитання є тоді: ?kvs(v)s(v)=Ω(vk)

Якщо і для нескінченно багатьох , то NL ≠ NP. Менш амбітно, тому я зазначаю, що є фіксованим, а випадок - перший нетривіальний.k=k(v)=ω(1)s(v)vk(v)vkk=3

Фон

Двосторонній кінцевий автомат (2FA) - це машина Тьюрінга, яка не має робочої області, лише фіксовану кількість внутрішніх станів, але може переміщати вхідну головку, доступну лише для читання, вперед та назад Навпаки, звичайний вид кінцевого автомата (1FA) переміщує свою вхідну головку, що тільки для читання, лише в одному напрямку. Кінцеві автомати можуть бути детермінованими (DFA) або недетермінованими (NFA), а також мати односторонній або двосторонній доступ до їх вводу.

Властивість графа - це підмножина графіків. НехайQQv denote the v-vertex graphs with property Q. For every graph property Q, the language Qv can be recognized by a 1DFA with at most 2v(v1)/2 states, by using a state for every possible graph and labelling them according to Q, and transitions between states labelled by edges. Qv is therefore a regular language for any property Q. By the Myhill-Nerode theorem there is then a unique up to isomorphism smallest 1DFA that recognizes Qv. If this has 2s(v) states, then standard blowup bounds yield that a 2FA recognizing Qv has at least s(v)Ω(1) states. So this approach via standard blowup bounds only yields at most a quadratic in v lower bound on the number of states in a 2FA for any Qv (even when Q is hard or undecidable).

k-Clique is the graph property of containing a complete k-vertex subgraph. Recognizing k-Cliquev can be done by a 1NFA that first nondeterministically chooses one of (vk) different potential k-cliques to look for, and then scans the input once, looking for each of the required edges to confirm the clique, and keeping track of these edges using 2k(k1)/2 states for each of the different potential cliques. Such a 1NFA has (vk)2k(k1)/2=(cv2(k1)/2/k)k.vk states, where 1cve. When k is fixed, this is Θ(vk) states. Allowing two-way access to the input potentially allows an improvement over this one-way bound. The question is then asking for k=3 whether a 2FA can do better than this 1FA upper bound.

Addendum (2017-04-16): see also a related question for deterministic time and a nice answer covering the best known algorithms. My question focuses on nonuniform nondeterministic space. In this context the reduction to matrix multiplication used by the time-efficient algorithms is worse than the brute-force approach.


I really like this questions! Thank you for sharing it! :)
Michael Wehar

Відповіді:


7

It seems to me that triangles can be done by a 2FA A with O(n2) state (n being the number of vertices).

For k=3 the idea is as follows:

  1. In phase 1, A chooses some edge (i,j) and stores (phase1,i,j) in its state
  2. In phase 2 it moves to some edge of the form (i,m) or (m,i) and assumes a state of the form (phase2,j,m)
  3. In phase 3, it checks that there is some edge (j,m) or (m,j) and assume an accepting state if it finds one.

This can actually almost be done in a left to right fashion (then A might nondeterministically decide to go first for (j,m) or (m,j) in phase 2). However, if the 2nd edge comes in the form (m,i), A needs to first read i and then m, i.e., a single left-step is needed here.

This should result in automata with O(nk1) states for k-Clique for k>3 by first guessing a set S of size k3 and testing, that he nodes of S are pairwise connected by edges and, for each of i,j,m in the above, checking that they have edges to all nodes in S.


I don't see how this is O(n2)? Three vertices i,j,m are being tracked.
András Salamon

Only two at a time. Reading (i,m) in phase 2 is done in two transitions. On reading i, A basically goes from (phase 1,i,j) to (phase 1a,i,j) (indicating, it has just seen i) and in the next step into (phase 2,j,m). At this point it is done with i, as it already saw (i,j) and (i,m) and only (j,m) needs to be checked.
Thomas S

If the number of edges and vertices is roughly the same, then I think this works fine, but the interesting case is when e=Ω(v2). In other words, I think your approach uses at least ve states.
Michael Wehar

1
I think you are right. If the input is given in a nice format this works. :)
Michael Wehar

1
@Marzio: no, it says (no, it says deterministic or nondeterministic)
Thomas S
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.