Respuesta: usa las 10 ratas como los 10 bits de un código binario.
Numera las botellas del 0 al 999. Cada número puede escribirse en binario con 10 bits, porque:
$$
2^{10}=1024.
$$
Asigna cada rata a una de esas 10 posiciones binarias. Para cada botella, mira su número en binario: si en una posición hay un 1, das una gota de esa botella a la rata correspondiente; si hay un 0, esa rata no prueba esa botella.
Por ejemplo, la botella 13 se escribe en binario con 10 bits como:
$$
0000001101.
$$
Eso significa que esa botella se incluye en la mezcla de las ratas correspondientes a los tres 1 de ese código. Si numeramos las posiciones de derecha a izquierda, morirían las ratas 1, 3 y 4.
Tras 24 horas, cada rata muerta marca un 1 y cada rata viva marca un 0. El patrón completo de muertes forma un número binario de 10 bits.
Si el patrón observado fuera:
$$
0000001101,
$$
leeríamos ese número en binario y obtendríamos 13. Por tanto, la botella envenenada sería la número 13.
Como 10 bits permiten distinguir 1024 patrones distintos, son suficientes para identificar con certeza una botella entre 1000.