Kompleksitas 2FA keadaan k-Clique?

15

Dalam bentuk sederhana:

Bisakah otomat terbatas dua arah mengenali grafik v -vertex yang berisi segitiga dengan status o(v3) ?

Detail

Yang menarik di sini adalah grafik v -vertex yang dikodekan menggunakan urutan tepi, masing-masing tepi menjadi sepasang simpul yang berbeda dari {0,1,,v1} .

Misalkan adalah urutan dua arah automata terbatas (deterministik atau non-deterministik), sehingga M v mengakui k -Clique pada v grafik masukan -vertex dan memiliki s ( v ) negara. Bentuk umum dari pertanyaan itu adalah: Apakah s ( v ) = Ω ( v k ) ?(Mv)Mvkvs(v)s(v)=Ω(vk)

Jika dan s ( v ) v k ( v ) untuk banyak sekali v , maka NL ≠ NP. Karena kurang ambisius, maka saya menetapkan bahwa k adalah tetap, dan k = 3 adalah kasus nontrivial pertama.k=k(v)=ω(1)s(v)vk(v)vkk=3

Latar Belakang

Finite automaton dua arah (2FA) adalah mesin Turing yang tidak memiliki ruang kerja, hanya sejumlah kondisi internal, tetapi dapat memindahkan head input read-only bolak-balik. Sebaliknya, jenis hingga otomat (1FA) yang biasa digunakan hanya memindahkan kepala input satu arah saja. Automata terbatas dapat bersifat deterministik (DFA) atau nondeterministik (NFA), serta memiliki akses satu arah atau dua arah ke inputnya.

Properti grafik adalah subset dari grafik. Biarkan Q v menyatakan v grafik -vertex dengan properti Q . Untuk setiap properti grafik Q , bahasa Q v dapat dikenali oleh 1DFA dengan paling banyak 2 v ( v - 1 ) / 2 status, dengan menggunakan keadaan untuk setiap grafik yang mungkin dan memberi label menurut Q , dan transisi antar negara berlabel tepi. Q v oleh karena itu adalah bahasa reguler untuk setiap properti QQQvvQQQv2v(v1)/2QQvQ. Dengan teorema Myhill-Nerode ada maka sampai unik untuk isomorfisma terkecil 1DFA yang mengakui . Jika ini memiliki 2 s ( v ) negara, maka batas-batas standar blowup menghasilkan bahwa 2FA mengakui Q v memiliki setidaknya s ( v ) Ω ( 1 ) negara. Jadi pendekatan ini melalui batas blowup standar hanya menghasilkan paling banyak kuadrat dalam v batas bawah pada jumlah negara di 2FA untuk setiap Q v (bahkan ketika Q sulit atau diputuskan).Qv2s(v)Qvs(v)Ω(1)vQvQ

-Clique adalah properti grafik yang mengandungsubgraph k -vertexlengkap. Mengenali k -Clique v dapat dilakukan oleh 1NFA yang pertama-tama tidak menentukan salah satu dari ( vkkkv potensialk-clique yangberbedauntuk dicari, dan kemudian memindai input sekali, mencari masing-masing tepi yang diperlukan untuk mengkonfirmasi klik, dan melacak tepi ini menggunakan2k(k-1)/2status untuk masing-masing klik-klik potensial yang berbeda. 1NFA tersebut memiliki ( v(vk)k2k(k1)/2menyatakan, di mana1cve. Ketikakdiperbaiki, ini adalahstatusΘ(vk). Mengizinkan akses dua arah ke input berpotensi memungkinkan peningkatan atas ikatan satu arah ini. Pertanyaannya kemudian memintak=3(vk)2k(k1)/2=(cv2(k1)/2/k)k.vk1cvekΘ(vk)k=3 apakah 2FA dapat melakukan lebih baik dari batas atas 1FA ini.

Tambahan (2017-04-16): lihat juga pertanyaan terkait untuk waktu deterministik dan jawaban yang bagus yang mencakup algoritma yang paling dikenal . Pertanyaan saya berfokus pada ruang nondeterministik tidak seragam. Dalam konteks ini pengurangan perkalian matriks yang digunakan oleh algoritma hemat waktu lebih buruk daripada pendekatan brute-force.

András Salamon
sumber
Saya sangat suka pertanyaan ini! Terima kasih telah membagikannya! :)
Michael Wehar

Jawaban:

7

Tampak bagi saya bahwa segitiga dapat dilakukan oleh 2FA dengan status O ( n 2 ) (n menjadi jumlah simpul).AO(n2)

Untuk idenya adalah sebagai berikut:k=3

  1. Pada fase 1, memilih beberapa edge ( i , j ) dan menyimpan ( p h a s e 1 , i , j ) dalam statusnyaA(i,j)(phase1,i,j)
  2. Dalam fase 2 ia bergerak ke beberapa tepi bentuk atau ( m , i ) dan mengasumsikan keadaan bentuk ( p h a s e 2 , j , m )(i,m)(m,i)(phase2,j,m)
  3. Dalam fase 3, ia memeriksa bahwa ada beberapa tepi atau ( m , j ) dan menganggap negara penerima jika menemukannya.(j,m)(m,j)

Ini sebenarnya hampir dapat dilakukan dengan cara kiri ke kanan (kemudian mungkin secara nondeterministis memutuskan untuk pergi dulu untuk ( j , m ) atau ( m , j ) dalam fase 2). Namun, jika tepi ke-2 datang dalam bentuk ( m , i ) , A perlu terlebih dahulu membaca i dan kemudian m , yaitu, satu langkah kiri diperlukan di sini.A(j,m)(m,j)(m,i)Aim

Ini akan menghasilkan automata dengan status untuk k -Clique untuk k > 3 dengan terlebih dahulu menebak set S dengan ukuran k - 3 dan pengujian, bahwa ia node S secara berpasangan terhubung oleh tepi dan, untuk setiap i, j, m di atas, memeriksa bahwa mereka memiliki tepi untuk semua node dalam S .O(nk1)kk>3Sk3SS

Thomas S
sumber
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