Tengo vectores de bits, cada uno de los cuales está compuesto por bits. Denotemos con el bit del -ésimo vector, . Cada vector de bits está sujeto a las siguientes 2 restricciones:m v i [ j ] j i i , j ∈ [ 1 , m ] v i
- .
- .
- Los bits que no se encuentran dentro de las restricciones anteriores pueden ser o , pero en tal caso el número de puede ser como máximo . 1 0 12
Ahora tengo otro vector de bits , de bits: inicialmente todos los bits de se establecen en . Por "aplicación a " me refiero a la realización de una operación AND entre y , y luego almacenar el resultado en el . Estoy interesado en la evolución de después de aplicaciones repetidas de los vectores dados en la entrada. m m s 1 v i s s v i s s v 1 , . . . , v m
Llamemos a esas "aplicaciones repetidas" una trayectoria , y definamos tal trayectoria más formalmente. Una trayectoria es una secuencia compuesta por, como máximo, vectores (seleccionados de aquellos dados en la entrada) de modo que si está en la secuencia, entonces todos los después de ellos deben tener . Entonces, por ejemplo, es una trayectoria, mientras que no lo es (porque ). v 1 , . . . , v m v i v j j < i < v 8 , v 3 > < v 3 , v 8 , v 7 > 8 ≥ 3
Claramente, hay trayectorias diferentes. Deje . Supongamos a tomar y dejar que se someten a una trayectoria : para cada paso de la trayectoria , poner el nuevo valor tomado por en . Luego repita el mismo proceso para otra trayectoria (siempre comenzando desde , y siempre poniendo cada nuevo valor de en ). Por otra parte, hasta que haya probado todas las trayectorias posibles de . Al final, el conjunto contendrá todos los valores posibles que S = ∅ s = 1 m T 1 s S T 2 s = 1 m s S 2 m S s puede suponerse dados los vectores en la entrada.
Preguntas
- Tengo en la entrada. Quiero saber, Es decir, el número de valores distintos que pueden nunca asumir. Por supuesto, quiero calculareficientemente, es decir, sin probar todas las trayectorias posibles una por una.| S | s | S |
- Supongamos que se elimina la segunda restricción de los vectores de entrada. Cómo hacerlo afecta?
- Más importante aún, lo que más me importa es cómocrece con . Esa lo más polinomio en ? Esa lo sumo sub-exponencial en ? ¿O existen instancias malas en las quees necesariamente exponencial en ?m | S | m | S | m | S | metro
La siguiente figura es un ejemplo con :
Estoy recogiendo datos experimentales con el fin de tratar de averiguar cuál es la relación entre y. Hasta ahora, los experimentos parecen sugerir quecrece más rápido que y más lento que . Sin embargo, por el momento esos datos no tienen mucha importancia: solo pude hacer pruebas hasta , por lo que puede haber una gran constante oculta o algún otro factor que permita que una ley exponencial se vea como una ley polinómica para pequeña . Necesito ayuda para descubrir el comportamiento asintótico decon respecto a . | S | El | S | m 3 m 4 m = 90 m | S | metro
fuente
Respuestas:
He repensado esto y mi límite inicial fue correcto. En el peor de los casos,|S|=Θ(m2mlgm)
La prueba tiene dos partes. En primer lugar . Considere los posibles valores desde una trayectoria que termina envx. Cada bits[j]paraj≥xes 0, y cada bits[j]paraj<x-m|S|=O(m2mlgm) s vx s[j] j≥x s[j] es 1. Por lo tanto, solo hay2mj<x−mlgm valores quespuede tomar. Multiplicamos por el número devxy tenemos el límite superior.2mlgm s vx
En segundo lugar, considere
Afirmo que este esquema te da . Para cada columnavxconsidere también el(m|S|=Ω(m2mlgm) vx columnas a su derecha. Cada uno de los2 m(mlgm−2) combinaciones de ellas dan unasdiferente, y en cada una de esassel bit de conjunto superior es el bit de conjunto superior devx, por lo que no hay un recuento doble entre diferentesvx.2mlgm−2 s s vx vx
fuente