Berapa banyak oracle SAT akan membantu mempercepat algoritma waktu polinomial?


23

Akses ke oracle akan memberikan percepatan super-polinomial besar untuk semua yang ada di (dengan asumsi set tidak kosong). Hal ini kurang jelas, bagaimanapun, berapa banyak akan manfaat dari akses oracle ini. Tentu saja, percepatan dalam tidak bisa super polinomial, tetapi masih bisa polinomial. Misalnya, dapatkah kita menemukan jalur terpendek lebih cepat dengan oracle , daripada tanpa itu? Bagaimana dengan beberapa tugas yang lebih canggih, seperti minimisasi fungsi submodular atau pemrograman linier? Akankah mereka (atau masalah alam lainnya dalam ) mendapat manfaat dari oracle ?N P - P P P S A T P S A TSATNPPPPSATPSAT

Secara lebih umum, jika kita dapat mengambil masalah apa pun di , dan menggunakan oracle untuk itu, lalu mana dari masalah di bisa melihat percepatan? PNPPP


2
Seberapa cepat oracle? Jika butuh waktu, lebih banyak masalah dapat dipercepat daripada jika dibutuhkan waktu, di mana adalah ukuran rumus SAT. O ( s 5 ) sO(s)O(s5)s
Peter Shor

2
@PeterShor Saya berasumsi bahwa oracle, setelah menerima rumus SAT sebagai permintaan, mengembalikan jawaban YA atau TIDAK, menandakan apakah formula memuaskan atau tidak, dalam satu langkah (waktu konstan). Ini tidak tergantung pada ukuran formula. Tentu saja, formula harus dibangun untuk dipertanyakan. Waktu konstruksi ini tidak terlepas dari ukuran formula, dan juga tergantung masalah formula mana yang perlu ditanyakan. Tetapi begitu formula dibangun, menerima jawaban dihitung sebagai langkah tunggal, untuk formula apa pun.
Andras Farago

3
Jika alih-alih oracle SAT Anda mengizinkan oracle SAT , maka itu dapat digunakan untuk menemukan rangkaian minimal untuk masalah apa pun. Ini akan memberikan biaya diamortisasi yang hampir optimal untuk masalah apa pun (alasan mengapa hanya diamortisasi adalah bahwa jika Anda hanya menggunakan ini satu kali, maka ukuran rumus Anda tulis pada dasarnya adalah runtime dari algoritma waktu-poli asli Anda - tetapi setelah langkah itu Anda kemudian memiliki rangkaian optimal untuk semua contoh ukuran ). Σ 2 S A T nΣ2SATΣ2SATn
Joshua Grochow

@ JoshuaGrochow Komentar Anda sangat menarik! Akan lebih baik melihatnya sebagai jawaban, dengan lebih banyak detail.
Andras Farago

Jawaban:


15

Sebenarnya, penerimaan mesin Turing nondeterministik dalam waktu adalah - waktu dapat direduksi menjadi SAT (konstruksi ini melalui simulasi yang tidak diketahui, lihat Arora-Barak), jadi biasanya setiap kali mesin nondeterministik jauh lebih cepat daripada deterministik. satu, kita akan melihat setidaknya beberapa speedup dengan oracle SAT.O ( t log t )tO(tlogt)

Agar lebih konkret, pengujian primality muncul di pikiran, karena varian terbaik dari algoritma AKS muncul untuk menguji primality dari nomor bit dalam waktu . Tetapi jika kita pergi "sekolah tua", Pratt memberikan TM nondeterministic untuk memutuskan keutamaan dalam waktu . Penerimaan mesin ini dapat dikurangi (secara deterministik) dalam waktu menjadi instance SAT.O ( n 6nO ( n 3O(n6polylogn)O ( n 3O(n3polylogn)O(n3polylogn)

Masalah 3SUM dapat menjadi contoh lain, karena sepertinya seseorang dapat menebak solusi dan memeriksanya dalam waktu subquadratic, dan kemudian penerimaan mesin seperti itu dapat dikurangi menjadi SAT dalam waktu subquadratic.


7

Secara lebih umum, jika kita dapat mengambil masalah apa pun di NP − P, dan menggunakan oracle untuk itu, lalu masalah mana di P yang bisa melihat percepatan?

Pertanyaan ini menjadi lebih langsung pada representasi dan waktu yang diperlukan untuk mengurangi satu masalah ke masalah lain ....

Jawaban utama yang ada dalam pikiran saya adalah oracle Integer / Linear Programming. Versi keputusan dari masalah itu adalah NP-complete. Ada "pengurangan" sepele dari pemrograman linear karena ini adalah kasus khusus. Tetapi sebuah ramalan untuk pemrograman linier saja (apalagi ILP) mempercepat banyak masalah yang segera dipecahkan oleh pemrograman linier. Mereka dapat dikurangi menjadi waktu linier dengan menulis ulang masalah sebagai LP. Misalnya, jalur terpendek dan masalah aliran lainnya, kecocokan.

Tapi saya tidak berpikir ILP adalah satu-satunya dengan cara apa pun, mungkin lebih karena orang belum banyak berpikir tentang misalnya mengurangi jalur terpendek ke TSP atau lebih.


3

Pada catatan terkait (lebih dari komentar, posting sebagai jawaban atas permintaan), jika alih-alih oracle satu memungkinkan oracle , maka itu dapat digunakan untuk menemukan sirkuit minimal untuk masalah apa pun di (Ini mengikuti ide yang sama dengan bukti Karp-Lipton). Ini akan memberikan biaya diamortisasi yang hampir optimal untuk masalah apa pun; alasan itu hanya diamortisasi adalah bahwa jika Anda hanya menggunakan ini sekali, maka ukuran rumus Anda tulis pada dasarnya adalah runtime dari algoritma waktu-poli asli Anda, tetapi setelah langkah itu Anda kemudian memiliki rangkaian optimal untuk semua contoh ukuran .Σ 2 S A T P Σ 2 S A T nSATΣ2SATPΣ2SATn


NPNPNPPNPNPNPPHPPNPNPNP

1
PPH

kk+2
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.