Menemukan jumlah siklus panjang dalam grafik

9

Kami memiliki algoritma waktu untuk menentukan apakah grafik memiliki siklus panjang persis . Bagaimana kita dapat menemukan berapa banyak sepeda yang ada di menggunakan algoritma yang sama atau lainnya.f(k)n3GkkG

Kumar
sumber

Jawaban:

11

Ketika adalah bagian dari input, masalah memutuskan apakah mengandung siklus panjang adalah NP-complete. Untuk setiap diperbaiki , masalah dapat diselesaikan dalam waktu , atau . Flum dan Grohe [1] menunjukkan bahwa penghitungan siklus dan jalur panjang dalam grafik langsung dan tidak langsung, yang diparameterisasi oleh , adalah #W [1] -complete.kGkkO(VE)O(VωlogV)kk

Untuk , kita dapat menghitung -cycles dalam waktu , di mana adalah eksponen dari perkalian matriks. Ini adalah hasil dari Alon, Yuster dan Zwick [2]. Makalah ini juga berisi metode untuk menemukan siklus sederhana panjang persis , di mana .3k7kO(Vω)ω<2.376kk3


[1] Flum, Jörg, dan Martin Grohe. "Kompleksitas parameterisasi masalah penghitungan." Jurnal SIAM tentang Komputasi 33.4 (2004): 892-922.

[2] Alon, Noga, Raphael Yuster, dan Uri Zwick. "Mencari dan menghitung siklus panjang yang diberikan." Algorithmica 17.3 (1997): 209-223.

Juho
sumber
10

Seperti yang ditunjukkan Juho, masalahnya dikenal sebagai #W [1] -selesai dengan karya Flum dan Grohe. Namun, memang ada skema pendekatan acak yang berjalan dalam waktu FPT dan mengembalikan perkiraan yang merupakan faktor dari solusi yang benar dengan probabilitas tinggi. Lihat "Algoritma Perkiraan untuk Beberapa Masalah Penghitungan Parameter", oleh Arvind dan Raman, ISAAC 2002.(1+ϵ)

Michael Lampis
sumber