Kompleksitas batas bawah: kesenjangan antara pohon keputusan dan RAM

15

Saya baru-baru ini menemukan batas bawah kuadrat pada kompleksitas masalah dalam model pohon keputusan, dan saya bertanya-tanya apakah hasil ini dapat digeneralisasi sebagian ke model mesin akses acak. Secara parsial , maksud saya generalisasi untuk program RAM dengan tradeoff waktu / ruang tertentu. Sebagai contoh, saya ingin menunjukkan bahwa masalah saya tidak dapat diselesaikan dengan program RAM linear-waktu dan -ruang.

AM Ben-Amram dan Z. Galil terbukti dalam makalah yang program RAM berjalan dalam waktu dan ruang s dapat disimulasikan dalam O ( tts waktu pada mesin penunjuk. Apakah kita tahu hasil serupa yang dapat diterapkan pada pohon keputusan?HAI(tcatatans)

Atau, apakah mungkin untuk mensimulasikan program RAM yang berjalan di ruang dengan pohon keputusan derajat s ? (Secara intuitif, pengalamatan tidak langsung dapat disimulasikan menggunakan node derajat s )sss

Totoro
sumber
Saya tidak tahu terlalu banyak tentang kompleksitas kueri klasik (kompleksitas pohon keputusan) tetapi ketika bekerja dalam model analog dalam pengaturan kuantum (kompleksitas kueri kuantum) Anda kadang-kadang mendapatkan batas bawah yang cukup buruk untuk model rangkaian. Misalnya, untuk HSP Anda dapat menunjukkan bahwa kompleksitas kueri adalah polinomial, tetapi unitari antara kueri mengambil jumlah gerbang eksponensial ... dan sejauh kami menduga HSP umum tidak dapat dilakukan dalam waktu polinomial, jadi kompleksitas kueri hanya memberikan batas bawah sangat longgar. Atau apakah Anda baik-baik saja dengan batas bawah yang sangat longgar?
Artem Kaznatcheev
Sebenarnya, saya benar-benar ingin mendapatkan batas bawah superlinear untuk (beberapa) program yang berjalan pada RAM. Itu sebabnya saya berharap bahwa membatasi kompleksitas ruang dapat membantu.
Totoro
1
Saya tidak mengerti pertanyaanmu. Bagaimana Anda dapat memiliki kuadratik terikat pada kompleksitas kueri? Juga, pengorbanan ruang-waktu sering menggunakan teorema produk langsung, jadi Anda mungkin harus bekerja lebih keras untuk mendapatkan hasil seperti itu.
Hartmut Klauck
1
Kompleksitas batas bawah dalam model pohon keputusan berasal dari batas bawah pada jumlah kemungkinan keluaran masalah (yang logaritma-nya memberikan batas bawah pada ketinggian pada pohon).
Totoro

Jawaban:

10

Model alami yang terkait dengan pohon keputusan yang dapat mensimulasikan RAM adalah program percabangan. Pada dasarnya, ini adalah pohon keputusan dengan sub pohon umum yang bergabung menghasilkan DAG. Waktu T dan ruang S pada RAM dapat disimulasikan dalam tinggi T dan ukuran 2 ^ S pada program percabangan. (Anda mungkin perlu menggunakan percabangan multi-arah.)

Untuk masalah keputusan, jelas bahwa setiap pohon keputusan hanya membutuhkan tinggi = # input dan spasi = total # bit dalam input. Perhatikan bahwa dengan percabangan multi-arah, seseorang mungkin memiliki # bit dalam input yang lebih besar dari ukuran # input yang biasa (mis. N pointer masing-masing mengambil log n bit.) Untuk masalah seperti itu dengan nlog n total bit input, seseorang dapat membuktikan bahwa masalah tertentu tidak dapat dipecahkan dalam waktu O (n) dan spasi = O (n) bit. Apakah itu bentuk masalah Anda?

Anda sepertinya menyarankan agar Anda menggunakan # output untuk mencoba mendapatkan batas bawah yang lebih besar. Biasanya untuk masalah multi-output memungkinkan banyak output sepanjang satu sisi daripada pada node daun (lihat, misalnya, makalah Borodin-Cook 1982 tentang penyortiran batas bawah). Namun, bahkan tanpa asumsi ini, kita juga dapat menghitung fungsi apa pun dengan tinggi = # input dan spasi = # bit input. (Baca dan ingat input, dan output semua nilai pada setiap node daun.)

Paul Beame
sumber
Terima kasih atas jawaban Anda. Input dari masalah adalah kumpulan himpunan bilangan bulat, sehingga dapat dianggap bahwa mereka diberikan sebagai daftar. Bagaimanapun, terima kasih telah menunjukkan teknik Borodin dan Cook (saya tidak tahu sama sekali). Saya berharap metode semacam itu dapat diterapkan untuk masalah saya.
Totoro
1

Model alami yang terkait dengan pohon keputusan yang mensimulasikan RAM tanpa kehilangan adalah program percabangan. Pada dasarnya, ini adalah pohon keputusan dengan sub pohon umum yang bergabung menghasilkan DAG. Waktu T dan ruang S pada RAM dapat disimulasikan dalam tinggi T dan ukuran 2 ^ S pada program percabangan. (Anda mungkin perlu menggunakan percabangan multi-arah.)

Untuk masalah keputusan, jelas bahwa setiap pohon keputusan hanya membutuhkan tinggi = # input dan spasi = total # bit dalam input. Perhatikan bahwa dengan percabangan multi-arah, seseorang mungkin memiliki # bit pada input yang lebih besar dari ukuran # input yang biasa (mis. N pointer masing-masing mengambil log n bit.) Untuk masalah seperti itu dengan nlog n total bit input, seseorang dapat membuktikan bahwa masalah tertentu tidak dapat diselesaikan dalam waktu O (n) dan spasi = O (n) bit pada RAM.) Apakah itu bentuk masalah Anda?

Anda sepertinya menyarankan agar Anda menggunakan # output untuk mencoba mendapatkan batas bawah yang lebih besar. Namun, bahkan dengan ini Anda juga dapat menghitung fungsi apa pun dengan tinggi = # input dan spasi = # bit input. (Baca dan ingat input, dan output semua nilai yang diperlukan pada setiap node daun. Biasanya memungkinkan beberapa output pada satu node.)

Paul Beame
sumber
Mungkin lebih baik bagi penulis untuk menggabungkan jawaban ini dengan yang sebelumnya karena mereka hampir identik.
Oleksandr Bondarenko