Greedy Approach 能拿來過人生嗎?
Published:
最近有幸換了工作,並且順利拿到了 Senior Title。以目前僅工作兩年的人生來說,算是可以接受的成績。
但在拿到 Offer 後,我開始反思——是什麼促使我做出了這一切?即使有了 Senior Title,對我的人生真的有幫助嗎?這是我真正想要的嗎?
回顧過去一年
這個結果背後,是過去一年各種準備的累積:
- 每天下班回家刷題、Mock Interview
- 踴躍參加各種活動——黑客松、iThome 鐵人 30、讀書會
可以理解這些行為背後的目的就是要提升自己的能力,讓自己在面試時有好的表現。但仔細想想,這些選擇是怎麼做出來的?
其實我只是在做 Greedy
如果用演算法的角度來看,我只是一直在做 Greedy Approach 的 Selection 而已。
什麼意思?就是在目前的 Observation 底下,我選擇了對自己最有利的行為。
假設下班後只有三個選擇:
- 去健身房 → 讓自己更健康
- 回家刷題 → 能找到更好的工作
- 回家玩遊戲 → 獲得快感與一時的快樂
對去年的我來說,我選了 2,因為這是當時對自己最有利的行為。
「最有利」的定義因人而異,會隨著價值觀而變動,這點之後再聊。
但 Greedy 不保證最佳解
學過演算法的人都知道,Greedy Approach 並不永遠都是最佳解。Greedy 是當下的最優,但可能不是全局的最優。
就像那個經典的胡蘿蔔梗圖——以 Greedy 來說,當然選葉子最茂密的拔,但我們無法保證底下對應的胡蘿蔔就是最大的。
問題的根源在於:我們無法看到完整的 Observation,所以無從得知做哪件事情才是最好的。
Observation 的兩個維度
這裡的 Observation 可以拆成兩個維度:
1. 時間維度——事件的全貌
我們無法得知做了這件事情會如何影響未來。去年每天刷題,讓我拿到了 Senior Offer,但如果那段時間拿去學英文、經營 Side Project、或深耕某個開源社群,三年後的我會不會站在更好的位置?不知道。
2. 視野維度——所有可能的選擇
我們無法得知還有什麼選擇對自己更好。下班後的選項真的只有那三個嗎?也許該去社交、該去學設計、該開始寫作——但這些選項在當時根本不在我的視野裡,自然也不會被選上。
那怎麼辦?放棄嗎?
畢竟我們只是凡人,完整的 Observation 在現實中就是不可能取得的。
但注意一件事:如果我們真的擁有完整的 Observation,那根本不需要 Greedy——直接就能看到最佳解,選就對了。Greedy 之所以存在,正是因為資訊不完整時,我們只能退而求其次,挑當下看起來最好的。
所以真正的問題不是「該不該用 Greedy」,而是:我們能不能讓自己的 Observation 更接近完整?
越接近完整,我們的選擇就越不需要依賴 Greedy 的賭注,越能直接逼近真正的最佳解。
Approximation:逼近我們看不到的東西
在 Computer Science 中有個概念叫 Approximation——找到近似值。
這個概念的應用無處不在。下圍棋時,沒有人能得知盤面的真實勝率,但可以透過訓練或統計的方式取得勝率的近似值,用它來做決策,效果依然很好。無窮小數 1/3 ≈ 0.3333…,近似值可以是 0.34,也可以是 0.33334——後者在實際運算時準確度就高出許多。
重點是:我們不需要完美的答案,只要能逼近,就已經比盲目的 Greedy 好得多。
回到 Observation 的兩個維度,我們能怎麼逼近?
逼近時間維度:看不到未來,但可以模擬
- Simulate in Your Mind:在腦中推演。如果我選了 A,半年後大概會怎樣?一年後呢?不需要精準預測,只需要建立一個粗略但合理的模型。這個模型越精細,你的近似值就越好。
- Learn from History:你看不到自己的未來,但可以看到別人的過去。那些比你早五年、十年走過類似路徑的人,他們的結果就是你最好的參考資料。
逼近視野維度:看不到所有選項,但可以擴展
- Do Exploration:主動去接觸你原本不會接觸的東西。讀不同領域的書、跟不同背景的人聊天、參加你覺得「跟自己無關」的活動。
- Survey:系統性地掃描可能的選項。不是漫無目的地探索,而是帶著問題意識去搜集:「在我這個階段,別人都在做什麼?有哪些路徑是我沒考慮過的?」
- Trial & Error:有些選項的好壞,想再多也不如直接試。試錯的成本往往比你以為的低,而收集到的 Observation 卻是真實的。
回到我自己
重新看去年的自己,我確實是在做 Greedy——在有限的視野裡,挑了看起來回報最高的選項。結果不差,但我沒辦法說這就是最好的。
而現在,寫下這篇文章本身,其實就是一種 Approximation 的嘗試。把腦中模糊的反思具體化,逼自己去建立一個更完整的模型,讓下一次做選擇時,Observation 能比上一次更完整一點。
不需要一步到位,近似值的精度是可以慢慢提高的。
0.34 比亂猜好,0.33334 又比 0.34 好。
重要的是持續逼近。
