［TED-Ed 原創系列］
《像程式員思考噉》
［上回地點：198 樹林］
［今回地點：Huxenborg］
［第八集：挑戰］
Ethic、Hedge 從高塔墮下
陷入咗湍急嘅純能量河流
呢股洪流從 Bradbarrier 
一路流向 Huxenborg
呢度整個城市嘅工廠
制造機械人
同時存放咗「記憶節點」：
係 Ethic 要收集
三大神器最後一件
佢哋渡過咗漫長嘅日
同夜
然後發現置身喺磚塊同鋼鐵嘅峽谷度
正喺急流盡頭
快要滑落峽谷
一根從天而降嘅繩
抓住咗佢哋
Lemma 呢個救星
一直等緊佢哋
當 Ethic 從森林嘅塔度
奪取咗「創造節點」
通訊電波喺所有地方都恢復咗
反抗組織領袖 Adila
立即聯絡佢嘅盟友
至醒天才 Lemma ：
喺 Huxenborg 內部
做摧毀機械人嘅科學家
好不幸，無線電同樣驚動咗機械人
所以機械人已採取咗防禦措施
保護喺城市中心基地
僅存嘅最後神器
其實只有一個方法嚟到呢度
係挑戰分叉路
喺 Luxembourg 下底
有一系列致命發光傳送帶
從而家呢個位置開始
每段路前進一段距離
會分叉成兩條路
每條分叉路，都不斷重覆之前嘅情況
分叉口會有成幾千個
只係進入咗正確嘅路徑
先搵到神器，否則都會被消滅
好彩「創造節點」
畀咗 Hedge 一種神奇力量：
佢可以自我複製，不過細少少
複製品只可做兩件事：
將無線電信號傳回父級複製品
同時複製較少嘅自己……
全部複製品都可以做呢兩件事
按佢哋嘅需要製造複製品
一支巡邏隊正行近
Ethic 嘅時間有限
佢應該畀啲乜嘢嘅指示 Hedge
嚟搵到條安全嘅路徑呢？
按停 video 等自己搞清楚
[ 答案揭曉：3 ]
[ 答案揭曉：2 ]
[ 答案揭曉：1 ]
喺程式員武器庫度
有個優雅嘅工具叫做遞歸
遞歸係一組會自我呼叫嘅程式
呢嗰就似係自己定義一個詞
除非遞歸遇到設定嘅離開條件
其實係勁有效率嘅
遞歸涉及重複，但同迴圈唔同
迴圈係就住一個動作，重複又重複
遞歸將開始一個動作
直至完成前
一再使用佢
佢一直噉做，直到遇見最後狀況
之後就一層層噉將資訊回報返父級
直到佢達到頂層同結束循環為止
遞歸係理想嘅
處理涉及相似性循環嘅問題
每部分都與更大整體邏輯相似
例如一個防禦系統嘅目的
係消滅任何膽敢闖進去嘅人
按停 video 搞清楚
[ 答案揭曉：3 ]
[ 答案揭曉：2 ]
[ 答案揭曉：1 ]
Ethic 似乎撞到個辣手問題
但係使用遞歸係勁簡單嘅解決方法
為咗搵到神器
先睇下最簡單謎題嘅版本：
整個迷宮如果只係有兩條路？
如果 Hedge 嘅複製品走錯路
將會被消滅
而另一個就會搵到神器
而且仲傳回佢行嘅正確路徑
Hedge 會得到呢個答案
呢種稱為遞歸嘅「基本情況」
依家，假設迷宮從起點分叉兩次
Hedge 嘅複製品喺每個路口
姑且叫做 1 號、2 號——
製作更多複製品——
佢哋為葉子 1 到 4
三個葉子會被消滅咗
當一個搵到神器
會傳回正確嘅答案
但僅限對上嘅一層
若果 1 同 2 號分枝喺分叉路口等候
其中一個收到回音
係從佢嘅位置
到搵到神器嘅正確方向
傳回畀 Hedge 嘅正確答案
分枝會報告佢先前嘅路徑
然後係佢啱啱通過無線電接收嘅路線
無論迷宮分支多少次
方法仍然有效
Hedge 會收到複製品嘅回音
必須係從佢嘅位置到控制室嘅路徑
再添加佢所採用嘅分支路徑
佢告訴上一層點樣到達嗰度
我哋喺名為 Pathfinder 度總結指令
Hedge 嘅每個複製品都將依照：
1. 如果搵到神器嘅話
無論你係向左定向右
都可以通過無線電告訴上一層
2. 當佢到達十字路口時
要離開傳送帶
並沿左右路徑發送新副本
等佢哋各自運行 Pathfinder
呢個就係遞歸嘅用處
喺觸發最後指令之前會發生好多次
3. 當複製品收到傳回嘅無線電
就會報告上一層
無論你係向左定向右走
嚟到你現時位置
仲複述你啱啱聽到嘅一切
Pathfinder 係程式員
呼叫函數、子程序
或者過程嘅一個例子
唔理用乜嘢術語
諗法都係一樣——
佢係一組帶有說明嘅標籤
方便輕鬆噉重複使用——
甚至可能係佢自己噉簡單
喺我哋嘅例子度完美噉工作——
僅係使用三個指令
就能夠探測到整個路徑嘅網絡
呢個就係會發生嘅嘢
當巡邏隊拐到拐角處時
Ethic 和 Lemma 已經即興偽裝
試圖蒙騙機械人
等 Hedge 有足夠時間
最後，Hedge 收到無線電
一系列嘅指示
三人跳上傳送帶逃命
一群執法嘅機器人跟得好貼