圣彼得堡悖论

简介: 圣彼得堡悖论
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Jun 22 15:15:13 2018
author: yunjinqi
Email:yunjinqi@qq.com
sigature:It takes significant discipline,research,diligence and patience
         to be successful at algorithmic trading.It takes months,if not years,
         to generate consistent profitability.
"""
'''
圣彼得堡悖论是数学家丹尼尔·伯努利(Daniel Bernoulli)的
表兄尼古拉·伯努利(Nicola Bernoulli)在1738提出的一个概率期望值悖论,
它来自于一种掷币游戏,即圣彼得堡游戏(表1)。
设定掷出正面或者反面为成功,游戏者如果第一次投掷成功,得奖金2元,游戏结束;
第一次若不成功,继续投掷,第二次成功得奖金4元,游戏结束;
这样,游戏者如果投掷不成功就反复继续投掷,直到成功,游戏结束。
如果第n次投掷成功,得奖金2n元,游戏结束。
按照概率期望值的计算方法,将每一个可能结果的得奖值乘以该结果发生的概率
即可得到该结果奖值的期望值。游戏的期望值即为所有可能结果的期望值之和。
随着n的增大,以后的结果虽然概率很小,但是其奖值越来越大,每一个结果的期望值均为l,
所有可能结果的得奖期望值之和,即游戏的期望值,将为“无穷大”。
按照概率的理论,多次试验的结果将会接近于其数学期望。
但是实际的投掷结果和计算都表明,多次投掷的结果,
其平均值最多也就是几十元。正如Hacking(1980)所说:“没有人愿意花25元去参加一次这样的游戏。”
这就出现了计算的期望值与实际情况的“矛盾”,问题在哪里?
实际在游戏过程中,游戏的收费应该是多少?
决策理论的期望值准则在这里还成立吗?这是不是给“期望值准则”提出了严峻的挑战?
正确认识和解决这一矛盾对于人们认识随机现象、发展决策理论和指导实际决策无疑具有重大意义。、
'''
# simulate the paradox
import pandas as pd
import numpy as np
import random
def bet_one_win_money():
    tows=[1,-1]
    times=0
    result=0
    while result!=1:
        result=random.choice(tows)
        times+=1
    return 2**times
def get_mean_money_for_many_times(n=1000):
    money=[]
    for i in range(n):
        money.append(bet_one_win_money())
    return sum(money)/len(money)
mean_money=get_mean_money_for_many_times(10000000)
print(mean_money)
目录
相关文章
|
2月前
|
数据挖掘 BI
解密辛普森悖论:如何在数据分析中保持清醒头脑
解密辛普森悖论:如何在数据分析中保持清醒头脑
72 0
|
7月前
|
算法
算法人生(3):从“贪心算法”看“战胜拖延”(完美主义版)
本文探讨了拖延症的一个常见原因——完美主义,并从贪心算法的角度提供启示。贪心算法通过局部最优决策逼近全局最优解,不保证全局最优,但寻求满意解。完美主义者的拖延源于高标准、过度关注细节、压力和时间管理困难。为解决这个问题,建议接受不完美,设定合理目标,追求良好效果,以及培养时间管理技巧。通过实例说明,调整心态和策略,可以提高工作效率并克服拖延。
运筹学总结—好不好总结就好
前段时间将运筹学进行完了第二遍学习——精读,其实这本书都在围绕选择最优方案这个主题展开了对于一些概念和示例的讲解。
|
机器学习/深度学习 算法
086.爱因斯坦的数学题
086.爱因斯坦的数学题
105 0
珍爱生命,远离大论战
  前几天小学聚会,想起来了一些小时候的趣事。有一同学,他学习能力强,学东西快,老师讲的课程他都会了,作业也都写完了。然后呢呆着没事,找他同桌闲聊,放学了还拉着他疯玩。结果呢,第二天要交作业,他是没事了,可是他同桌惨了,忘记写作业了。
937 0