Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
概率与随机
Search
shhhz
October 11, 2022
Technology
0
48
概率与随机
生活中充满了概率与随机,分享通过一些故事和例子介绍了秘书问题、蓄水池抽样算法、洗牌算法、猴子排序、遗传算法、卡方检测。
shhhz
October 11, 2022
Tweet
Share
More Decks by shhhz
See All by shhhz
游戏中的奥秘
shhhz
0
53
Seam Carving 算法
shhhz
0
300
正则表达式
shhhz
0
34
Other Decks in Technology
See All in Technology
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
610
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
480
20250913_JAWS_sysad_kobe
takuyay0ne
2
250
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.3k
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
230
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
500
💡Ruby 川辺で灯すPicoRubyからの光
bash0c7
0
120
LLM時代のパフォーマンスチューニング:MongoDB運用で試したコンテキスト活用の工夫
ishikawa_pro
0
170
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
330
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
240
IoT x エッジAI - リアルタイ ムAI活用のPoCを今すぐ始め る方法 -
niizawat
0
110
今日から始めるAWSセキュリティ対策 3ステップでわかる実践ガイド
yoshidatakeshi1994
0
110
Featured
See All Featured
Writing Fast Ruby
sferik
628
62k
Bash Introduction
62gerente
615
210k
Faster Mobile Websites
deanohume
309
31k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Agile that works and the tools we love
rasmusluckow
330
21k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Large-scale JavaScript Application Architecture
addyosmani
513
110k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
GitHub's CSS Performance
jonrohan
1032
460k
Transcript
概率与随机 @Rick
游戏中的赚钱奥秘
None
2%到底意味着什么?
• 假设我只准备了 40 抽的钱,我有多⼤把握能抽到? • 我想知道⾄少 80%的把握能抽到,我需要抽多少次? • 对于x%的抽奖概率,80% 把握能抽到的次数是什么分布?
1 − 1 − 𝑥 ! ≥ 0.8 𝑛 ≥ 𝑙𝑜𝑔"#$ 0.2 x n 1% 161 2% 80 0.8% 201
柏拉图拾麦穗
ᆃࣼ൞ι౦b 柏拉图空手而归 ၹູࠧु֞ޓն֥đ Ⴛሹஃభ૫Ⴕ۷ն֥b ູહહ္ીᅋĤ ᅋ۱ቋն֥ચđᆺ ॖཟభሼđᆺିᅋ၂Ցb હ൞ι౦Ĥ
ᆃࣼ൞߾ၽb 柏拉图砍了一颗普通的树 ႵਔഈՑ֥࢝đु֞ ҵ҂؟֥ࣼीਔb ູહᆃહ௴๙Ĥ ी॒ቋն֥ඎđܿ ᄵބഈՑ၂ဢb હ൞߾ၽĤ
秘书问题(Secretary Problem) • 从给定数量的 N 个候选⼈中雇⽤最好的秘书。 • 在⾯试结束后,必须⽴即做出录取或淘汰的决定。 • ⾯试结束前没有⼈被录取,那么就选择最后⼀名候选⼈。
P(选第 i 个且第 i 个是最好的) = " %
秘书问题(Secretary Problem) 录取比淘汰里都好的一个 R N 对于总人数 N,首先淘汰 R 个,录取从 R
+ 1 开始比 1~R 里都好的那个人。
秘书问题(Secretary Problem) 取 N = 3 • 若 R =
0,等同于直接录取第⼀个,P = " & • 若 R = 2,等同于直接录取第三个,P = " & • 若 R = 1 # 1 2 3 录取结果 1 差 中 优 失败 2 差 优 中 成功 3 中 差 优 成功 4 中 优 差 成功 5 优 差 中 失败 6 优 中 差 失败 P = - .
𝑃 𝑅 = ∑!"#$% & 𝑃(选 𝑛𝑡ℎ 且 n𝑡ℎ 是最好的)
= ∑!"#$% & 𝑃 𝑛𝑡ℎ 是最好的 𝑃(第 2 好的在前 𝑅 中) = ∑!"#$% & % & # !'% = # & ∑!"#$% & % !'% = R * ∫ # % % ( 𝑑𝑡 秘书问题(Secretary Problem) -xlog(𝑥)
秘书问题(Secretary Problem)
秘书问题(Secretary Problem) 当 R = " ' 𝑁 时,P(R*) 最大,趋近于
" ' ≈ 0.37 - 0 定律
质检员张全蛋
富⼟康 3 号流⽔线 • 需要抽取 k 台手机检查,在流水线停止前不知道总数 • 只遍历一遍流水线的情况下,如何决定抽取哪些?
蓄⽔池抽样算法 k 大小蓄水池 • 当样本数小于 k 时,直接放入蓄水池 • 从 k+1
开始,第 m 个样本以 ( ) 的概率放入蓄水池,否则丢弃 放入蓄水池时,从蓄水池样本中随机挑取一个替换掉(各 " ( 概率) ) * % ) ) + 4 5 1 2 3
P(保留5th) = & * P(保留4th) = P(保留 4th AND 没有被
5th 替换) = P(保留 4th) * P(没有被 5th 替换) = & + * P(没有保留 5th OR 保留了 5th 但是没有替换 4th) = & + * (, * + & * ∗ , & ) = & * P(保留3rd) = P(保留 3rd AND 没有被 4th 替换 AND 没有被 5th替换) = 1 * (" + + & + ∗ , & ) ∗ (, * + & * ∗ , & ) = & + * + * = & * = 1 * P(没留 4th OR 留 4th 但没替 3rd) * P(没留 5th OR 留 5th 但没替 3rd) ) * % ) ) + 4 5 1 2 3 P(保留2nd) = P(保留1st) = P(保留3rd) = & *
P(保留ith | i > k) = P(保留 ith AND 没有被
i+1th ~ nth替换) = ( - * ∏).-/" ! )#" ) = ( - * ( - -/" * -/" -/, * … * !#" ! ) = ( - ∗ - ! = ( ! = ( - * ∏).-/" ! ()#( ) + ( ) ∗ (#" ( ) P(保留ith | i <= k) = P(没有被 i+1th ~ nth替换) = ∏).(/" ! )#" ) = ( (/" * (/" (/, * … * !#" ! = 𝑘 𝑛 = ∏).(/" ! ()#( ) + ( ) ∗ (#" ( ) , - % , i 1 .. k = ( - * (-/"#( -/" + ( -/" ∗ (#" ( ) * (-/,#( -/, + ( -/, ∗ (#" ( ) * … * (!#( ! + ( ! ∗ (#" ( )
蓄⽔池抽样算法
羊了个羊
None
洗牌算法(Shuffle) 公平的洗牌算法怎么才算公平? • ⻓度为 n 的数组,⼀共有 n! 种排列⽅式 • 等概率返回其中⼀种,是⼀种公平的洗牌算法
• O(n!) • 重复 k 次交换随机的两个元素 • k 取多少算公平?
Knuth 洗牌算法
猴子排序
在计算机科学中,Bogo 排序(bogo-sort)是个⾮常低效率的排序算法,通常⽤在教学或测试。其原理等同将 ⼀堆卡⽚抛起,落在桌上后检查卡⽚是否已整⻬排列好,若⾮就再抛⼀次。其名字源⾃ Quantum bogodynamics,⼜称 bozo sort、blort sort 或猴⼦排序(参⻅⽆限猴⼦定理)。
扫地机器人罗比
扫地机器⼈罗⽐ • 罗比只能看到上下左右和当前位置的情况。 • 每次清理执行 200 次动作,动作可以是:向上走, 向下走,向左走,向右走,随机一个方向走、 捡罐头、不动。 •
每一个动作执行完以后都会有一个评分: 如果捡罐头时格子有罐头,那么罐头被捡起,加 10 分; 如果捡罐头的时候格子中没有罐头,扣 1 分; 如果罗比撞到了墙,扣 5 分。 • 什么样的策略能获得更多的分?
扫地机器⼈罗⽐ • 状态总数 一共有 3 * 3 * 3 *
3 * 3 = 243 种状态。 • 策略总数 7.*)
扫地机器⼈罗⽐ 1524550212564440633551413624533512004514551231516041623242660040402560600520043164 0145620344333422514115645105023510625635424506314301134042262604435644440030055563 1325215155436144345164455440161256251412661563442063025020602255536510141514365 生成一种策略
遗传算法 1. 初始化种群:随机生成 200 个个体 2. 计算适应度:对 200 个个体进行评分,评分的规则是让罗比打扫 1000
次世界,每次打扫世界都是随机生成的, 且每次打扫罗比移动 200 步,最后算出这 1000 次打扫的平均分。 3. 杂交:根据所有个体的得分,随机选取两个个体进行杂交,得分越高的个体越容易被选中。杂交会生成两个子 代,将子代放入新种群。重复这个过程,直到新种群的个数达到 200 个。 4. 突变:子代的一个或多个基因会有一定的概率发生突变,发生突变的基因会随机变为其他的动作,比如从 1 变 为 6。 5. 迭代:重复以上的过程,直到达到 1000 代。
遗传算法 15245502125644406335514136245335120045145 40402560600520043164014562034433342251411 15245502125644406335014562034433342251411 40402560600520043164514136245335120045145 40402560600520043164514136345335120045145
遗传算法
AB Test
系统设计
分组逻辑
Ken: Math.random() 是随机的吗?你怎么证明?
卡⽅检验(Chi-Square Test) 🎲 1 2 3 4 5 6 实际值
12 18 16 13 20 21 期望值 16.6 16.6 16.6 16.6 16.6 16.6 V = 4.04
Thanks!