Advertisement
Guest User

Untitled

a guest
Feb 18th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.13 KB | None | 0 0
  1. import pylab as plt
  2. import numpy as np
  3.  
  4. def main():
  5.   plt.figure("Nuestro hamijo cantabrana es tonto")
  6.   import numpy as np
  7.   # Coeficientes por los que multiplicamos nuestra cantidad inicial
  8.   # si acertaramos en todo. Sacados de un ejemplo online de apuesta
  9.   # combinada real
  10.   coefs = np.array([1.48, 1.17, 1.89])
  11.  
  12.   # Al final lo unico que importa es que este gain_coef sera inferior
  13.   # a n^k, con n = numero de opciones por resultado, k = numero de resultados
  14.   # Esto es porque la esperanza de esta bazofia es
  15.   # E[X] = prod(coefs) * 1 / n^k - 1 * (1 - 1 / n^k)
  16.   # Supon que n = 2 y k = 3 y que usamos los coefs de arriba
  17.   # E[X] = 3.27 / 8 - 7/8 = -0.46 <-- a la larga vas a perder 46 centimos de cada euro, por mongolo
  18.   # Esto lo explican en cualquier carrera tecnica, aunque siempre podias estar las dos
  19.   # horas de clase con el portatil haciendo allin con 2-10 en pokerstars, nadie te juzga
  20.   gain_coef = np.prod(coefs)
  21.  
  22.  
  23.   gain = [0]
  24.   # Vamos a simular que hacemos 1000 apuestas combinadas de este tipo
  25.   for _ in range(1000):
  26.  
  27.     # Vamos a asumir que la probabilidad de acertar resultados sigue
  28.     # una gaussiana (1/2, 1/4). Lo que significa que habitualmente no tienes
  29.     # ni flapa (aunque creas que si), pero hay algunas apuestas que "estan cantadas"
  30.     # porque tienes un tipster muy bueno y otras en las que por lo imprevisible del resultado
  31.     # vas a pinchar seguro
  32.     guess_probs = np.random.normal(loc = 1. / 2., scale = 1. / 4., size = 3)
  33.  
  34.     for (guesses, lst) in [(guess_probs, gain)]:
  35.       coin_flips = np.random.rand(3)
  36.       if np.min(guesses - coin_flips) >= 0.0:
  37.         # Hemos acertado todas
  38.         lst.append(gain_coef + lst[-1])
  39.       else:
  40.         # Hemos fallado alguna
  41.         lst.append(lst[-1] - 1)
  42.    
  43.   pl1, = plt.plot(list(range(1001)), gain, label = 'Nuestro hamijo cantabrana')
  44.   pl3, = plt.plot(list(range(1001)), [-0.46 * x for x in range(1001)], label = 'Lo que dice el toston de la estadistica')
  45.  
  46.   plt.legend(handles = [pl1, pl3])
  47.  
  48.   plt.xlabel('Num apuestas')
  49.   plt.ylabel('Ganancia total')
  50.  
  51.   plt.savefig('retardbrana.png')
  52.  
  53.  
  54. if __name__ == "__main__":
  55.   main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement