Algoritma mengejutkan untuk menghitung masalah


54

Ada beberapa masalah penghitungan yang melibatkan penghitungan banyak hal secara eksponensial (relatif terhadap ukuran input), namun memiliki algoritma deterministik tepat waktu polinomial waktu yang mengejutkan. Contohnya termasuk:

Langkah kunci dalam kedua contoh ini adalah mengurangi masalah penghitungan untuk menghitung faktor penentu dari matriks tertentu. Penentu itu sendiri, tentu saja, sejumlah banyak hal secara eksponensial, namun secara mengejutkan dapat dihitung dalam waktu polinomial.

Pertanyaan saya adalah: apakah ada algoritma "pasti sangat efisien" tepat dan deterministik yang dikenal untuk menghitung masalah yang tidak mengurangi menghitung komputasi faktor penentu?


8
BTW, lebih banyak masalah penghitungan berkurang untuk menghitung faktor penentu. Penentu integer lengkap untuk kelas GapL, yang berisi #L.
5501

Jawaban:


11

Saya tidak tahu apakah masalah berikut ini mengurangi atau tidak menghitung determinan, tetapi saya tetap akan mendaftar:

v0vfvfv0

2) Menghitung jumlah solusi masalah yang dapat didefinisikan dalam logika MSO dalam struktur lebar Pohon yang dibatasi. Lihat misalnya makalah yang memuat karya Courcelle, Arnborg dan lainnya .

f:{0,1}n{0,1}xf(x)=1Uf|x|0|x|f(x)|1UfHn|0|0


Terima kasih - item (2) dan (3) menarik tetapi entah bagaimana tidak cukup apa yang saya cari; menghitung masalah dengan lebar pohon dibatasi tampak lebih seperti kasus khusus di mana struktur yang Anda kerjakan sebenarnya dibatasi secara polinomi. Saya lebih tertarik pada kasus-kasus di mana ada "benar-benar" secara eksponensial banyak objek untuk dihitung, tetapi entah bagaimana secara ajaib dapat dihitung dalam waktu polinomial.
Ashley Montanaro

Bukankah itu berarti bahwa, jika Anda menggunakan pengkodean unary, algoritma perlu waktu eksponensial hanya untuk menulis nomornya? Apakah mungkin masalah ini diatasi dengan menggunakan pengkodean biner, tetapi ini terdengar berlawanan dengan saya.
Antonio Valerio Miceli-Barone

2
@ Miceli-Barone, Apa yang Anda katakan akan berlaku untuk hampir semua algoritma waktu poli yang menghasilkan angka. Penentu itu sendiri akan agak besar dalam kasus terburuk di unary.
Raphael

(n+1)n+122n


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.