El orden no importa aquí, sólo el tamaño del espacio de búsqueda. Como cada pregunta es sí/no, divide el espacio en dos partes, y el único parámetro que importa para cada pregunta es cómo dimensionar esas partes. Esto nos permite calcular el coste esperado de forma recursiva. Definir $T(n)$ para ser el coste medio de hacer suficientes preguntas para determinar el número de un espacio de búsqueda de $n$ . Por definición $T(1)=0$ (técnicamente el juego no termina hasta que hayas adivinado el número, pero esto sólo añade $O(1)$ al coste, por lo que jugaré con esta distinción).
Para $n \ge 2$ el coste esperado de preguntar "es el número en un subconjunto dado de tamaño $k$ ?" y seguir jugando en el espacio de búsqueda restante es $1 + \frac{k}{n} (9 + T(k)) + \frac{n-k}{n} T(n-k)$ . Así que optimizamos esta cantidad sobre todas las $0 < k < n$ :
$$T(n) = \min_{0<k<n} 1 + \frac{k}{n} (9 + T(k)) + \frac{n-k}{n} T(n-k) = 1 + \frac1n \min_{0<k<n} (9k + kT(k) + (n-k)T(n-k)).$$
Esto da un valor óptimo de $T(100) = 26.5$ , sustancialmente mejor que CJ de la respuesta de buherator (suponiendo que estemos de acuerdo en el $O(1)$ convención). He calculado los costes y movimientos óptimos hasta $n=10000$ .
Una estrategia óptima para $n=10000$ cuesta alrededor de $52.1$ y la primera pregunta es "¿está el número en el rango $[1,1607]$ ?" Esto tiene un $0.1607$ posibilidad de coste $10$ más el coste de resolver el tamaño $1607$ problema (que es $\approx 41.956$ ), y un $0.8393$ posibilidad de coste $1$ más el coste de resolver el tamaño $8393$ problema (que es $\approx 51.127$ ).
Este ejemplo sugiere que el límite óptimo se encuentra aproximadamente donde los dos casos se equilibran en coste , al igual que en el caso simétrico. Si hacemos esta suposición, podemos hacer un buen trabajo de aproximación a la estrategia óptima. El valor de $T(n)$ está a priori entre $\log_2 n$ y $10 \log_2 n$ : hacemos el ansatz de que es asintótica a $c \log n$ para alguna constante $c$ . Entonces, el corte óptimo se produce cuando
$$9 + c \log k = c \log(n-k) \implies \frac{k}{n} = \frac{1}{1 + e^{9/c}}.$$
Por otro lado (siempre bajo la hipótesis clave) el coste también es igual al número de iteraciones que descienden a la mitad grande, por lo que $c = -1/\log(1-\epsilon)$ . Esto da dos ecuaciones en $\epsilon$ y $c$ :
$$\epsilon = \frac{1}{1 + e^{9/c}}, c = -1/\log(1-\epsilon),$$ que tiene la solución numérica $\epsilon \approx 0.164922, c \approx 5.548537$ . Así que yo conjeturaría que la estrategia óptima se acerca a "¿está el número en el primer 16,5% del rango actual?" La relación real parece ser bastante no monótona, variando hacia arriba y hacia abajo entre $0.14$ y $0.17$ como $n$ aumenta, incluso para grandes $n$ . Esto podría deberse a errores de redondeo en mi cálculo (podríamos estar comparando varios $k$ valores cuyas puntuaciones son realmente cercanas), pero si no es así entonces sugiere que la desviación entre el óptimo $k$ y $\epsilon n$ es algo más que redondear a un valor entero de $k$ .