Considere el siguiente problema de decisión. Deje y deje que sea adecuado enumeración de aquellos subconjuntos de que tienen como máximo elementos.
Entrada de membresía del subconjunto trimestral : tupla de enteros no negativos representados en binario Pregunta: ¿ es ?
Al elegir una enumeración "agradable" , ¿puede la Membresía de un Subconjunto de Cuartos ser decidida por una máquina de Turing determinista que utiliza no más de bits de espacio de trabajo, para todos los suficientemente grandes ?
Discusión
Deje . Es fácil enumerar todos los subconjuntos de, como máximo, elementos elegidos de mediante el seguimiento de índices de tamaño bits cada uno. (Consulte también la discusión en la sección 7.2.1.3 de TAOCP de Knuth.) Cuando es constante, esto es solo bits. Sin embargo, si dejamos para algún constante , entonces dichos esquemas de enumeración usan el espacio . También se puede usar un vector característico de n bits junto con una verificación del número de bits establecidos. Estoy interesado en esquemas que superan n bits.k n k ⌈ log n ⌉ k O ( log n ) kc ≤ 1 / 4 Ω ( n log n ) n n
Una pregunta estrechamente relacionada es entonces:
Para positivo que satisface la desigualdad , ¿hay un código que represente subconjuntos de a lo sumo elementos elegidos de que use bits para alguna constante , y puede ser decodificado de manera eficiente?c log ( e ( 1c n n d n d < 1
Tenga en cuenta que para suficientemente grande , y dado que cuando entonces la información teóricamente se deduce que se lograría con un código perfecto. (Esto es menos de si .) Por lo tanto, estoy buscando un código razonablemente limpio que pueda manipularse sin utilizar mucho espacio.k ∑ i = 0 ( nlog ( n+k-1
Para obtener un código perfecto, uno podría elegir alguna enumeración de los subconjuntos, ejecutar un índice a través de la enumeración en orden creciente y luego obtener cada combinación decodificando el índice. Sin embargo, decodificar dicho código cuando parece requerir el uso de al menos bits de espacio para las enumeraciones que he visto, como a través de vectores característicos ordenados aumentando el peso de Hamming y luego lexicográficamente o mediante los códigos Gray.n
Puede haber una manera de hacer esto con espacio, pero creo que es más probable que sea factible. ( 1 - ε ) n
Tenga en cuenta que dado que , el límite inferior teórico de la información ya es bits, por lo que realmente se trata de si se puede lograr para algunos . Un código que sea lo suficientemente bueno (pero no necesariamente perfecto) parecería ser suficiente para responder a mi pregunta afirmativamente. También podría darse el caso de que la Membresía de un subconjunto de trimestres se pueda decidir eficientemente sin construir explícitamente un código. Por otro lado, tal enumeración puede no existir: por ejemplo, cada secuencia de enumeraciones para valores deΩ ( n ) ( 1 - ε ) n ε > 0 n ( 1 - ε ) n podría ser intrínsecamente no uniforme, o podría ser el caso de que cualquier límite de bit deba romperse infinitamente a menudo.