← 全部概念地圖
標準

概念地圖・蒙地卡羅樹搜尋

分類:系統

這一頁不只是把一個概念解釋一遍——一張自己畫的結構圖,加上拿台灣情境從頭走一次的實例演練、這個框架什麼時候會騙你,以及它接回 P.A.I.N. 之後長什麼樣。一頁必須交付的三層 →

蒙地卡羅樹搜尋:四步跑一輪,把下一次嘗試分對那一枝

下一批酒花要下單了,三個產區裡只能挑一個。在地契作那家去年買最多,閉著眼也知道味道;另外兩個進口產區只零星試過幾包。下單期限剩四個月——這四個月可以全拿去開會翻資料,也可以拿去實際試釀幾批。蒙地卡羅樹搜尋選後者,而且它給了一套規矩,決定那幾批該花在誰身上。它把一個決定畫成一棵樹,一輪只動一條路徑,跑完把結果沿原路加回去。AlphaGo 靠它下贏圍棋,但它真正好用的場合,是你手上只有幾次便宜嘗試、面前卻攤著一整排選項的時候。

蒙地卡羅樹搜尋跑一輪:選擇、擴展、模擬、回傳落在樹的哪個位置 一棵往下長的樹。頂端是根節點,往下分成三枝,最左邊那一枝又多長了兩層,另外兩枝各只有一層。金色粗線從根一路走到最左下的葉子(①選擇);葉子底下用金色虛線圓圈新開一格(②擴展);再從那一格拉出淡色波浪虛線,斜向右下接到寫著「隨機玩到結束」的方框(③模擬);三支朱紅箭頭沿原路往上指回根節點(④回傳)。根與三個子節點旁各留一個空方框,用來填這一枝被試過幾次。右側列出四個步驟的名稱與一句說明。 一輪跑完,樹上會多出哪一塊 根 甲 乙 丙 新 隨機玩到結束 ① ② ③ ④ ①選擇 ②擴展 ③模擬 ④回傳 沿粗線挑一枝走到底 在葉子底下新開一格 從新那格隨機玩到結束 結果沿原路往上加回去 一輪只動一條路徑;跑上千輪 之後,被試出好結果的那一枝 會愈長愈深。 節點旁的方框放的是這一枝被試過幾次,圖上先留空。
一輪只動一條路徑:走到底、開一格新的、隨機玩完、再把結果一路加回去。

四步跑完一輪,樹上多了什麼

四個步驟的名字很技術,做的事其實很土。跑完一輪,樹上會多一格,而路徑上每一格的帳都要被改一次。

步驟這一步在做什麼樹上留下什麼最常被跳過的地方
選擇從根往下,每一層都挑「平均分加上沒試幾次的加分」最高的那一枝走出一條從根到葉的路徑只看平均分,於是每一輪都走同一條路
擴展在走到底的那一格下面,新開一個還沒被試過的選項樹多長出一格,次數為零選項清單從第一天就沒再變過
模擬從新開的那一格,用最粗糙的方式一路玩到有結果拿到一個粗略的分數為了把模擬做準,一輪就跑掉三個月
回傳把那個分數沿原路加回經過的每一個節點路徑上每一格次數加一、平均分更新試完不回填,下一輪照樣憑印象挑

表上最容易被跳過的是第四步。前三步都有動作感——挑、開、玩;回傳沒有,它只是把一個數字往上加。可是不回填,前面三步等於白做:下一輪走到同一個岔口時,你手上的資訊跟上一輪一模一樣。這套方法之所以會愈跑愈準,全靠這一步把每一輪的結果留在樹上,而不留在某個人的印象裡。

這四步搬不搬得動你的決策,看三件事

一、試一次的價錢,決定你買得起幾輪。機器一輪的模擬成本接近零,所以它敢跑上萬輪。你不敢。酒花這件事之所以搬得動,是因為實驗線有一個 300 公升的小批次——一批一萬八,四週出結果,而且這批酒多半在自家門市賣得掉,一萬八算的是攤掉營收後的淨成本。要是你的「試一次」等於整條主線停兩天,那這棵樹只會長出一層就停住。自問:把這件事試一次,最省的版本要花多少錢、佔掉多少產能?

二、結果要多久才回得來。四週。這是酒花這題真正的關鍵數字——下單期限剩四個月,四週一輪,扣掉最後的採購與報關作業,最多塞得下三輪。三輪代表你只能改三次主意。反過來說,一個要等一整年才知道對錯的決定,樹就長不動,你只能靠第一輪的直覺一路走到底。自問:從試下去到看見結果,中間隔多久?這個間隔塞得進你的決策期限嗎?

三、上一輪的分數,下一輪還算不算數。回傳那一步藏著一個前提:舊帳可以一直往上累加。酒花有年份,同一個產區今年的收成未必複製得了去年。所以那一百多批試釀的平均分裡,三年前那幾批該不該還留在分母裡,得自己定個規矩——只算近兩年,或給舊資料打折。這條沒想清楚,樹上的數字會愈跑愈像考古報告。自問:環境變過之後,上一輪試出來的分數還能原封不動加回去嗎?

一家精釀廠的下一批酒花,四步各跑一次

底下這家台灣中部的精釀廠,是為了把這個結構講清楚而編出來的示意情境,沒有指涉任何真實公司。

實例演練

這三年下來,實驗線總共跑了 200 批試釀,分給三個產區:在地契作的甲區 120 批、進口的乙區 50 批、進口的丙區 30 批。三個數字加起來剛好是 200。盲飲評分換算成滿分 1,甲區 0.62、乙區 0.55、丙區 0.48。照直覺,下一輪當然給甲區。

  • 選擇:把「還沒試夠」也算進分數。UCT 的白話講法是:平均分,加上一個「沒試幾次就給的加分」。加分那一項是 √(ln 200 ÷ 試過幾次),ln 200 約等於 5.30。甲:0.62 + √(5.30 ÷ 120)= 0.62 + 0.21 = 0.83。乙:0.55 + √(5.30 ÷ 50)= 0.55 + 0.33 = 0.88。丙:0.48 + √(5.30 ÷ 30)= 0.48 + 0.42 = 0.90。下一輪走丙。丙的平均分在三個裡面最低,它被選中,完全來自那個加分項
  • 擴展:在走到底的那一格底下,開一個新的。丙區的供應商手上有三個批號,這幾年只買過其中一個。這一輪走到丙,就在丙底下新開一格——那個沒碰過的晚收批號。那一格現在是空的:零次,沒有分數。新開的那一格天生帶著全樹最高的加分
  • 模擬:用最粗糙的方式玩到有結果。不做完整的成本效益評估,直接下一批 300 公升的試釀,四週後找八個常客盲飲評分。粗、快、便宜——這正是模擬那一步該有的樣子。那八個人若都偏好同一掛口味,模擬從第一輪就是歪的
  • 回傳:把分數沿原路加回去。新批號拿到 0.71。這個數字要一路往上加:新那一格記一次,丙區從 30 批變 31 批、平均分從 0.48 挪到 0.49,根節點從 200 變 201。下一輪重算的時候,比的是更新過的帳。三輪跑完,你手上多的是三筆真實入口的證據

這個場景真正值得記住的接縫,在第一步跟第四步之間。第一步算出「該試丙」的時候,沒有任何人相信丙比較好——甲的平均分高出一截,資料也厚得多。丙被選中,只因為它被試的次數少到讓那個加分項足以翻盤。這一步的本質是替「不確定」定價:一個只試過 30 批的 0.48,可能是真的難喝,也可能是那 30 批剛好撞到壞年份;而 120 批堆出來的 0.62,翻盤空間已經很小了。四個月只塞得下三輪,這三輪要花在資訊量最大的地方,而資訊量最大的地方,往往就是你最不熟的那一枝。第四步則決定這三輪會不會白跑——盲飲結果如果只停在釀酒師的筆記本裡,第四個月的採購會議就會退回三年前的印象之爭。以上為說明結構用的示意情境,僅供理解框架之用。

訪問次數高的那一枝,最容易被高估在哪裡

  1. 領先的那一枝,分數裡混著早期的運氣。樹會反覆挑「目前看起來最好」的那一枝,而目前看起來最好,有一部分來自前幾輪的手氣。手氣好的那一枝拿到更多次嘗試,看起來也更可信;手氣差的早早被冷落,連翻案的樣本都湊不出來。所以樹跑完之後,冠軍那一格的平均分通常比它真實的水準漂亮一點——這件事在統計上叫贏家的詛咒,在你的年度檢討裡叫「為什麼去年的爆款今年賣不動」。
  2. 加分項會自己縮水,探索紅利只在前面幾輪值錢。加分那一項是 √(ln 總次數 ÷ 這一枝的次數):分子的 ln 長得很慢,分母卻一次加一。丙區現在有 0.42 的加分撐著,等它也累積到 120 批,加分會掉到 0.2 出頭,那時候比的就只剩平均分了。所以探索是有窗口期的——前面幾輪不刻意分幾次給生面孔,等到後面才想起要公平,那個加分項已經幫不上忙。
  3. 機器跑一千輪,你只跑得起三輪。這套方法的力量來自大數:跑到上千輪,早期的雜訊會被洗掉,樹的形狀才開始可信。你跑三輪,什麼都洗不掉——三輪之後那棵樹,只是三個樣本擺出來的形狀。所以搬到人身上時,把它的產出降一階來讀:它排的是「下一次嘗試該花在誰身上」,這件事第一輪就開始有用;至於哪一枝最後最好,那要等一千輪,而你等不到。

這棵樹替你省下的是哪一種力氣

痛點視角

先說一句大實話:這棵樹沒有比你聰明。

它省下的力氣很具體——省的是「動手之前,先把三個產區的優劣想清楚」那一段。多數人卡在那一段,因為那一段本來就想不清楚:你沒喝過丙區今年的酒,再開三次會也生不出味道。這套方法的動作,是把那段力氣改花在別的地方:訂一個便宜的試法,訂一個回填的規矩,然後讓樹的形狀自己長出來。《痛點》的 P.A.I.N. 裡,A 那一關問的是「你憑什麼相信這件事會成」;蒙地卡羅樹搜尋能給的答案只有一種——憑我試過幾次,而且每一次的結果都記在同一本帳上。這張圖畫得出哪一枝被試過幾次、平均分多少,畫不出那杯酒端上桌的時候,客人願不願意為它多留半小時。次數與分數量的是你自己的實驗紀錄;客人痛不痛,這棵樹量不到。今晚可以做的一件事:把手上那份「還沒決定」的選項清單打開,在每一個後面補一個數字——過去半年,你實際試過它幾次。

常見問題

蒙地卡羅模擬也在跑隨機,兩者差在哪?

差在有沒有那棵樹。蒙地卡羅模擬是把一個既定方案跑幾千次隨機,看結果攤開來長什麼樣,它回答的是「這個方案的結果會散在多寬的範圍」。樹搜尋多了一層決策結構:每一輪要先決定「這次去試哪一個方案」,跑完還得把結果加回這條路徑上的每一層,下一輪的選擇因此會被改變。前者在量一個東西,後者在很多東西之間分配下一次嘗試。你要是只有一個方案想看風險,用前者就夠;手上攤著一排選項而預算只夠試幾次,才輪得到後者。

UCT 那個加分項,到底在加什麼?

加的是「這個選項的分數還有多不可信」。公式寫成 √(ln 總次數 ÷ 這一枝的次數):一枝被試得愈少,分母愈小,加分愈大。它的作用是替沒被試夠的選項爭取上場機會——一個只試過 30 次的 0.48,跟一個試過 120 次的 0.62,可信度差得很遠,直接比大小並不公平。實務上這一項還會乘一個係數,係數調大就多探索、調小就多守成。看不懂公式沒關係,記住那句白話就夠用:平均分,加上一個沒試幾次就給的加分。

沒有電腦,人手可以跑這套方法嗎?

可以,但要把野心調小。人跑不了一千輪,所以別指望它算出最佳解。真正搬得動的是三個動作:一,強迫每一輪只動一條路徑,別同時試五件事,那樣哪一件有效都分不出來;二,每一輪結束一定回填——結果要寫回那條路徑上的每一層,寫進共用的那份紀錄,別留在某個人的腦袋裡;三,替沒試過的選項留固定名額,例如三輪裡至少一輪給生面孔。這三件事都不需要公式,需要的是有人真的去改那本帳。

四個步驟一定要照順序跑嗎?

順序不能亂:選擇要先跑完才知道該在哪裡擴展,模擬要有新節點才有起點,回傳要等模擬吐出結果。真正常被偷懶的是最後一步——試完了,結果進了某個人的信箱,沒有回到那張大家都看得到的表上。少了回傳,這套方法會退化成隨機亂試:下一輪的選擇跟這一輪長得一模一樣,因為帳根本沒有變過。順帶一提,中途停是允許的,跑三輪就收手照樣算完整,只要那三輪都有回填。

挑一個下週要做的決定,先只給它三次便宜的嘗試,再回頭決定要深挖哪一條路。想看同一套「該再試誰一次」的算法在沒有樹、只有一排並列選項時長什麼樣,可以讀信賴上界的拉桿分配;想看很多次隨機模擬攤開之後的形狀,可以讀蒙地卡羅扇形圖。

發現引用或事實有誤?請寫信回報,我會依更正政策修正。

喜歡這篇文章嗎?

每週幫你拆二本好書,把判斷力、好書金句、好問題,直送你的信箱。

不適合你可隨時退訂 · 每週兩封,陪你把書讀進生活。

送出即表示同意我們依隱私權政策使用你的 email。