圣彼得堡悖论之破解

简介: import numpy as npimport pandas as pd'''圣彼得堡悖论:[1,2,4,8,16,...]'''class StPetresburg(object): def __init__(self, beitou=2, peilv=1.
import numpy as np
import pandas as pd

'''圣彼得堡悖论:[1,2,4,8,16,...]'''

class StPetresburg(object):
    def __init__(self, beitou=2, peilv=1.97):
        self.peilv = peilv # 赔率
        self.beitou = beitou   # 倍投倍数

    def set_option(self, *args, **kwargs):
        self.__dict__.update(dict(zip(['beitou', 'peilv'][:len(args)], args)))
        self.__dict__.update(kwargs)
    
    @property
    def df(self):
        period = np.arange(10) # 期数(从0开始)
        touzhu = self.beitou**period # 当期投注 = 倍投倍数 ^ 期数
        prize =  touzhu * self.peilv # 当期奖金 = 当期投注 × 赔率

        earn =  prize - np.cumsum(touzhu) # 累积收益 = 当期奖金 - 累积投注
        yields = earn / np.cumsum(touzhu) # 收益率 = 累积收益 / 累积投注

        #print(np.column_stack((period, touzhu, prize, np.cumsum(touzhu), earn, yields)))
        
        df = pd.DataFrame({
            '期数': pd.Series(period, dtype=int),
            '当期投注': pd.Series(touzhu, dtype=int),
            '当期奖金': pd.Series(prize, dtype=float),
            '累积投注': pd.Series(np.cumsum(touzhu), dtype=int),
            '累积收益': pd.Series(earn, dtype=float),
            '收益率': pd.Series(yields, dtype=float)
        })
        df = df.reindex(columns=['期数','当期投注','当期奖金','累积投注','累积收益','收益率'])
        return df

sp = StPetresburg()
print(sp.df)
sp.set_option(beitou=3)
print(sp.df)
目录
相关文章
|
9天前
|
人工智能 算法
陶哲轩神预言!Transformer破解百年三体难题,凭数学直觉找到李雅普诺夫函数
在AI领域,语言模型处理复杂数学问题的能力一直受限。最近,由François Charton领导的团队利用Transformer模型成功解决了寻找李雅普诺夫函数这一百年难题,显著提升了动态系统的全局稳定性分析能力。该方法通过生成随机动态系统及其李雅普诺夫函数作为训练数据,使模型学会了从系统到函数的映射,不仅超越了传统算法和人类数学家的表现,还为解决其他数学难题开辟了新路径。
25 3
|
7月前
|
数据处理
如何破解一道力扣做一宿的窘境
如何破解一道力扣做一宿的窘境
47 0
|
7月前
|
算法 数据安全/隐私保护
leetcode-753: 破解保险箱
leetcode-753: 破解保险箱
88 0
|
安全 Linux 网络安全
花无涯带你走进黑客世界13 揭秘NSA秘密黑客组织方程式
不论你什么心态,我决定还是带着善意科普一下,什么是“方程式”黑客组织? 泄露的工具包并不是 方程式 黑客组织 他们自己发布的,理解源头很重要。 不懂就要学不是吗,上一篇文章我才说了提问了艺术,今天又有人来表演该艺术了…
|
存储 安全 数据库
你的密码安全吗?这三种破解方法让你大开眼界!
密码破解,是黑客们最喜欢的玩具之一。当你用“123456”这类简单密码来保护你的账户时,就像裸奔一样,等待着黑客的攻击。所以,今天我们就来聊聊密码破解知识,看看那些常见的密码破解方法,以及如何防范它们。
943 0
你的密码安全吗?这三种破解方法让你大开眼界!
|
算法 安全 图计算
破解60年前谜题!哥本哈根大学研究人员解决「单源最短路径」问题
破解60年前谜题!哥本哈根大学研究人员解决「单源最短路径」问题
123 0
|
人工智能 算法 数据安全/隐私保护
算法笔试模拟题精解之“破译密码”
可以使用尺取法来解题;设当前区间为[L, R]。初始L = R = 0;使用尺取法需要判断什么时候调整L和R。
算法笔试模拟题精解之“破译密码”
|
数据安全/隐私保护
密码学的脑洞
1.来Play啊!!!(playfair) WOODPECKER有一群大佬等你来的啊 SL SY I APLWB GW KBOB flag:IT IS A PIECE OF CAKE w c f  m u o k g  n v d r h  q x p a i/j s y e b l  t z playfair的解密: Playfair解密算法首先将密钥填写在一个5*5的矩阵中(去Q留Z),矩阵中其它未用到的字母按顺序填在矩阵剩余位置中,根据替换矩阵由密文得到明文。
1402 0