¿Recuerdas el concurso de televisión «Cifras y Letras», que emitía Televisión Española? Las pruebas de letras estaban bien, pero las realmente interesantes eran las de cifras, ¿verdad? Para los que nunca vieron el programa (se emitía por La 2 y por TVE Internacional) o ya no lo recuerden, cada prueba consistía en obtener un número objetivo haciendo operaciones con otros seis números. En detalle, las reglas son las siguientes.
Los seis números de partida se eligen al azar entre 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 25, 50, 75 y 100. Los números están en 24 tarjetas que se ponen bocabajo en cuatro filas de 6 tarjetas cada una. Los números entre 1 y 9 están en las tres primeras filas (cada uno aparece dos veces), mientras que los más grandes están en la cuarta fila (el 10 dos veces, y los demás, una vez cada uno). Los dos jugadores eligen números de la fila que quieren por turnos.
El número objetivo se elige al azar entre 100 y 999. (Realmente no está claro si el límite inferior es 100 0 101; parece lógico descartar el 100, ya que puede aparecer directamente entre los números de partida).
Hay que hacer operaciones con los números de partida o con los obtenidos con ellos. Las operaciones permitidas son la suma, la resta, la multiplicación y la división. Los resultados de estas operaciones deben ser números enteros y positivos. Sólo se puede hacer una división si no queda resto.
No es obligatorio usar todos los números y no se puede usar ninguno dos veces.
Si no es posible conseguir el número exacto se debe procurar aproximarse lo más posible. El tiempo disponible es de 45 segundos y sólo se puede usar papel y bolígrafo.
Gana cada prueba el jugador que se ha acercado más al número objetivo. Si ha conseguido el número exacto se anota ocho puntos; si ha conseguido una aproximación, se anota seis. En caso de empate, en cada prueba tiene ventaja uno de los dos, por turnos (o sea, que en cualquier caso sólo uno se anota puntos).
Al final de cada prueba, una «experta» intentaba mejorar la solución de los concursantes (y muchas veces lo conseguía). Naturalmente, esta experta no se ayudaba de un ordenador portátil (como se ha visto en versiones posteriores).
El concurso televisivo apareció en 1965 en Francia, de la mano de Armand Jammot y emitido por France Télévisions. Al principio se llamaba «Le mot le plus long», y sólo contenía pruebas de letras (eran siete letras, no nueve), además de preguntas de cultura general. Empezó como programa quincenal, y a partir de 1968 se convirtió en semanal. En 1972 Jammot tuvo la idea de introducir las pruebas de cifras, consiguiendo un gran éxito, con una audiencia de hasta siete millones de espectadores. El programa pasó a llamarse Des chiffres et des lettres (la parte de cifras, «Le compte est bon») y empezó a emitirse diariamente. Creo que, en lo que respecta a las pruebas de cifras, la versión francesa tiene las siguientes diferencias con respecto a la española:
Los concursantes tienen que usar una pantalla táctil, donde deben ir haciendo las operaciones. Esta pantalla les sirve de calculadora. Al pasar el tiempo (que puede no ser de 45 segundos; en el simulador de Alexandre Oberlin es de 50), debe haberse obtenido el objetivo.
En caso de empate en una prueba (es decir, si los dos jugadores consiguen el número exacto o una aproximación a la misma distancia del objetivo) ambos se anotan los puntos. El número de puntos también puede variar.
Hay también una versión en el Reino Unido llamada Countdown, con las siguientes particularidades:
En cada prueba, un jugador elige todos los números. Los números pequeños (entre 1 y 10) y grandes (25, 50, 75 y 100) están separados, así que puede elegir cuántos quiere de cada clase.
El tiempo para pensar es de sólo 30 segundos. Parece que no hay pantalla táctil o similar y que las operaciones se deben explicar al final.
Hay tres posibles puntuaciones: 10 si el resultado es exacto, 7 si la diferencia con el objetivo es de 5 o menos, y 5 si la diferencia es de más de 5 y no más de 10. No hay puntuación para resultados más alejados. Como en la versión francesa, ambos concursantes se pueden anotar puntos cada vez, si se quedan a la misma distancia.
La explicación más completa del mecanimso de esta versión británica se encuentra en esta página de Adrian Dover. Countdown fue la primera emisión de Channel 4, en 1982, y aún se sigue emitiendo en la actualidad (con bastante éxito, me parece).
Es lógico que este tipo de pruebas interesara a los aficionados a las matemáticas y sobre todo, a la programación de computadoras. Pronto se vio que el problema era atacable mediante un algoritmo de búsqueda exhaustiva. A partir de los seis números de partida se pueden generar muchísimas secuencias de operaciones; pero aunque grande, es un número manejable incluso por los ordenadores de hace años (si no teníamos prisa). Sin embargo, para que un programa fuera competitivo usando los ordenadores domésticos de hace unos diez años (es decir, para que pudiera resolver las pruebas en menos de 45 segundos) eran necesarias optimizaciones. Las optimizaciones son variadas y pueden complicar bastante el algoritmo. Con los ordenadores actuales ya no son tan necesarias (aunque esto es relativo: vuelven a ser necesarias si usamos un lenguaje de programación lento o si cambiamos las condiciones del problema, como añadir más números de partida).
Un plan de ataque aún más simple, aunque efectivo, consiste en probar secuencias de operaciones al azar. Pese a lo que pueda parecer, esta estrategia tan elemental era suficiente para resolver rápidamente la mayoría de las pruebas incluso en ordenadores antiguos, como un 486.
Todos los programas que se indican a continuación resuelven pruebas de cifras, usando uno u otro método. Algunos, además, simulan más fielmente el juego, generando al azar las pruebas para que el usuario las resuelva (y después comprueban las operaciones). Hay simuladores que incluyen también las pruebas de letras.
Programa para MS-DOS de José Ángel González Rodríguez. Si lo entiendo bien utiliza un algoritmo de ensayo y error a ciegas, generando secuencias de operaciones de forma aleatoria (puede probar varias veces la misma secuencia de operaciones). Si es así, en teoría podría no ser capaz de resolver alguna prueba. En la práctica, en ordenadores actuales, parece que encuentra soluciones óptimas de forma prácticamente instantánea. Incluye código fuente para Borland C++ 3.1.
Ricardo Sánchez elaboró un programa para MS-DOS llamado Cifroso que resuelve cualquier prueba de cifras, hallando siempre todas las soluciones óptimas, es decir, con menor número de operaciones. Usa un algoritmo optimizado muy rápido y está programado en Turbo Pascal. Cifroso se puede descargar desde esta misma página.
Programa para Windows 3.1 (y superiores: probado en XP) de Óscar González Jiménez (MiSoft). Es un simulador muy completo del concurso de televisión, incluyendo también las pruebas de letras. El ordenador tiene tres niveles, estando disponible sólo el primero (nivel novato) en la versión gratuita (hay otras limitaciones; la versión completa cuesta 15 euros). En este nivel, el ordenador no siempre resuelve óptimamente las pruebas (no sé en los otros).
Programa para Windows (probado en XP) de David José Alonso García. El algoritmo no está optimizado (creo que hace todas las secuencias de operaciones posibles), pero en ordenadores actuales sólo tarda unos segundos en encontrar la solución (el número exacto o, cuando no es posible, una aproximación). También incluye un modo «juego de la tele» para un solo jugador. Está programado en Delphi.
Programa de Pedro Reina que resuelve óptimamente cualquier prueba en menos de un segundo. Se puede ejecutar desde el servidor web de Pedro mediante una interfaz PHP o bajar el código fuente en C (distribuido con licencia LGPL). En la página hay una explicación del algoritmo y también otro programa que resuelve las pruebas de letras.
Este programa (al parecer, un completo simulador del concurso) tiene el aliciente de que su autor y distribuidor es nada menos que Blai Figueras, campeón de 1992 y recordman absoluto del concurso. Además, incluye un libro electrónico sobre estrategia escrito también por él. El programa es para Windows y no se puede descargar ninguna versión (me imagino que hay que comprarlo, previo contacto electrónico con Blai). Según la información de la página, resuelve óptimamente todas las pruebas.
En esta página web de Emmanuel Harang se explican dos algoritmos para resolver óptimamente las pruebas de cifras: uno rápido y otro aún más rápido. Hay varios programas (código fuente C y ejecutables para DOS y Windows) basados en ambos algoritmos y un applet java en línea basado en el segundo. Todo en francés.
Programa para Windows de Frédéric Just que simula el juego (sólo la parte de cifras) y también busca soluciones óptimas. Al parecer usa un algoritmo de prueba exhaustiva sin optimizaciones. También en francés.
Programa para Windows (hay una versión para Windows 3.1 y otra para Windows 95, 98, NT, 2000 o XP) de Alexandre Oberlin, con ambos tipos de pruebas. Tiene muchas opciones, incluido un modo de competición que reproduce fielmente el mecanismo del concurso, y un modo libre en el que se puede elegir el tipo de prueba e introducir directamente los números o generar pruebas aleatoriamente con opciones como definir el rango del número objetivo (ambos límites pueden estar entre 2 y 32767) o usar cualesquiera números de partida entre 1 y 100. Tiene seis niveles de juego (el nivel imbatible debe encontrar siempre soluciones óptimas) y creo que usa un algoritmo optimizado. Sólo requiere 386 o superior. En francés.
Un programa en línea que genera y resuelve óptimamente pruebas de cifras. Muestra todas las soluciones distintas ordenadas de más a menos intuitivas y asigna un grado de dificultad a la prueba (en la F.A.Q explica estos criterios). En inglés.
Otro programa en línea, en este caso un applet java, que genera y resuelve óptimamente pruebas de cifras. Selecciona entre las soluciones las que usan menos números de partida. Tiene una opción para buscar soluciones para todos los objetivos entre 1 y 100. Incluye código fuente. En inglés.
Un fiel simulador para Windows 95 o superior (probado en XP) del concurso británico. Incluye imágenes y sonidos tomados directamente de la emisión, incluyendo las voces de los presentadores. Pueden jugar dos personas o contra el ordenador (que tiene tres niveles de juego). En cualquier caso, siempre se puede consultar la solución de los expertos. No se pueden elegir números concretos ni seleccionar un tipo de prueba; hay que pasar todo el concurso tal cual (¡y sólo hay dos pruebas de cifras!). Sólo funciona con resolución 800×600.
Hace tiempo, cuando veía el concurso, escribí un pequeño programa para generar pruebas de cifras. A medida que las iba resolviendo les asignaba un grado de dificultad. Aquí hay unas cuantas de aquellas pruebas, por si quieres practicar. La apreciación de la dificultad es subjetiva (principalmente según el tiempo que tardaba). Las últimas cinco pruebas no pude resolverlas sin ayuda y posiblemente sean las más difíciles. Puedes consultar una solución (normalmente hay más) poniendo el puntero del ratón sobre el número objetivo.
Prueba nº |
Números de partida | Objetivo | |||||
---|---|---|---|---|---|---|---|
1 | 4 | 10 | 7 | 9 | 2 | 25 | 232 |
2 | 10 | 2 | 9 | 5 | 7 | 100 | 298 |
3 | 2 | 75 | 9 | 6 | 100 | 8 | 474 |
4 | 3 | 10 | 7 | 6 | 75 | 10 | 381 |
5 | 7 | 3 | 50 | 25 | 6 | 100 | 741 |
6 | 2 | 4 | 75 | 4 | 50 | 2 | 502 |
7 | 8 | 25 | 10 | 2 | 9 | 4 | 549 |
8 | 7 | 10 | 3 | 2 | 1 | 25 | 223 |
9 | 7 | 4 | 100 | 5 | 9 | 10 | 156 |
10 | 2 | 10 | 7 | 50 | 100 | 10 | 259 |
Prueba nº |
Números de partida | Objetivo | |||||
---|---|---|---|---|---|---|---|
11 | 5 | 5 | 50 | 10 | 4 | 6 | 648 |
12 | 25 | 8 | 10 | 9 | 3 | 3 | 547 |
13 | 6 | 10 | 2 | 100 | 7 | 7 | 186 |
14 | 1 | 5 | 9 | 10 | 25 | 2 | 716 |
15 | 75 | 9 | 10 | 6 | 50 | 2 | 182 |
16 | 2 | 4 | 5 | 100 | 25 | 1 | 873 |
17 | 9 | 50 | 6 | 4 | 75 | 1 | 826 |
18 | 2 | 75 | 1 | 10 | 7 | 25 | 348 |
19 | 3 | 1 | 75 | 2 | 10 | 7 | 395 |
20 | 6 | 1 | 25 | 7 | 6 | 8 | 583 |
Prueba nº |
Números de partida | Objetivo | |||||
---|---|---|---|---|---|---|---|
21 | 9 | 6 | 75 | 7 | 2 | 50 | 264 |
22 | 5 | 3 | 9 | 50 | 4 | 5 | 458 |
23 | 1 | 10 | 3 | 3 | 75 | 4 | 322 |
24 | 100 | 2 | 6 | 4 | 25 | 6 | 305 |
25 | 2 | 1 | 10 | 10 | 7 | 100 | 274 |
26 | 1 | 100 | 4 | 50 | 3 | 4 | 661 |
27 | 10 | 8 | 75 | 2 | 100 | 4 | 431 |
28 | 100 | 75 | 1 | 8 | 3 | 75 | 511 |
29 | 100 | 3 | 2 | 25 | 3 | 9 | 407 |
30 | 5 | 50 | 1 | 8 | 75 | 8 | 713 |
Rodolfo Valeiras
Última modificación: 22 de diciembre de 2003