Advertisement
Guest User

Untitled

a guest
Oct 16th, 2018
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const kelly = p => b => stack =>
  2.   stack * ((p * (b + 1) - 1)/b)
  3.  
  4. const bet = p => ({myStack, yourStack}) => bet => outcome =>
  5.   outcome >= (1 - p) ?
  6.     ({ myStack: myStack + bet, yourStack: yourStack - bet }) :
  7.     ({ myStack: myStack - bet, yourStack: yourStack + bet })
  8.  
  9. const kellyBet = p => stacks =>
  10.   bet (p) (stacks) (kelly (p) (1) (stacks.myStack))
  11.  
  12. const play = prec => myStack => yourStack => {
  13.   let res = kellyBet (.6) ({myStack, yourStack}) (Math.random())
  14.   return res.yourStack <= 0 ?
  15.     true :
  16.     res.myStack <= prec ?
  17.     false :
  18.     play (prec) (res.myStack) (res.yourStack)
  19. }
  20.  
  21. const experiment = prec => n => {
  22.   var you = 0
  23.   var me = 0
  24.   for (let i = 0; i < n; i++) {
  25.     play (prec) (10) (10) ? me++ : you++
  26.   }
  27.   console.log("me", me * 20 /n, "you", you * 20 /n)
  28. }
  29.  
  30. // try me out!
  31. // experiment(.001)(3000)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement