domingo, 27 de mayo de 2012

Este cromo lo tengo repe (2)

 (Esta es nuestra segunda entrada con la que participamos en la edición 3.1415 del Carnaval de Matemáticas coordinado en esta ocasión por el blog Gaussianos)


Simulación de una colección de cromos


En la entrada anterior realizamos una aproximación a las distribuciones que surgen en las colecciones de cromos. En esta otra intentaremos acercarnos algo más al problema mediante una simulación cromo a cromo. Seguiremos pensando en términos de sobres completos, pero simularemos la aparición de cada cromo individualmente.


Una de las ventajas que tiene la hoja de cálculo es que toda ella es una matriz  de datos, con lo que nos ahorramos dimensionar variables tipo array, ya que las tenemos delante de nuestra vista. Para simular una colección de cromos, lo primero que confeccionaremos es una lista de ellos numerados del 1 al total de la colección. Posteriormente figurarán junto a ellos el total de repetidos que nos han salido.




En la imagen se ha elegido la columna A para la lista de cromos y la B para sus frecuencias de aparición.


Una vez preparada la lista, procederemos a simular la apertura de un sobre. No cansaremos a los lectores con códigos, pero sí señalaremos que los pasos de simulación necesarios son:
  •  Se simula la aparición de cada cromo nuevo. Suponemos que no hay malicia en la distribuidora y que todos van saliendo de forma equiprobable.
  •  Una vez tengamos el sobre simulado, desecharemos aquellos conjuntos en los que hay cromos repetidos, porque parece ser que esto no suele ocurrir.
  •  Admitida la composición del sobre, recorreremos la lista de los cromos que ya tenemos. Si su frecuencia es cero, los consideramos nuevos y se incorporan a la lista de los que tenemos y en caso contrario se consideran repetidos. En ambos casos se incrementa la frecuencia.
Este proceso va bastante rápido, y se puede observar la composición de cada sobre nuevo y la evolución de la lista.




Como observarás en la imagen, se pueden crear contadores para ver los cromos que vamos teniendo, los que nos faltan y los repetidos. También, aunque después no lo hemos visto muy interesante, la máxima frecuencia de repetición que se observa en la simulación. En la imagen vemos que un cromo al menos ha aparecido 9 veces.


En la dirección hojamat.es/blog/cromos.xlsm  tienes la hoja de Excel que contiene esta simulación. En la parte superior se puede realizar el estudio por medias de la entrada anterior y en la inferior, además de simular la compra de X cromos, es posible planificar una serie de simulaciones para equilibrar los resultados. Si la descargas, recuerda que los datos para la simulación son los de la parte superior.


Aquí nos limitaremos a presentar los resultados.


¿Confirma la simulación los resultados aproximados del estudio por medias?
Pues en gran parte sí. En la siguiente tabla comparamos los datos obtenidos por medias binomiales en la entrada anterior y los procedentes de series de 50 simulaciones cada una.



Sobre
Total
Sobres en cada compra
5
250
10




Sobres
Medias
Simulación
Diferencia
0
0
0
0
10
45
45,74
0,74
20
82
83,64
1,64
30
112
114,52
2,52
40
137
137,96
0,96
50
157
159,16
2,16
60
174
176,78
2,78
70
187
190,56
3,56
80
198
201,82
3,82
90
207
208,96
1,96
100
214
216,38
2,38
110
220
223,22
3,22
120
225
227,82
2,82
130
229
232,22
3,22
140
232
235,26
3,26
150
235
238,18
3,18
160
237
239,82
2,82
170
239
242,38
3,38
180
241
243,54
2,54


Las diferencias son muy pequeñas, nunca superiores a 4 cromos, lo que da validez a la aproximación por medias, teniendo en cuenta que tampoco la simulación tiene carácter exacto (aquí todo es azar). También aquí son bastante aproximadas las funciones exponenciales que creamos para explicar la evolución de la colección.


Hay un punto interesante: La esperanza de obtener cromos nuevos en cada sobre es ligeramente superior a la que nos daría la fórmula E=mp de la media binomial con probabilidad constante. Esto es debido a que cada cromo que aparece, si no lo tenemos, disminuye la probabilidad del siguiente y aumenta la de obtener el siguiente repetido. Si nos sale repetido, no altera las probabilidades, porque lo guardamos en otra parte. 


Hemos usado este hecho para estudiar todos los casos que se pueden dar en la apertura de un sobre de 4 cromos en una colección de 200 si ya tenemos 72. Si lees la tabla es natural que te “marees”, porque no es fácil seguir cada caso, pero al final resulta que la media bien calculada es un 1,3% superior a la obtenida sin cambiar las probabilidades:




De este orden son las diferencias entre las dos tablas que hemos confeccionado, por lo que una valida a la otra.
¿Se atreve alguien a sacar una fórmula algebraica que resuma esta tabla? Yo no, pero parece que alguien ha obtenido algo similar.


Resumen de hechos notables


Destacamos algunos hechos observados con ambos métodos (media binomial y simulación) y dejamos que los lectores intenten justificarlos con los medios que les hemos propuesto.


(1) Si compras el mínimo de sobres de una colección (cociente entre el TOTAL y el SOBRE) sólo conseguirás completar un 63% de la misma (en realidad, unas décimas más, entre 63,2% y 63,8% aproximadamente según los casos. Cerca del valor de 1-1/e ¿por qué?)


(2) El momento de compra en el que se igualan el número de cromos que tienes con los que te faltan (mitad de la colección) es cuando has adquirido el 69% de los cromos. (cerca del valor de 100*LN(2) ¿de dónde sale esa estimación?). Los papás se han gastado un 19% más de lo previsto. A partir de ahora saldrán más repetidos que nuevos.


(3) Un momento crítico ocurre cuando al abrir sobres nuevos hay una gran posibilidad de que todos sus cromos estén ya repetidos. Esto se dará cuando la esperanza E en un sobre no llegue a la unidad. Una fórmula aproximada para encontrar ese punto crítico es 






Por ejemplo, en una colección de 240 cromos que vienen en sobres de 6, cuando lleves comprados 71 sobres comenzarán los problemas.


(4) Por último, una fórmula medio empírica para relacionar el porcentaje de la colección P que deseas alcanzar y los sobres comprados:


  


Si la aplicas, no te asustes, y piensa en ir cambiando cromos.


Estos cálculos los hemos comprobado con la simulación y en realidad son algo más favorables, por ese 1,3% de diferencia que existía entre calcular por medias y simular.


Esperemos que con estas ideas iniciales alguien quiera llegar más lejos. Es un buen tema de investigación.

lunes, 21 de mayo de 2012

Este cromo lo tengo repe (1)


 (Con esta entrada participamos en la edición 3.1415 del Carnaval de Matemáticas coordinado en esta ocasión por el blog  Gaussianos. Al final de la semana publicaremos la continuación)

Mi nieta y sus amigas ya tienen edad para coleccionar cromos. Así que las hemos visto repetidamente pasar del entusiasmo de los primeros días -“No lo tengo, no lo tengo, este tampoco”-, a las medias desilusiones de los últimos –“Repe, otro repe, este lo tengo, pero no pasa nada, me pondré a cambiar…, o lo regalo”-. Al final, los padres se van al Rastro o piden a las distribuidoras los cromos que faltan. Siempre ha sido así, al menos desde que éramos niños los que ahora somos abuelos.

Este proceso de evolución de la esperanza en obtener un nuevo cromo ha interesado a especialistas y divulgadores, especialmente al explicar las simulaciones. Recuerdo con mucha nostalgia un artículo de Ricardo Aguado, Agustín Blanco y Ricardo Zamarreño, compañeros en los tiempos heroicos (años 80) de introducción de los ordenadores en la enseñanza.

http://www.doredin.mec.es/documentos/00820073007308.pdf

Ellos simularon la evolución de la colección de cromo en cromo, y con una ampliación para el caso de dos coleccionistas que intercambian.

He visto también alguna simulación sobre cromos con MINITAB, pero ninguna con hoja de cálculo. Quien siga este blog sabrá ya que eso es motivo suficiente para que se emprenda en él otra nueva tarea.

Aquí estudiaremos la evolución de sobre en sobre, que es como verdaderamente se compran los cromos y consideraremos una sola colección sin intercambio con otras.

Primera aproximación

Si se tienen ya K cromos y la colección consta de N, la probabilidad de que obtengas h cromos nuevos en un sobre que trae m es, en primera aproximación, de tipo binomial. En efecto, se trata de obtener h éxitos en m intentos dentro de una variable dicotómica (REPE-NO REPE). Pero de esta forma hemos hecho una pequeña trampa, que es suponer que la probabilidad permanece constante mientras sacas cromos del sobre, y eso no es así, pues cualquier cromo no repetido altera la situación, pero ya hemos advertido que es una aproximación para abrir camino. Después pasaremos a una simulación exacta.

Con esta idea, si la probabilidad de que no tengamos un cromo que saquemos del sobre es p=(N-K)/N, la esperanza matemática de obtener m cromos nuevos será, según la teoría de las distribuciones binomiales, E=mp. En cada sobre esperamos obtener E cromos.

(ver http://hojamat.es/estadistica/tema6/teoria/teoria6.pdf)

En esa idea nos basaremos para construir con la hoja de cálculo un modelo aproximado: para cada sobre hallaremos las probabilidades de que salga repetido o no, calculamos E y vamos acumulando. El gran problema de este estudio es que cada cromo nuevo que incorporemos a la colección hace variar la probabilidad p, por lo que tendremos que ir calculando de sobre en sobre. De ahí la utilidad de una hoja de cálculo, aunque, al ser las operaciones bastante simples, se puede usar una calculadora.

Una forma de abordar el tema es construyendo una función de cuatro variables:

Public Function paso_med(total, tengo, sobre, compra)
Dim i, salen
For i = 1 To compra
salen = sobre * (total - tengo) / total
tengo = tengo + salen
Next i
paso_med = Int(tengo)
End Function

Los parámetros son TOTAL, que es el número de cromos de la colección completa, TENGO, los que ya tengo, SOBRE, los que vienen en cada sobre y COMPRA, los sobres que compro. Para llegar al resultado (insistimos, aproximado y estimativo), se recorren los sobres uno a uno, se le estima la media de no repetidos (variable SALEN) y se acumula a los que tengo. Todo el cálculo se recoge en el resultado PASO_MED.

Con esta función puedes construir una tabla de evolución de la colección. Parte de un inicio, que puede ser de 0 cromos, y vas usando de forma recurrente la función anterior hacia abajo, saltando cada vez el número de sobres que desees. Así lo hemos hecho en esta tabla, contando también los cromos comprados y los que salen repetidos:


Sobre
Total
Sobres en cada compra
5
250
10
Sobres
Salen
Compro
Repes
Faltan
0
0
0
0
250
10
45
50
5
205
20
82
100
18
168
30
112
150
38
138
40
137
200
63
113
50
157
250
93
93
60
174
300
126
76
70
187
350
163
63
80
198
400
202
52
90
207
450
243
43
100
214
500
286
36
110
220
550
330
30
120
225
600
375
25
130
229
650
421
21
140
232
700
468
18
150
235
750
515
15
160
237
800
563
13
170
239
850
611
11
180
241
900
659
9




Si consideramos terminada una colección cuando faltan por tener menos de 10 cromos (en ese momento suele aparecer la decisión paterna de comprar los que quedan), según este ejemplo, que no anda muy descaminado, hay que comprar unos 180 sobres en lugar de los 50 que en este caso constituirían el número mínimo, es decir un 360%. Si quisiéramos aproximarnos al último cromo sería necesario comprar más del 500%

De todas las columnas nos fijaremos en primer lugar en la última

Evolución de los cromos que faltan por tener

Si representamos gráficamente el número de cromos que van faltando en  cada compra, obtenemos una gráfica de siguiente tipo
No constituye ninguna sorpresa. Sabemos que el incremento (negativo) del número de los que nos faltan va decreciendo alarmantemente con cada compra. Tampoco nos asombrará el que se ajuste bien a una función exponencial, ya que la probabilidad de disminuir el número de cromos que nos faltan es aproximadamente proporcional a dicho número, en virtud de la probabilidad p=(N-K)/N.

Hemos ido cambiando los parámetros TOTAL y SOBRE, comprobando que una función del tipo


donde X es el número de sobres comprados, se ajusta bastante bien al proceso, como puedes observar en el siguiente ajuste realizado con un total de 200 cromos cuando entran 4 en cada sobre.



Acumulación de repetidos

Si tienes el dato de los que te faltan, también sabes los repetidos que te han salido. Su fórmula aproximada sería:



Te dejamos que razones este resultado. La gráfica de los repes tiene como asíntota y=SOBRE.X-TOTAL. Es fácil de ver: los cromos que ya tengo se acercan poco a poco al TOTAL y SOBRE.X representa los que ya he comprado, luego es lógico que los repetidos se acerquen a su diferencia.

¿Y si quisiéramos llegar a los últimos cromos?

Sin cambiar ni comprar podríamos llegar a un proceso infinito de compra. Por eso, lo lógico es detenerse cuando ya faltan diez o doce cromos y acudir a la compra directa.

Hemos introducido la función inversa (también aproximada), por la que sabiendo los cromos que ya tengo y los que quiero, te devuelve el número de sobres que necesitas comprar por término medio.

Su código es

Public Function compra_med(total, tengo, sobre, quiero)
Dim i, salen, t
i = 1
t = 0
While tengo < quiero
salen = sobre * (total - tengo) / total
tengo = tengo + salen
i = i + 1
Wend
compra_med = i
End Function

Con ella se llega a resultados muy interesantes. En la siguiente tabla se recogen los sobres de cinco cromos que se tendrían que comprar en una colección de 250, partiendo de cero, para llegar a 240, 245 o incluso 249 (con 250 podría llegar a un bucle sin salida). En teoría, si no salieran repetidos, serían 50 sobres, pero en la realidad, observa…


Colección de 250 cromos en sobres de 5



Paro de comprar en
Sobres que he de comprar
Porcentaje respecto al mínimo
240
161
322%
245
195
390%
247
220
440%
248
240
480%
249
275
550%


Al último resultado ya llegaron los autores citados arriba: necesitas comprar más de cinco veces el número mínimo de sobres necesario. También llama la atención que para que sólo te falten 10 debas comprar el 322%. Es todo un aviso a los papás.

¿Qué exactitud tendrá todo esto? Pues en la siguiente entrada efectuaremos una simulación cromo a cromo y realizaremos series para ver si se confirman estos resultados.