Pertimbangkan masalah keputusan berikut. Biarkan dan biarkan (C_0 ^ n, C_1 ^ n, \ dots, C_ {q-1} ^ n) menjadi cocok enumerasi himpunan bagian dari \ {0,1, \ dots, n-1 \} yang memiliki paling banyak n / 4 elemen.
Input Keanggotaan Quarter-Subset : tupel bilangan bulat non-negatif diwakili dalam biner
Pertanyaan: apakah ?
Dengan memilih enumerasi "bagus" , dapatkah Keanggotaan Sub-Bagian ditentukan oleh mesin Turing deterministik menggunakan tidak lebih dari bit ruang kerja, untuk semua n cukup besar ?
Diskusi
Biarkan . Sangat mudah untuk menghitung semua himpunan bagian dari elemen k paling banyak dipilih dari dengan melacak indeks ukuran masing-masing bit. (Lihat juga diskusi di bagian TAOCP Knuth 7.2.1.3.) Ketika adalah konstan, ini hanya bit. Namun, jika kita membiarkan untuk beberapa konstanta , maka skema enumerasi seperti itu menggunakan ruang . Satu juga dapat menggunakan vektor karakteristik bit bersama-sama dengan cek untuk jumlah bit yang ditetapkan. Saya tertarik pada skema yang mengalahkan bit.
Pertanyaan yang berkaitan erat adalah:
Untuk positif memuaskan ketimpangan , apakah ada kode yang mewakili himpunan bagian dari paling banyak elemen dipilih dari yang menggunakan bit untuk beberapa konstanta , dan dapat diterjemahkan secara efisien?c log ( e ( 1 + c ) / c ) < 1 c n n d n d < 1
Perhatikan bahwa untuk cukup besar , dan karena ketika maka informasi-secara teoritis mengikuti bahwa akan dicapai dengan kode yang sempurna. (Ini kurang dari jika .) Karena itu saya mencari kode yang cukup bersih yang dapat dimanipulasi tanpa menggunakan banyak ruang.k ∑ i = 0 ( nlog ( n+k-1
Untuk mendapatkan kode yang sempurna, seseorang dapat memilih enumerasi himpunan bagian, menjalankan indeks melalui enumerasi dalam urutan yang meningkat, dan kemudian memperoleh setiap kombinasi dengan mendekode indeks. Namun, mendekode kode seperti itu ketika tampaknya memerlukan penggunaan setidaknya bit ruang untuk enumerasi yang telah saya lihat, seperti melalui vektor karakteristik yang dipesan dengan menambah berat Hamming dan kemudian secara leksikografis , atau melalui kode Gray.n
Mungkin ada cara untuk melakukan ini dengan ruang, tapi saya pikir lebih mungkin untuk dilakukan. ( 1 - ε ) n
Perhatikan bahwa karena , informasi-teoretis batas bawah sudah bit, jadi ini benar-benar tentang apakah dapat dicapai untuk beberapa . Kode yang cukup bagus (tapi belum tentu sempurna) tampaknya sudah cukup untuk menjawab pertanyaan saya di afirmatif. Mungkin juga halnya Keanggotaan Quarter-Subset dapat diputuskan secara efisien tanpa membuat kode secara eksplisit. Di sisi lain, enumerasi semacam itu mungkin tidak ada: misalnya, setiap urutan enumerasi untuk nilaiΩ(n)(1-ε)nε>0n(1-ε)n mungkin secara inheren tidak seragam, atau mungkin terjadi bahwa setiap bit terikat harus sering dilanggar tanpa batas.