Conozco mucha gente que está interesada en que publique tantos problemas como pueda en donde haya una suerte de desafío. La idea es tener que pensar, o mejor dicho, tener “algo para pensar”. Siempre es posible agregarle una motivación “extra”, como por ejemplo, que el problema haya sido propuesto en alguna entrevista de trabajo en donde se intenta medir la capacidad de adaptación a nuevas situaciones de parte de la candidata (o candidato). Pero tengo algo más para decir: cuando la compañía interesada en la contratación es o bien Apple o bien Google, por poner dos de los ejemplos más rutilantes, entonces el problema adquiere una dimensión distinta.
De eso se trata el que voy a proponer ahora. Verá que tiene un enunciado muy sencillo y si estuviera junto a usted mientras está leyendo estas líneas, le pediría que lo lea y salvo que tenga tiempo ahora mismo, lléveselo con usted y cuando pueda, dedíquese a usted misma/mismo la oportunidad de disfrutarlo. Es un problema precioso y la solución (que yo conozco) está al alcance de todos y está “ahí”, lista para ser deducida. No se lo pierda, téngame confianza.
Acá voy. Suponga que usted entra en un bar. En la barra hay 25 asientos, puestos en una hilera o fila (como se ve en la Figura 1).
La curiosidad es que todos los clientes que el bar tiene (y ha tenido históricamente) son antisociables. ¿Qué quiero decir con esto? Cada vez que alguien viene al bar, mira cuáles de los 25 asientos están disponibles y sigue la siguiente regla (no escrita) pero que todos cumplen: si todos los asientos están vacíos, se sienta en cualquier parte, pero si hay alguno o algunos ocupados, se sienta dejando la máxima distancia posible con los otros clientes que ya están ocupando algunos asientos. En particular, esto dice que nadie se sienta “al lado de nadie”, en el sentido de que si alguien entra y advierte que para sentarse tendrá que tener algún vecino, entonces “pega media vuelta” y se va.
Algo más que transforma esta escena en algo bizarro: el barman, si él pudiera, trataría de que aun siguiendo la regla que se autoimpusieron, siempre haya la mayor cantidad de clientes posibles.
Ahora, tengo una pregunta para usted: si el barman pudiera elegir dónde sentar al primer cliente, ¿dónde le convendría sentarlo para que se pueda alcanzar el máximo posible de clientes? Es decir, ¿cuál debería ser la estrategia que debería seguir el barman de manera tal que cuando empiecen a llegar los clientes, ocupen la mayor cantidad de lugares?
Como usted ve, el enunciado del problema es ciertamente sencillo. ¿Por qué habrían de elegir Google o Apple plantear situaciones de este tipo? Si yo tuviera que dar una respuesta, diría que se valora muchísimo la capacidad de elaborar o establecer estrategias. No se mide el “volumen de conocimiento” sino la “capacidad creativa”, la “capacidad para inventar”, para “correrse de los lugares comunes”.
Ahora sí, la/lo dejo a usted con usted misma/mismo.
Me pongo en su lugar y me imagino que usted advierte que la solución al problema es lograr que se sienten como aparece en la última fila de la Figura 2. Es decir, uno debería lograr que se sienten clientes en todos los asientos que tienen un número impar, dejando vacíos los números pares. De esta forma, se puede llegar al máximo de trece personas. No se pueden ubicar más, porque cualquier otro que quiera ocupar un lugar, terminaría teniendo algún vecino, cosa que está prohibido expresamente. ¿Qué dice esto entonces? Esto nos permite deducir que el máximo posible de personas es trece y tienen que estar distribuidas de esa forma. Conocemos entonces la distribución final, sí, pero ¿cómo la logramos? Es decir, ¿cómo llegamos hasta ella?
Sígame por acá: suponga que llega el primer cliente cuando el bar está vacío. ¿Dónde se sienta? Digamos que elige una de las dos puntas. Elijo el asiento #1 pero el #25 sirve igual: todo es simétrico en este contexto. El primer cliente se sentó en #1 y llega otra persona. Para seguir con la regla, tiene que sentarse en #25. De esa forma estará lo más alejada posible del #1. Hasta acá, todo bien. Llega un tercer cliente. Una vez más, para seguir con la regla y elegir un lugar que sea lo más alejado posible de los dos que están ubicados, debe sentarse en el lugar #13. De esta forma, hay 12 asientos vacíos hacia el lado en donde está sentado el #1 y también 12 asientos vacíos hacia el lado en donde está sentado el #25. Cuando llegue un cuarto cliente, verá que están ocupados el #1, #13 y #25. Acá hay un par de posibilidades: o bien se sienta en #7 o en #19. En cualquier caso, si elige #7, cuando venga el siguiente se sentará en #19 (y viceversa). O sea, podemos suponer que ahora están ocupados: #1, #7, #13, #19 y #25.
Pero ahora se plantea un problema que no habíamos previsto. Recuerde que queremos llegar a que en el final, se ocupen todos los asientos impares y que los pares queden todos libres. Fíjese lo que pasa ahora: cuando llegue el sexto cliente, ¿dónde se sienta? Los espacios que quedan entre los cinco que ya están sentados son siempre los mismos: seis asientos entre ellos. Por lo tanto, el próximo cliente debería sentarse o bien en el #4, o en el #10 o en #16 o en #22. No importa cuál de los cuatro, pero como usted advierte, son todos pares. Mmmmm… ¿y entonces?
Entonces deducimos que no podemos empezar haciendo sentar al primero en el asiento #1 o en el #25, porque al seguir la regla llegamos en pocos pasos a tener que ubicar clientes en asientos pares. ¿Qué hacer? ¿Habrá alguna forma de empezar de manera tal que al final, la configuración quede con todos los impares ocupados y los pares libres?
Acá es donde me gustaría volver a dejarla/dejarlo para que usted piense por su cuenta. Es que apareció una situación que no habíamos considerado: para llegar a la distribución ideal, es necesario empezar en alguna parte y seguir con la regla establecida. Esto implica decidir dónde ubicar al primer cliente. A partir de allí, todo lo demás es directo, pero elegir el asiento del primero es determinante. Si me permite una sugerencia, le haría la siguiente: empiece “de atrás hacia adelante”. Es decir, usted (y yo) sabemos cuál tiene que ser la configuración final. Empiece desde allí, y evalúe qué pasos tuvieron que darse para llegar hasta allí.
Por ejemplo, si al final hubo alguien sentado en el #3, es porque antes tuvo que haber dos personas ocupando #1 y #5. Esta es la única forma de poder ocupar el #3. ¿Y cómo puede ser que haya alguien que pudo sentarse en el #5? Es porque los asientos #1 y #9 debieron estar ocupados en algún paso anterior. Y esto me fuerza a seguir con las preguntas: ¿y cómo hacer para que alguien tuviera que sentarse en #9? Para eso, tuvo que haber pasado que dos personas estuvieran ocupando el #1 y el #17.
Y acá aparece un problema que no tuvimos antes. ¿Cuál? Para que alguien haya tenido que ocupar el #17, es porque había gente ocupando #1 y #33. Todo bien.. claro, pero.., ¡pero no existe el asiento #33! ¿Entonces? Acá pareciera como que hemos llegado a un problema sin solución. ¿Cómo lograr que el asiento #17 esté ocupado? ¿Se le ocurre algo?
Recuerde cuál era la pregunta original del problema. El barman… sí, el barman, era quien tenía que tomar la decisión sobre dónde ubicar a la primera persona. Justamente acá es donde ha llegado el momento en el que él tiene que intervenir. Acá es donde el barman tiene que invitar a la primera persona que llega a que se siente en el lugar #17. Como en el bar no hay nadie, hay total libertad de elegir en dónde sentarse sin violar la regla (no escrita). ¿Comprobamos juntos que funciona?
Veamos. El primero ocupa el lugar #17. El segundo que llega (como se ve en la figura 2), se sienta lo más alejado de él o de ella que le es posible, y para eso, tiene que ocupar el #1. El cliente que sigue puede elegir: o se sienta en #9 o en el #25. Los dos dejarían siete asientos vacíos. Digamos que elige el #25. Cuando llegue el próximo, tendrá que sentarse en #9. Los siguientes tendrán que ocupar (verifíquelo usted, por favor) #5, #13 y #21. Cada uno de ellos tiene tres asientos vacíos respecto del vecino. Y al final, los siguientes seis clientes tendrán que ocupar los únicos lugares que no tengan ningún vecino: #3, #7, #11, #15, #19 y #23, como se ve en la Figura 2.
Me quiero apurar a escribir que el barman pudo haber elegido #9 en lugar del #17 y todo habría funcionado igual de bien. La simetría que tiene el problema así lo permite. Pero no quiero terminar sin hacer una observación más: elaborar una estrategia para llegar a un determinado destino es algo no menor. No siempre es fácil, no siempre es posible. Pero el espíritu investigador, el entrenamiento que requiere, permite distinguir a aquellas personas que disfrutan del placer de pensar. No hay fórmulas mágicas ni caminos directos o que sean siempre conducentes. Pero el placer de tener un problema no resuelto en la cabeza es una asignatura pendiente que tenemos en nuestros colegios y escuelas. Permitámonos que algo no nos salga. ¡No pasa nada! Es bueno saber frustrarse y aprender a tener paciencia y a “jugar en equipo”. Lo que no se le ocurre a uno, se le ocurre a otro, y entre todos, es posible que podamos resolver el problema. No sé si servirá para trabajar en Google o en Apple o en Microsoft, pero seguro que mejora nuestra calidad de vida.