Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const kelly = p => b => stack =>
- stack * ((p * (b + 1) - 1)/b)
- const bet = p => ({myStack, yourStack}) => bet => outcome =>
- outcome >= (1 - p) ?
- ({ myStack: myStack + bet, yourStack: yourStack - bet }) :
- ({ myStack: myStack - bet, yourStack: yourStack + bet })
- const kellyBet = p => stacks =>
- bet (p) (stacks) (kelly (p) (1) (stacks.myStack))
- const play = prec => myStack => yourStack => {
- let res = kellyBet (.6) ({myStack, yourStack}) (Math.random())
- return res.yourStack <= 0 ?
- true :
- res.myStack <= prec ?
- false :
- play (prec) (res.myStack) (res.yourStack)
- }
- const experiment = prec => n => {
- var you = 0
- var me = 0
- for (let i = 0; i < n; i++) {
- play (prec) (10) (10) ? me++ : you++
- }
- console.log("me", me * 20 /n, "you", you * 20 /n)
- }
- // try me out!
- // experiment(.001)(3000)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement