Columnas

null El hotelito de Hilbert

Todos los años se celebra en Barcelona el Mobile World Congress, el mayor congreso del mundo dedicado a la tecnología móvil (según reza su publicidad). Es habitual que este evento colapse la ciudad y que no queden habitaciones de hotel libres; de hecho, muchos visitantes hacen las reservas ¡el año anterior! Esto no pasaría si Barcelona dispusiera de un Hotel de Hilbert.

Un Hotel de Hilbert tiene muchas habitaciones (infinitas), tantas que su lema es “Siempre hay una habitación libre”, aunque esté lleno. Cuando llega un nuevo huésped, el gerente envía al huésped de la habitación 1 a la habitación 2; al de ésta a la número 3, y así sucesivamente. Al final del proceso ha quedado libre la habitación 1 para el nuevo huésped. Pero una noche llegaron infinitos clientes, y aún así el gerente los ubicó. Para ello, al huésped de la habitación 1 lo trasladó a la 2; al de la habitación 2 lo trasladó a la 4, y así con todos los huéspedes. Al final de los traslados quedaron ocupadas las habitaciones pares y libres las habitaciones impares, donde pudo alojar a los nuevos clientes.

Todo marchaba bien hasta que un día llegan infinitos autobuses, con infinitos pasajeros en cada uno. Llegan “infinito al cuadrado” nuevos clientes, y esto supone un desafío para el gerente. Pero no hay problema (recuerden el lema: “siempre hay una habitación libre”). En primer lugar deja libres las habitaciones impares. A continuación, para alojar a los nuevos clientes, el gerente utiliza un sistema ingenioso. Imagina que los nuevos clientes son como los puntos del plano (con coordenadas naturales), donde cada fila representa un autobús, de modo que el cliente (i,j) representa el cliente nº j del autobús nº i. La primera habitación libre se la da al cliente (1,1); a continuación reparte las siguientes dos habitaciones libres a los clientes (1,2) y (2,1); seguidamente asigna las siguientes tres habitaciones libres a los clientes (1,3), (2,2) y (3,1); y así sucesivamente. Siguiendo un movimiento en zig-zag va recorriendo todos los autobuses, asignando habitaciones a todos los viajeros.

Y ese es el truco del gerente: siempre que pueda hacer una lista con los nuevos clientes, que los pueda enumerar, entonces también los podrá alojar en su hotel. El problema es que no todos los grupos de viajeros pueden ser enumerados. Pero esa es otra historia, que merece ser contada en otro momento.