dissabte, 13 de setembre del 2014

Sumar a cegues

L'entrada d'avui està dedicada a un petit incident de bar. És al bar on apareixen els problemes interessants.

Divendres, després de la V, em trobava al bar amb un company i vam demanar dos cafès amb llet i un croissant. A l'hora de pagar vaig demanar a última hora de pagar-ho tot junt. El resultat va ser que l'home del bar, em va demanar a mi de sumar-ho. Aquest va ser el meu procés mental:
1.04 + 1.04 + 1.24 = Uhm... uhh... 3x1 = 3 Llavors hi ha alguns cèntims que queden sueltos... Uhm... com a mínim 25 cèntims...

Mentre em trobava inmers en el càlcul el qui em cobrava diu:
$1.04+1.04+1.24 = 3.32$. Aquesta era fàcil, ehh!! Que necessitaves una calculadora tu??

I el meu company hi afegeix que el que necessitava és el meu ordinador, que sense ordinador no sé calcular xD

I automàticament vaig començar a pensar com calcular-ho amb l'ajut d'un ordinador però sense haver de fer cap suma, clar...

La resposta?? Monte Carlo. D'aquest tema ja en van escriure quatre ratlles introductòries a Cocociència. El que presentaré aquí és com vaig pensar que es podia fer la suma.

La idea dels mètodes de Monte Carlo és fer ús de nombres aleatòris per a calcular integrals. En cas de la suma es tractava de fer el càlcul d'una superfície. A l'eix x assignem un intèrval de longitud 1 a cada un dels producte mentre que a l'eix y hi assignem el preu per unitat tal i com es pot veure a la figura inferior.


És fàcil veure que si sumem les àrees vermella i verda obtindrem el valor total de la compra. Però això no ens resol el problema ja que per a fer-ho hauríem de sumar. La resposta es troba en el mètode de Monte Carlo.

La idea és molt simple. Agafem una parella de nombres aleatòris, $x$ i $y$. El primer que pugui prendre valors compresos entre el 0 i el 3, $x\in(0,3)$ i el segon que els prengui entre el 0 i el 2, $y\in(0,2)$. Amb aquesta parella de números podem pintar el punt amb coordenades $(x, y)$.

El que fem a continuació és veure si el punt $(x, y)$ ha caigut dins de la zona pintada o si ha caigut a fora. Si es troba dins de la zona pintada ens ho apuntem i comptem que hem encertat una vegada més.

Després de fer molts llençaments de números aleatòris haurem comptat quantes vegades hem encertat a la zona pintada, $n_{hit}$ i quants llençaments hem fet en total, $n_{tot}$.

Amb això podem saber quina fracció de llençaments, $P$, ha estat certera $P=n_{hit}/n_{tot}$.  Ara haurem de multiplicar aquesta fracció per l'àrea total que estàvem explorant, es a dir, la superfície, $S$, que ens era accessible en cada un dels llençaments. $S=2 \cdot 3$

Ara doncs serà fàcil de calcular el valor de la suma. Aquest serà $6 P$.


El resultat, obtingut en 20 càlculs amb 50.000 tirades aleatòries és el següent:

I si el que representem és la mitjana sobre 20 simulacions independents obtenim el següent:



Aquestes corbes són "uniques" de cada un dels càlculs però a l'infinit haurien de tendir al valor de la integral que és, en aquest cas, 3.32

Com es pot veuure l'error estadístic després de tota aquesta història és d'un cèntim d'€, de l'1%. No està malament!!