Brian Christian /
Tom Griffiths
Algorithms to Live By:
The Computer Science of Human Decisions
行路出版社
2017 / 08 / 23
a. 演算法是誰
unambiguous specification of how to solve a class of problems
從一場戰爭該不該發生
到無人機器如何精準地登入火星
還有你家的襪子
c. 誰看本書
以日常問題為開場,
演算法如何影響整個社會的運作,
對於電腦科學領域的啟蒙,
為思考邏輯開啟宏觀的視野。
d. 該說什麼
但這本書是有賣出去的
見好就收,
不能反悔!
選出最大的數字。
TRAILER
34
1.
9
2.
63
3.
32
4.
12
5.
27
6.
34、9、63、32、12、27
Secretary Problem
秘書問題
00.
Secretary Problem
秘書問題
太早做出決定 vs.
等得太久錯失機會
Secretary Problem
秘書問題
隨便錄取一個人,
找到最佳人選的機率
1 / N
Secretary Problem
秘書問題
對於演算法來說,
就是 37%
觀察面試前 37 %的應徵者,接下來比先前最好的人還要更好就錄取。
Secretary Problem
秘書問題
| 應徵人數 | 先觀察幾人 | 聘到最佳人選機率 |
|---|---|---|
| 3 | 1 | 50% |
| 4 | 1 | 45.83% |
| 5 | 2 | 43.33% |
| 6 | 2 | 41.43% |
| 100 | 37 | 37.10% |
| 1000 | 369 | 36.81% |
Secretary Problem
秘書問題
1、2、3
1、3、2
2、1、3
2、3、1
3、1、2
3、2、1
V
V
V
所有的可能
當有 3 位應徵者時,
有 50% 聘到最佳人選
Secretary Problem
秘書問題
「我嫁給第一個吻的人,當我跟小孩將這件事情時,他們快吐了」
假設要在 20 到 40 歲之間尋覓對象,26 歲前都當做參考
OPTIMAL STOPPING
最佳停止點
01.
OPTIMAL STOPPING
最佳停止點
何時該停進去?
在市區找車位的演算法
Donald Shoup
OPTIMAL STOPPING
最佳停止點
| 佔用率 | 提前幾個車位停入 |
|---|---|
| 50 | 1 |
| 85 | 5 |
| 98 | 35 |
| 99 | 69 |
| 99.9 | 693 |
OPTIMAL STOPPING
最佳停止點
免費停車的高額成本,
市區停車的解決方案。
隨需求而調整停車費率
佔用率從 90% 到 95% 時,找車位的時間變成兩倍。
02.
EXPLORE /
EXPLOIT
開發與善用
EXPLORE /
EXPLOIT
開發與善用
嘗試新歡,
或固守舊愛。
EXPLORE /
EXPLOIT
開發與善用
EXPLORE /
EXPLOIT
開發與善用
吃角子老虎機
該怎麼玩?
EXPLORE /
EXPLOIT
開發與善用
多臂土匪問題
第一台:15 次,贏 9 次;60%
第二台:2次,贏 1 次;50%
他在二戰時,傷透專家的腦筋。
EXPLORE /
EXPLOIT
開發與善用
贏錢繼續玩,輸了換一台
演算法
若今天是你最後一次在附近吃午餐,
開發對你來說重要嗎?
你可能不會想錯過 99% 的好餐廳。
EXPLORE /
EXPLOIT
開發與善用
時間是重點
換一台機器(開發)有多少價值,取決於你打算在賭場待多久?
EXPLORE /
EXPLOIT
開發與善用
現在比未來更有價值:折現
比起明天的晚餐吃什麼,
你更在乎今天的晚餐。
因為理性來說,你可能吃不到明天的晚餐。
EXPLORE /
EXPLOIT
開發與善用
吉廷斯係數表 Gittins index
計算幾何指數折現報酬
玩了很多次的角子老虎機,我們已經知道他的機率,對這台機器「開發」的利誘就減少,其他機會則便多。
EXPLORE /
EXPLOIT
開發與善用
吉廷斯係數表
| 0 | 1 | 2 | 3 | 4 | 5 | |
|---|---|---|---|---|---|---|
| 0 | .7029 | .8001 | .8425 | .8723 | .8905 | .9039 |
| 1 | .5001 | .6346 | .7072 | .7539 | .7869 | .8115 |
| 2 | .3796 | .5163 | .6010 | .6579 | .6996 | .7318 |
| 3 | .3021 | .4342 | .5184 | .5809 | .6276 | .6642 |
| 4 | .2488 | .3729 | .4561 | .5179 | .5676 | .6071 |
| 5 | .2103 | .3245 | .4058 | .4677 | .5168 | .5581 |
贏錢次數
輸錢次數
EXPLORE /
EXPLOIT
開發與善用
A/B Test
Google 工程師設計歐巴馬競選團隊捐款網頁。
用演算法將流量兩逐步導往最佳的設定。
EXPLORE /
EXPLOIT
開發與善用
來決定吃哪間餐廳吧
一家餐廳 35 次中有 29 次很好,另一家則是 16 次中有 13 次,所以 ...
EXPLORE /
EXPLOIT
開發與善用
最小遺憾架構
有時你的感覺,會比理性的機率還來的重要
EXPLORE /
EXPLOIT
開發與善用
塔司基吉梅毒研究
在研究人員的安排下,對照組的病患刻意不接受治療
EXPLORE /
EXPLOIT
開發與善用
適應性研究
紀倫的研究理論,醫療的取樣應該也要贏錢繼續玩,輸錢換一台。
EXPLORE /
EXPLOIT
開發與善用
適應性研究:葉克膜
10 位病患中,
8 位接受葉克膜全數生還,
2 位接受傳統療法死亡。
這樣有足夠證明嗎?
EXPLORE /
EXPLOIT
開發與善用
傳統取樣:葉克膜
200 位病患中,
傳統方式比死亡人數比葉克膜多26人。
EXPLORE /
EXPLOIT
開發與善用
醫藥公司如何維持最大利潤
「持續研究」或「開發新藥」
那被放棄的一群病人呢?
03.
SORTING
排序
SORTING
排序
令希利斯緊張的襪子
但不是他的襪子
SORTING
排序
室友籃子裡有 10 雙不同的襪子,抽出一支襪子,如果第二隻跟第一隻不一樣就放回去,反覆直到湊成一雙。
110次
SORTING
排序
我們只需要嘗試
52
!
次
SORTING
排序
80658175170943878571660636856403766975289505440883277824
SORTING
排序
這時我們就可以把自己的名字放到記錄裡,並寫上一個不算太差的成績,0 分 0 秒。
SORTING
排序
賓客問題:假設有 n 位賓客
SORTING
排序
氣泡排序
抽出一本,一個一個比對。
一個書櫃會比五個要多花上 25 倍的時間
O(n平方)
SORTING
排序
合併排序
O(n log n)
SORTING
排序
8, 4, 3, 2
SORTING
排序
8, 4, 3, 2
4, 8
2, 3
2, 3, 4, 8
SORTING
排序
名次未必反應實力
我們不知道銀牌是不是比銅牌厲害
SORTING
排序
單淘汰賽事中銀牌是第二厲害的機率
16/31
SORTING
排序
循環賽制
真正反應實力的設計
但要花費令人聞風喪膽的 O(n平方)
SORTING
排序
單淘汰制
64隊, 32隊, 16隊 ...
SORTING
排序
循環賽制:真正反應實力
SORTING
排序
只要冠軍進行最少比賽
王牌賽制:會累壞
SORTING
排序
降低養雞場,雞隻互相傷害的機率
剪掉雞喙會是好選擇嗎?
SORTING
排序
大自然的排序:血腥排序
動物自然的階級,實力相當時才競爭
Bayes's Rule
貝氏法則
SCHEDULING
排程
Overfitting
過度配置
Game Theory
賽局理論
CONCLISION
結語
END
演算法的善意
演算法的理性,是解決基本的問題。剩下的是將精力運用在帶入人性的和諧上。
約訪
捐款
死亡恐慌
Algorithms To Live By
決斷的演算法
謝謝!