Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
data8-textbook-zh
提交
c5644801
D
data8-textbook-zh
项目概览
OpenDocCN
/
data8-textbook-zh
大约 1 年 前同步成功
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
data8-textbook-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c5644801
编写于
12月 29, 2017
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ch9.
上级
ec20d3f4
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
94 addition
and
0 deletion
+94
-0
9.md
9.md
+94
-0
未找到文件。
9.md
浏览文件 @
c5644801
...
...
@@ -303,3 +303,97 @@ Table().with_column('Winnings: Red', winnings_on_red)\
```
每个模拟的唯一可能的结果是,您赢了一美元或输了一美元,这反映在直方图中。 我们也可以看到,你赢的次数要比输的次数少一点。 你喜欢这个赌博策略吗?
### 多次游戏
大多数轮盘赌玩家玩好几轮。 假设您在 200 次独立轮次反复下注一美元。 你总共会赚多少钱?
这里是一套 200 轮的模拟。
`spins`
表包括所有 200 个赌注的结果。 你的净收益是
`Winnings: Red`
列中所有 +1 和 -1 的和。
```
py
spins
=
bets
.
sample
(
200
)
spins
.
column
(
'Winnings: Red'
).
sum
()
-
26
```
运行几次单元格。 有时你的净收益是正的,但更多的时候它似乎是负的。
为了更清楚地看到发生了什么,让我们多次模拟 200 轮,就像我们模拟一轮那样。 对于每次模拟,我们将记录来自 200 轮的总奖金。 然后我们将制作 5000 个不同的模拟总奖金的直方图。
```
py
num_spins
=
200
net_gain
=
make_array
()
for
i
in
np
.
arange
(
num_simulations
):
spins
=
bets
.
sample
(
num_spins
)
new_net_gain
=
spins
.
column
(
'Winnings: Red'
).
sum
()
net_gain
=
np
.
append
(
net_gain
,
new_net_gain
)
Table
().
with_column
(
'Net Gain on Red'
,
net_gain
).
hist
()
```
注意横轴上 0 的位置。 这就是你不赚不赔的地方。 通过使用这个赌博策略,你喜欢这个赚钱几率吗?
如果对红色下注不吸引人,也许值得尝试不同的赌注。 “分割”(Split)是轮盘赌桌上两个相邻号码的下注,例如 0 和 00。分割的回报是 17 比 1。
`split_winnings`
函数将口袋作为参数,如果口袋是 0 或 00,则返回 17。对于所有其他口袋,返回 -1。
表格
`more_bets`
是投注表格的一个版本,扩展的一列是对 0/00 分割下注的情况下,每个口袋的奖金。
```
py
def
split_winnings
(
pocket
):
if
pocket
==
'0'
:
return
17
elif
pocket
==
'00'
:
return
17
else
:
return
-
1
more_bets
=
wheel
.
with_columns
(
'Winnings: Red'
,
wheel
.
apply
(
red_winnings
,
'Color'
),
'Winnings: Split'
,
wheel
.
apply
(
split_winnings
,
'Pocket'
)
)
more_bets
```
| Pocket | Color | Winnings: Red | Winnings: Split |
| --- | --- |
| 0 | green | -1 | 17 |
| 00 | green | -1 | 17 |
| 1 | red | 1 | -1 |
| 2 | black | -1 | -1 |
| 3 | red | 1 | -1 |
| 4 | black | -1 | -1 |
| 5 | red | 1 | -1 |
| 6 | black | -1 | -1 |
| 7 | red | 1 | -1 |
| 8 | black | -1 | -1 |
(省略了 28 行)
下面的代码模拟了两个投注的结果 - 红色和 0/00 分割 - 在 200 轮中。 代码与以前的模拟相同,除了添加了 Split。 (注意:
`num_simulations`
和
`num_spins`
之前分别定义为 5,000 和 200,所以我们不需要再次定义它们。)
```
py
net_gain_red
=
make_array
()
net_gain_split
=
make_array
()
for
i
in
np
.
arange
(
num_simulations
):
spins
=
more_bets
.
sample
(
num_spins
)
new_net_gain_red
=
spins
.
column
(
'Winnings: Red'
).
sum
()
net_gain_red
=
np
.
append
(
net_gain_red
,
new_net_gain_red
)
new_net_gain_split
=
spins
.
column
(
'Winnings: Split'
).
sum
()
net_gain_split
=
np
.
append
(
net_gain_split
,
new_net_gain_split
)
Table
().
with_columns
(
'Net Gain on Red'
,
net_gain_red
,
'Net Gain on Split'
,
net_gain_split
).
hist
(
bins
=
np
.
arange
(
-
200
,
200
,
20
))
```
横轴上 0 的位置表明,无论您选择哪种赌注,您都更有可能赔钱而不是赚钱。在两个直方图中,不到 50% 的区域在 0 的右侧。
然而,分割的赌注赚钱几率更大,赚取超过 50 美元的机会也是如此。 金色直方图有很多区域在五十美元的右侧,而蓝色直方图几乎没有。 那么你应该对分割下注吗?
这取决于你愿意承担多少风险,因为直方图还表明,如果你对分割下注,你比对红色下注更容易损失超过 50 美元。
轮盘赌桌上,所有赌注的单位美元的预期净损失相同(除了线注,这是更糟的)。 但一些赌注的回报比其他赌注更为可变。 你可以选择这些赌注,只要你准备好可能会大输一场。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录