2021年1月9日 星期六

決斷的演算(5/5)

決斷的演算:預測、分析與好決定的11堂邏輯課
Algorithms to Live By: The Computer Science of Human Decisions
https://www.books.com.tw/products/0010761815

超讚的好書,讓鄙人一窺computer science與資工的奧妙

想起2014年去米國亞特蘭大,跑去逛喬治亞理工,人家computer science的系館大樓比environmental engineering的那棟大很多XD


Principles of Computing (computer science and computational thinking 跟其他學門的差異)
https://www.americanscientist.org/article/the-great-principles-of-computing



第十章 網路—我們如何互通聲息

人類互通聲息的基礎是協定,也就是程序和預期的共通慣例,例如握手、打招呼和禮貌,以及各種社會規範。機器間的聯繫也不例外。這類協定是微妙但長久存在的焦慮來源。我前幾天傳了個訊息,從何時開始我會懷疑對方根本沒收到呢?你的回答怪怪的,我們之間是不是有什麼誤會?網際網路問世後,電腦不僅是溝通管道,也是負責交談的聯絡端點,因此它們必須解決本身的溝通問題。機器與機器間的這類問題以及解決方案,很快便成了我們借鏡的對象。


史上第一通長途電報:1844/05/24,內容:上帝創造何等奇蹟
史上第一通電話:1876/03/10發明人亞歷山大打給助手,內容:華生先生,過來一下,我有事找你
網際網路1969/10/29 UCLA發送史上第一則電腦訊息:LO(login)
行動電話,1973/04/03,由摩托羅拉的Martin Cooper走在鈕約第六街上,打給競爭對手AT&T的Joe Engal(嗆聲)
文字簡訊1992/12/03,祝賀聖誕快樂

 

為了非連續交談而創造的- 封包交換

網際網路一開始有很多通訊協定
最主要的通訊協定- 傳輸控制協定TCP
TCP最早使用電話線路,但其實應該視為郵件(而非電話)

電話使用「迴路交換」- 在傳送者和接收者之間開起一個通道,提供雙方固定頻寬,有助於對話;但這種「迴路交換」不適用於機器

電腦資料交換不像人類對話:一下子要傳輸一堆資訊,接著有沉默很長一段時間
搶走「迴路交換」的技術是「封包交換(packet switching)
把資訊切成極小的封包,再把封包合併成原有的資訊流,有點類似把一本書切成明信片寄送(只不過寄送速度趨近於光速)


研究封包傳送的理由
1.更有效率地利用頻寬
2.what if 線路遭到戰爭破壞,如何持續運作?(迴路交換,一但斷線訊息就中斷;封包交換則可以走其他不同的線路)
3.如何讓資訊封包在不同的媒體上運作(透過無線電或衛星依然可以運作)


溝通的大哉問

應答- 怎麼曉得訊息有沒有送達?

任何傳輸都不可能100%可靠

電報的年代,要把內文回傳當成確認回條(what a waste of time and communication capacity?!)

拜占庭將軍問題
https://zh.wikipedia.org/wiki/%E6%8B%9C%E5%8D%A0%E5%BA%AD%E5%B0%86%E5%86%9B%E9%97%AE%E9%A2%98

封包傳遞的應答確認(ACK)
https://blog.xuite.net/j62u6/kazma/211831724
說明有多少封包&傳送的第幾號

對於人類通話而言,背景的靜電雜訊可讓人確認電話沒有斷訊,乃至於沉默也是一種對話



然而面對一個不可靠的人或電腦訊息該如何處理?
人類口語可以接受某種程度的錯誤與雜訊

 指數退讓- 寬恕的演算法

第一次遭到侮辱會寬恕,第二次會忍耐,第三次則不再寬恕

使用無線電訊號代替電話網路
問題在於同時發話時會打架
只有兩方時可以率訂雙方輪流退讓,其中一者重新發話

但如果有3方、4方…很多方時,該如何是好?

指數退讓:
第一次發話失敗,發送者在1-2輪後重傳
兩次發話失敗,發送者在2-4輪後重傳
3次發話失敗,發送者等待1-8輪後重傳


應用在人類社會上
朋友一次爽約,邀請率降為1/2
兩次爽約,邀請率降為1/4
三次爽約,邀請率降為1/8
一犯再犯的罪犯,會被法官三振出局
違反緩刑規定的罪犯,只要一犯法,立刻執行事先訂定的處罰,每違反一次就再加重一些處罰



控制流量和避免阻塞

頻寬突然從32000kb/sec降為44kb/sec


處理阻塞的方式

迴路交換:直接告訴你電話中,忙線中

封包傳遞:被佔滿,傳遞速度減慢(沒有機制告訴發送者還有多少發送者與壅塞時間或壅塞量)



控制法- 加法遞增乘速遞減(AIMD)

第一次傳第一個封包,如果成功,接著傳兩個,兩個成功,接著四個…
如果傳8個沒成功時,下一次只回傳4+1個封包



此一觀念的應用

螞蟻找食物的數目跟以上AIMD類似
第一次有一隻找回食物,兩隻會再回去,接著四隻、8、16….

人類組織的晉升
彼得原理- 每個人都會被晉升到不適任的職位上=>最好的方法就是把大家都降一級

對策是
1.只用新鮮人
2.get promote or get out(不升職就離職)

階級提升或下降必須有彈性:動態式組織(配套彈性的薪酬與工時+專案性質工作)
避免出現僵屍(沒有得到升遷肯定的)與某些過負荷的(走火入魔的)

 

語言學中的流量控制

語言不單有咬字清晰、合乎文法與沒有中斷的句子

聽的人會答覆:「是」、「嗯嗯」這類的訊息也很重要
乃至於聽話的人(學生、聽眾、另一半)的眼神飄向別處或低頭,對於發話者都有很大的影響

好的聽眾可以幫助講者講得更好,差勁的聽眾可以讓講者講得沒力=>老師講的好不好,學生也有責任。

 

延遲或遲了就不要做

延遲
太多客戶一下子湧入可麗餅攤位,大排長龍
該攤位應在一定排隊長度後標示明日請早=>自己營業額不會減少、也可讓很多客人不用浪費時間排隊
透過延遲(=讓客戶等待)來增加處理量


遲了就不要做/算了
過去大家想找人,要透過電話
但大忙人電話不接,或者都是秘書小姐代接留言
之後乾脆透過電腦郵件的留言
E-mail發明人Ray Tomlinson
https://en.wikipedia.org/wiki/Ray_Tomlinson

email沒有回應或line已讀不回=當事人太忙拒絕

 

 

 

第十一章 賽局理論—別人是怎麼想的?

賽局理論廣泛影響經濟學和社會科學領域,然而除非賽局參與者找得到奈許均衡,它的預測能力才會造成影響,但是電腦科學家已經證明,純粹尋找奈許均衡是難解問題……

另外傳統賽局理論有個見解:對一群依自身利益採取理性行動的參與者而言,「均衡」或許不是最好的結果。演算法賽局理論依採用了此見解並加以量化,創造出「自主行為代價」這個度量,結果發現某些賽局中自主行為的代價其實沒有很高,這意謂著該系統不論細心管理或放任不管都差不多

我相信人類高尚又可敬,而且有些人非常聰明但我對一群人沒有那麼樂觀- Steve Jobs

 

本書1-10章討論人對自然、人對自己 的演算法與兩類問題
本章討論人對人,人對社會(一群人)等兩類問題



遞迴- 你猜我會如何猜測你猜測我的想法

成功的投資源自於預測別人的預測- 凱因斯

打牌的時候,玩的不是自己手上的那副牌,而是對手的- 007皇家夜總會

https://eshmanager.blogspot.com/2018/10/45.html#more

https://eshmanager.blogspot.com/2013/02/blog-post_23.html

職業高手故意毫無理由的打出很糟糕的牌,以混淆對手或電腦




奈許- 就是賽局達成均衡

https://eshmanager.blogspot.com/2020/04/12.html

奈許均衡
e.g., 剪刀石頭布猜拳遊戲,最後雙方都各出1/3(均衡=穩定)
實際上,你猜我,我猜你的遞迴,往往會導致不均衡

 

不採取「均衡」的代價

最著名- 囚犯的困境

均衡不見得是最好的結果

隨人顧性命的自私法在交通上,各行其是不過比毫無阻礙的進行慢33%
缺少中央協調與各種管制,最多只會使通勤時間增加33%



寒意與涵義

1.自由市場/八仙過海的結果,只比最完美的狀況差33% (為達完美狀況的管制與協調乃至於付出的成本說不定多100%)

2.總體與中央集權的管制有機會創造更好的秩序,但效率不見得更高

3.樂觀的人說:我們活在最好的時代。悲觀的人則害怕這句話是真的


 

共有地的悲劇

各種惡性的均衡
https://eshmanager.blogspot.com/2011/04/dynamic-risk-management-fallacy-of.html

https://eshmanager.blogspot.com/2018/09/blog-post_15.html

解決方案不存在於系統內…要從系統外尋求解決方案

 

機制設計- 改變賽局

與其提供員工休假獎金,不如規定強制休假天數

透過法律、宗教道德教條等,約束惡性競爭(黑道教父與白道官員的力量再大,大不過天父)


Things a Computer Scientist Rarely Talks About
http://web.stanford.edu/group/cslipublications/cslipublications/pdf/1575863278.pdf

 

演化而來的機制設計

人的本性自私短視,但演化而來的道德良知,讓人有些原則

人心有些理由,理性(考量利益的那種)無法解釋這些理由

加州的紅木可謂是一種惡性競爭的結果- 如果樹木彼此之間可以妥協休兵,那麼其實不必長得那麼高(樹木只要彼此高度差不多,獲得的陽光能量相同)



人心渴望正義與公平- 道德是每個人心中的群居本能(尼采)

為求正義與公平寧願報復與衝突哪些不義與欺騙的人事


憐憫、憤怒等情緒,乃至於愛情或親情,比法律合約更有助於解決承諾的問題
情緒賽局
https://eshmanager.blogspot.com/2020/07/13.html



愛情不單是門當戶對的利益考量,而像是組織犯罪或囚徒困境,即便客觀上兩造雙方都遇到了更好的對象或有其他選擇,伴侶通常不會選擇分手

愛情(婚姻)的理性在於
1.依附感,讓你覺得物超所值(放大對方的優點、忽視對方的缺點)
2.墜入愛河的錯覺,讓雙方在彼此面前成為更好、更具吸引力的對象
3.你害怕心碎的恐懼與失去的忌妒(=被對方作掉),讓你成為可信賴的共犯 

靠,這個分析真是太理性、清晰& Crystal Clear

 

 

悲慘的理性泡沫
(溫水煮青蛙下的資訊瀑布)

2008金融泡沫
https://eshmanager.blogspot.com/2012/04/inside-job.html

僵屍企業失敗學
https://eshmanager.blogspot.com/2019/08/12.html


泡沫=拍賣的悲劇(得標者的詛咒)
大家依據彼此的出價來決定自己的出價
要獲得獲利機會,就必須承擔買貴的風險
要等待檢便宜,就必須冒著失去機會的風險




各種公開資訊其實沒有如同表面上的那麼有參考價值,我們其實不知道其他市場參與者的想法(如何判定價值),只知道他們做了什麼


一群完全理性的參與者,可以受到錯誤的資訊(從眾)左右,這種現象稱為
資訊瀑布
http://wawafinanceessais.blogspot.com/2017/11/blog-post_8.html

https://pansci.asia/archives/126919




資訊瀑布解釋泡沫、風潮和群眾行為
結論

1.即使市場中沒有非理性、惡意或違法行為,為何也很容易飛漲和暴跌。人類經常如此,錯通常不在參與者本身,而在賽局本身。

2.在這類陷阱狀況中,我們只知道其他人做什麼,但不清楚他們為什麼那樣做,而且我們比較在乎自身判斷是否符合共識,而非符合事實

3.人未必會根據想法行事,瀑布形成的部分原因,是我們依據他人的行動錯誤解讀他們的想法。否決自己的懷疑時必須格外謹慎,即使真的這麼做了,應該在採取行動時設法表達出我們內心的猶豫。





避開資訊瀑布陷阱的最佳策略是

忠於自己

法國存在主義哲學家尚保羅.沙特有個名句:「他人即地獄。」他的意思不是其他人都不懷好意或令人不快,而是他人的行為往往使我們的思想和信念變得複雜。通往地獄的路是由難解的遞迴、惡性均衡以及資訊瀑布鋪成的(
人不知道自己要得是什麼,所以從眾追求別人有的東西https://eshmanager.blogspot.com/2017/11/0122.html )


如果你永遠只做你覺得對的事,無論別人認為它有多瘋狂,請儘管放心
壞消息是你犯錯的機率會比從眾者來得高(沒有善用或利用群眾的智慧)
好消息則是堅守信念可產生好的外在觀感,讓別人從你的行為做出精確推論,有一天說不定你會因此而讓一大群人逃過大難。

誠實(忠於自己)才是主導賽局的最佳策略,好好做自己(相信你自己的價值主張與判斷)就好(就能做出貢獻與有所價值)

https://eshmanager.blogspot.com/2018/10/55.html

 

 

 

 



結語:運算的善意

對於人類某些問題,如今已經找到解決的演算方法;即使尚未得到所需結果,使用最佳演算法也會讓人寬心。此外電腦科學還能協助我們,清楚劃分哪些問題有明確解答、哪些問題則無,從而選擇要面對什麼—包括自己要面對什麼,以及要讓其他人面對什麼,其原則便是運算的善意。現今的電腦做的,並非「盡量羅列選項,找出最好的一個」。有效的演算法會做出假設,偏向選擇較簡單的解答、權衡誤差代價和延遲代價,接著冒險一試。這些作法不是讓步,它們本身就是理性的方法。


任何受時間與空間限制的動態系統,都有些無法避免的基本問題,而這些問題本質上都是運算問題。

演算法雨點腦運算針對以上限制與基本問題提供了三個結論:

1.有些問題可以找到解決問題的演算法 (很多問題其實無解或太複雜無能為力可解)
e.g., 37%法則、LUR準則等


2.知道自己已經採取最佳演算法,可以讓人安心 (但過程不等於結果)
37%法則代表失敗機率有63%
LUR準則不保證你可以找到要用的東西或資料
隨機嘗鮮試誤與固守既有好東西之間取捨,不能保證你沒有遺憾

電腦科學把「過程」跟「結果」分開,如果已經採取所知最佳的「過程」,即便「結果」不如人意,也不應該自責

現實世界成敗論英雄,但我們只能控制過程,不能控制結果(取決於運氣)

所謂的理性與理智是:針對你能控制的,盡最大的努力;而你不能控制的,則祈求好運(=拜拜賄賂神明)與(優雅and坦然地)認命



3.明確的區分「有明確解答(可被計算)的問題」與「沒有明確解答(不可被計算)的問題」
「差不多」與「夠用」真的已經足夠
理解問題與計算複雜性,有助於做出選擇與取捨(放鬆限制、不要走火入魔找尋最佳解)



從電腦運算求解來看人類行為的弔詭
比起沒有明確答案或對象的問題,人們偏好有設限的問題與特定對象

跟人家約時間,約特定時刻會比一段區間來的容易
e.g., 約「週二下午1400-1500」比約「下週對方方便的時間」,前者對方更容易說有空

人們捐款救助特定人會比一群人來得如容易、金額也高很多
e..g, 捐款幫助某個人 vs 捐款幫助植物人/ 保護白海豚

人們擔心死於恐怖攻擊的程度遠高於其他病死或車禍的程度高



從運算看人類禮儀準則

1.社交禮儀與禮貌性問法反而造成當事人負擔
e.g., 我都可以,你想做什麼?
意味著:現在有個問題,你來決定(=你處理)

2.對於心智機器(=人腦)而言,臆測他人的想法是莫大的運算挑戰
客氣地表達自己的偏好與立場(我比較想OO或XX,你覺得如何?),可以降低對方認知的負擔,幫助群體達成共識與決議。

3.要讓當事人舒服(節省腦力),反而是給他更少的選項而非更多的選擇
要出去吃飯或出遊,直接提議一兩個方案讓對方選擇或拒絕



以上人類禮儀行為準則同樣適用於(電腦)設計

設計的主要目標:
讓使用者或客戶減少不必要的對立磨擦、等候與腦力消耗

e.g.,
公車站牌電子看板顯示下一班車的預計到站時間
停車場車道設計,讓駕駛人只要直直開,看到車位就停
電子票證讓人不必費心計算找零或者找錯

在所有的領域中,納入考量的因素越多,找到完美解答的時間就越長&可能性越低,乃至於在資訊不透明或不對稱的狀況下,不可能有最佳解。

嘗試做出假設(簡化問題)、偏向於選擇簡單與眼前可行的解答&冒險嘗試,這種作法不是讓步與妥協,本身就是理性的方法


PS:本書的致謝,讓人看見作者的用心、寫作的質與量

這些年來,花了些心力讀不同類型的書,發現不同領域或學門(的山頭大師)竟然歸納出同樣的道理,這些道理應該可謂是真理了,值得善加珍惜與謹記(但不適合對外大聲嚷嚷或心存善意試圖分享很難用三言兩語與資訊刪減懶人包的方式讓無知的人理解道可道非常道)

沒有留言: