domingo, 20 de febrero de 2011

Cartones de Bingo.

Antes de ayer participé en el Bingo Interclubes (http://www.bingointerclubes.com.ar/), no gané nada, pero la pasé muy bien. Participaron más de 40.000 personas, todas con la misma ilusión que yo: ganar alguno de los 21 premios que se sorteaban.

Una de las preguntas que me hice fué: ¿Cuántos cartones se pueden emitir sin que se repita ninguno de ellos?.

Aquí la respuesta, o al menos una aproximación. Ya que no conozco con exactitud las restricciones que tiene que cumplir un cartón, supongo algunas cosas...

Un cartón de bingo consiste en quince números, del 1 al 90. Pero no cualquier conjunto de 15 números es un cartón válido, por ejemplo: no es un cartón válido aquel que tenga los números: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ,11 ,12 ,13 ,14 ,15}.

Cada cartón, está formado por 9 columnas de 3 casilleros cada una, la primer columna corresponde a números del 1 al 9, la segunda del 10 al 19, la tercera del 20 al 29,...etc, finalmente la última del 80 al 90. Cada columna puede estar rellena con 1, 2 o 3 números.
En la siguiente imagen vemos un ejemplo.



Luego de la breve introducción de lo que es un cartón vamos a tratar de contar cuantos cartones distintos se pueden emitir.

En la primer columna los número pertenecen al conjunto {1,2,3,4,5,6,7,8,9}, por lo tanto,
  1. La cantidad de columnas distintas con un solo casillero lleno es: 9
  2. La cantidad de columnas distintas con dos casilleros llenos es: 9*8/2!=36.
  3. La cantidad de columnas distintas con tres casilleros llenos es: 9*8*7/3!=84.
Las siguientes 7 columnas, tienen un conjunto de 10 números, por lo tanto.
  1. La cantidad de columnas distintas con un solo casillero lleno es: 10
  2. La cantidad de columnas distintas con dos casilleros llenos es: 10*9/2!=45.
  3. La cantidad de columnas distintas con tres casilleros llenos es: 10*9*8/3!=120.
Finalmente, la última columna tiene un conjunto de 11 números validos, por lo tanto.
  1. La cantidad de columnas distintas con un solo casillero lleno es: 11
  2. La cantidad de columnas distintas con dos casilleros llenos es: 11*10/2!=55.
  3. La cantidad de columnas distintas con tres casilleros llenos es: 11*10*9/3!=165.
Ahora que tenemos las columnas contadas, falta ver cómo combinarlas, ya que la suma de números rellenos es 15.
Para contarlos hice un programa. (Lo hice en Prolog, porque es lo que últimamente estoy usando).

La cantidad de cartones me dió: 6.080.082.602.343.750 (seis mil billones).
Está mal? no lo se, me gustaría leer comentarios. Lo que si sé es que si relajamos el problema (llamémoslo:Bingo Relajado) permitiendo que el cartón este formado por cualquier conjunto de 15 números del 1 al 90. Entonces la cantidad de cartones serian: 90!/(75!*15!)= 45.795.673.964.460.816 (cuarenta y cinco mil billones). Algo está bien: la cantidad de cartones del Bingo es menor que la cantidad de cartones del Bingo Relajado.

Les dejo el programa.

% Suma los elementos de una lista
sum([], 0).
sum([H|T], Result) :- sum(T, Rest), Result is H + Rest.

:- C1 = [[1,9],[2,36],[3,84]],
C2 = [[1,10],[2,45],[3,120]],
C3 = [[1,10],[2,45],[3,120]],
C4 = [[1,10],[2,45],[3,120]],
C5 = [[1,10],[2,45],[3,120]],
C6 = [[1,10],[2,45],[3,120]],
C7 = [[1,10],[2,45],[3,120]],
C8 = [[1,10],[2,45],[3,120]],
C9 = [[1,11],[2,55],[3,165]],
findall(Z,(
member([X1|Y1],C1),
member([X2|Y2],C2),
member([X3|Y3],C3),
member([X4|Y4],C4),
member([X5|Y5],C5),
member([X6|Y6],C6),
member([X7|Y7],C7),
member([X8|Y8],C8),
member([X9|Y9],C9),
15 is X1+X2+X3+X4+X5+X6+X7+X8+X9,Z is Y1*Y2*Y3*Y4*Y5*Y6*Y7*Y8*Y9),L),
sum(L,CARTONES),
write(CARTONES).

22 comentarios:

Spe dijo...

Cada fila siempre tienen 5 números, no? Tal vez sean menos cartones.

Pablo Pilotti dijo...
Este comentario ha sido eliminado por el autor.
Pablo Pilotti dijo...

Spe,
Me estuve fijando y estoy casi seguro que el hecho de que cada fila tenga 5 números, no representa una restricción a la hora de generarlos.
Es decir que siempre podés acomodar los casilleros de manera que te queden 5 números por fila.
Y si es así, el número sería el correcto.

Cuando esté seguro, o encuentre un contra ejemplo, escribo para confirmarlo.
Gracias nuevamente.

Javi. dijo...

Muy interesante. Parte del doctorado?

Javi. dijo...

Muy interesante. Parte del trabajo que vas a hacer en Europa?

Pablo Pilotti dijo...

jaja, es solo curiosidad.

Anónimo dijo...

HOLA
hay una restricción mas.

Cada 6 cartones (una tira) tienen que estar los 90 numeros.

Esto baja las posibilidades a un par de millones de cartones

Anónimo dijo...

anónimo 2
Hay otra restricción más, en una misma columna de cada cartón un número mayor no puede estar arriba de uno menor .....esto para cada decena obviamente, es decir, el cartón del ejemplo en realidad no existe (66 arriba del 61 etc)

Anónimo dijo...

Hola, hago una aclaración que hicieron, generé cartones con un programa de bingo y efectivamente en la misma columna sale un numero mayor arriba de un nro menor. Osea, el ejemplo es correcto

Anónimo dijo...

como hago. para descargar 200.. cartones de 90 bolas necesito ayuda. por favor me puedes ayudar?

Pablo Pilotti dijo...

Hacía mucho que no entraba al blog, voy respondiendo:

-Al comentario del 17 de marzo de 2012, 8:53: Lo que pretendo contar son los cartones, no las tiras de cartones. Pero es interesante tu comentario, gracias por escribir.

-Al comentario del 3 de octubre de 2012, 19:29: Esa restricción es de "visualización", es decir los números de las columnas se pueden ordenar. Gracias por escribir.

-Al comentario del 5 de junio de 2013, 16:39: Gracias por escribir.

-Al comentario del 24 de octubre de 2016, 13:43: Mi intención fue contarlos, no generarlos, pero si necesitas una mano para hacer el programa que los genere escribime.

Saludos para todos

Unknown dijo...

hola pablo, lo unico que me hace ruido del calculo que hiciste, es que solo puede haber dos numeros por columna y no 3. Por mas que haya 3 celdas, SIEMPRE la cantidad de combinaciones es de 2. Por lo tanto el ultimo calculo de de cada columna, no es valido (creo).

por lo tanto:
En la primer columna los número tienen el conjunto {1,2,3,4,5,6,7,8,9}, entonces:

La cantidad de columnas distintas con un solo casillero lleno es: 9
La cantidad de columnas distintas con dos casilleros llenos es: 9*8/2!=36 + 9 =45

1 , 2, 3, 4, 5, 6 ,7 , 8 , 9 = 9
12,13,14,15,16,17,18,19 = 8
23,24,25,26,27,28,29 = 7
34,35,36,37,38,39 = 6
45,46,47,48,49 = 5
56,57,58,59 = 4
67,68,69 = 3
78,79 = 2
89 = 1
= 45

Las siguientes 7 columnas, tienen un conjunto de 10 números, entonces:

La cantidad de columnas distintas con un solo casillero lleno es: 10
La cantidad de columnas distintas con dos casilleros llenos es: 10*9/2!=45 + 10 = 55

la última columna tiene un conjunto de 11 números validos, entonces:

La cantidad de columnas distintas con un solo casillero lleno es: 11
La cantidad de columnas distintas con dos casilleros llenos es: 11*10/2!=55 + 11 = 66

45*(55*55*55*55*55*55*55)*66= 4.521.632.646.093.750


Es correcto? Abrazo!!!

Unknown dijo...

perdon, aclaro que CREO que no puede haber 3 numeros por columna. No estoy del todo seguro. abrazo y muchas gracias!! Habra que ver en algun reglamento.

Pablo Pilotti dijo...

Hola Mariano!
antes que nada gracias por escribir!
Sobre el primer comentario:
Si, si conté las cantidades de columnas distintas con tres casilleros llenos.
fijate que lo puse: para la primer columna son 84 , para las siguientes 7 columnas son 120 y finalmente para la ultima columna 165.

Con respecto al segundo comentario, si, si pueden haber 3 números por columna.
por ejemplo, fijate el carton de la foto tiene los siguientes números:
7,16,20,23,32,40,44,52,54,61,66,72,75,80,82
Si sacamos el numero 40 y agregamos el 90 queda un cartón válido con 3 números en la ultima columna.

Espero haber sido claro, gracias por escribir!

Anónimo dijo...

puede ser que en alguna columna no haya ningun numero??????

Pablo Pilotti dijo...

Creo que todas las columnas tienen que tener al menos un numero.
En el caso que se permitan columnas sin numeros la cantidad de cartones aumenta.
Abrazo y gracias por tu comentario

Unknown dijo...

Hola yo quiero hacer un bingo para la escuela y el modelo d cartón q uso es de 9 numeritos. Cuántas bolitas necesitaría ???? Ayuda plis :'v

Javier dijo...

Hola Pablo, estamos por organizar un bingo para la Escuela N° 147 de Jujuy, necesitamos generar e imprimir cartones, nos podes ayudar por favor.
Un abrazo.

Unknown dijo...

Hola Pablo.
Yo quería saber si me podías ayudar a generar cartones. Ya qe los qe vienen impresos solo son 2016 cartones .

Unknown dijo...

@pablopiloti

Anónimo dijo...

Hola Pablo buen dia. Quisiera que me ayudes a generar 600 cartones de Bingo. En Youtube vi pero de 300 nomás.

Pablo Pilotti dijo...

Hola
Escribime al mail pablo.pilotti gmail.com
y lo vemos
Saludos