Algoritma treewidth cepat

18

Saya ingin menghitung treewidth grafik. Ada heuristik yang benar-benar bagus untuk masalah grafik NP-hard lainnya seperti VF2 untuk subgraph isomorphism, dengan kode yang tersedia dalam igraph misalnya. Saya telah mencobanya pada grafik saya dan saya menemukan mereka berjalan sangat cepat untuk data saya.

Apakah ada algoritma cepat untuk perhitungan treewidth dalam nada yang sama?

felix
sumber
1
fyi baru-baru ini treewidth telah terhubung ke kekerasan SAT oleh Gaspers / Szeider di FOCS, berharap untuk mendengar dari orang lain dalam obrolan / diskusi itu
vzn

Jawaban:

19

Sejauh yang saya tahu, keadaan seni adalah apa yang dilaporkan

Hans L. Bodlaender, Fedor V. Fomin, Arie MCA Koster, Dieter Kratsch, dan Dimitrios M. Thilikos (2012), "Pada algoritma yang tepat untuk treewidth", ACM Transaksi pada Algoritma 9 (1): A12, doi: 10.1145 / 2390176.2390188 .

Metode yang dijelaskan di sini termasuk algoritma yang diimplementasikan dengan beberapa optimasi heuristik untuk membuatnya lebih cepat dalam praktik.HAI(2n)

David Eppstein
sumber
2
Terima kasih. Referensi 2, 8 dan 15 yang memberikan heuristik batas atas dan bawah mungkin dalam praktiknya menjadi yang paling berguna dari makalah itu.
felix
10

Saya menulis sebuah makalah bernama A Fast Parallel Branch dan Algoritma Bound untuk Treewidth, di ICTAI 2011. Ia dapat menghitung treewidth dalam multi-core . Saya menggunakan banyak heuristik dan menghabiskan banyak waktu menyempurnakan program.

Saya adalah seorang mahasiswa sarjana acak di China dan tidak berhasil menghadiri konferensi yang baik. Tetapi berdasarkan hasil percobaan saya, saya pikir program saya sangat cepat. Saya memecahkan banyak tolok ukur yang belum terpecahkan di Treewidth lib, dan program saya 40 kali lebih cepat daripada algoritma yang diusulkan oleh Zhou dan Hansen di IJCAI 09 ..

Saya tidak mengerjakan topik ini lagi. Tetapi jika pekerjaan saya sebelumnya sangat membantu, Anda dapat mengunduh program saya (src dan exe) dari http://www.callowbird.com/undergrad-stuff.html , dan cobalah. (masih, ini sangat sangat lambat pada contoh yang sedikit lebih besar)

Yang Yuan
sumber
5

HAI(2k)

M. kanté
sumber
1
2HAI(k)HAI(ckn)c
5

Berikut adalah dua survei tentang algoritma untuk menghitung treewidth yang mungkin bermanfaat. Yang pertama memiliki perbandingan empiris, dan memiliki berbagai algoritma diimplementasikan sebagai perpustakaan Java.

Ada banyak algoritma untuk menghitung upperbound, lowerbound, atau treewidth grafik. Kami telah menerapkan banyak heuristik upperbound dan lowerbound dan dua algoritma yang tepat (Dynamic Programming dan algoritma Branch and Bound). Laporan ini membandingkan berbagai jenis algoritma dan menunjukkan bahwa beberapa algoritma lebih disukai.

Treewidth adalah parameter grafik dengan beberapa aplikasi teoretis dan praktis yang menarik. Survei ini meninjau hasil algoritmik dalam menentukan treewidth dari grafik yang diberikan, dan menemukan dekomposisi pohon dengan lebar kecil. Kedua hasil teoritis, menetapkan kompleksitas komputasi asimptotik dari masalah, sebagai pekerjaan eksperimental pada heuristik (baik untuk batas atas maupun batas bawah), preprocessing, algoritma tepat, dan postprocessing dibahas.

ay
sumber