圣彼得堡悖论

简介: 圣彼得堡悖论
#!/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)
目录
相关文章
|
24天前
|
数据挖掘 BI
解密辛普森悖论:如何在数据分析中保持清醒头脑
解密辛普森悖论:如何在数据分析中保持清醒头脑
34 0
|
6月前
|
算法
算法人生(3):从“贪心算法”看“战胜拖延”(完美主义版)
本文探讨了拖延症的一个常见原因——完美主义,并从贪心算法的角度提供启示。贪心算法通过局部最优决策逼近全局最优解,不保证全局最优,但寻求满意解。完美主义者的拖延源于高标准、过度关注细节、压力和时间管理困难。为解决这个问题,建议接受不完美,设定合理目标,追求良好效果,以及培养时间管理技巧。通过实例说明,调整心态和策略,可以提高工作效率并克服拖延。
|
人工智能
89岁挑战黎曼猜想的数学家阿蒂亚爵士,去世了……
迈克尔·阿蒂亚爵士是一位亲爱的导师、朋友和榜样,拥有高智商和充沛的精力。他在数学和物理方面所做的贡献将永存于世。
298 0
89岁挑战黎曼猜想的数学家阿蒂亚爵士,去世了……
下一篇
无影云桌面