《艰难历程 | 像程序员一样思考》 第八集
-
0:22 - 0:25Ethic 和 Hedge 从高塔坠落,
-
0:25 - 0:29翻滚着掉进了纯能量激流中,
-
0:31 - 0:37这条来自 Bradbarrier 的激流
通向 Huxenborg。 -
0:37 - 0:40那里整个城市的工厂
都在制造机器人, -
0:40 - 0:43也是记忆节点的存放地点。
-
0:43 - 0:47三件强力神器中,记忆节点
是 Ethic 需要收集的最后一件。 -
0:47 - 0:50度过了漫长的一天
和更漫长的夜晚后, -
0:50 - 0:54他们发现自己正身处
由砖块和钢铁构成的峡谷中。 -
0:59 - 1:02正当他们快到达激流的尽头时,
-
1:02 - 1:03一条绳索套住了他们,
-
1:07 - 1:10他们的救世主 Lemma 已等候多时。
-
1:11 - 1:15当 Ethic 从森林高塔取得创造节点后,
-
1:15 - 1:19陆地上所有的无线装置
都恢复了正常运作。 -
1:19 - 1:24反抗军领袖 Adila
立即开始联系盟友, -
1:24 - 1:26首推在 Huxenborg 工作的
杰出科学家 Lemma, -
1:26 - 1:32由她从内部协助打败机器人。
-
1:32 - 1:36不料,无线电波也惊动了守卫。
-
1:36 - 1:39守卫因此采取了防御措施,
-
1:39 - 1:43来保护位于城市中心
关键区域的最后神器。 -
1:43 - 1:49要到达那里,只有一种办法:
战胜分叉路径的严酷挑战。 -
1:49 - 1:55这是一系列致命的发光传送带,
在 Huxenborg 地下蜿蜒而行。 -
1:55 - 1:57从当前位置开始,
-
1:57 - 2:01每条路延伸一段后就分为两条;
-
2:01 - 2:05每个分支不断重复此过程,
-
2:05 - 2:07从而产生了成千上万的分支。
-
2:07 - 2:13通往神器的路只有一条;
其他的路径只会通向毁灭。 -
2:13 - 2:18幸运的是,创造节点
赋予了 Hedge 一种神秘力量: -
2:18 - 2:21能生成比自身略小的两个复制体。
-
2:21 - 2:26每个复制体只能做两件事:
-
2:26 - 2:30通过无线电向父级传回信息,
并复制两个更小的自己 ... ... -
2:30 - 2:34这些复制体与其子级复制体
也会做同样的这两件事, -
2:34 - 2:37不断复制直至满足数量。
-
2:37 - 2:42一支巡逻队正在接近他们,
Ethic 的时间很有限。 -
2:42 - 2:47为了找到安全路径,
她该给 Hedge 下达什么指令? -
2:47 - 2:54[ 可暂停视频,自行解题 ]
-
2:54 - 2:55[ 答案揭晓:3 ]
-
2:55 - 2:56[ 答案揭晓:2 ]
-
2:56 - 2:57[ 答案揭晓:1 ]
-
2:58 - 3:03程序员的装备库中
有一件强大的工具叫递归, -
3:03 - 3:08它是一组不断进行自引用的指令,
-
3:08 - 3:11就像用一个词本身来定义这个词,
-
3:11 - 3:16除了让人觉得怪异之外,
这种方式本身非常有效。 -
3:16 - 3:20递归涉及重复,但与循环不同。
-
3:20 - 3:24循环在执行一次操作后,
会重复执行这个过程, -
3:24 - 3:29而递归在开始执行一次操作后 ,
会在完成之前再次执行操作, -
3:29 - 3:33完成前再次执行同样动作,
以此类推下去 ... ... -
3:33 - 3:37一直重复此操作,
直到满足某种条件, -
3:37 - 3:41然后将信息一层层传递回去,
-
3:41 - 3:44直到传回起点,最后结束循环。
-
3:44 - 3:49递归非常适合解决
涉及自相似性的问题, -
3:49 - 3:52其中每个部分都与整体高度相似。
-
3:52 - 3:58例如,一个致命的防御系统,
-
3:58 - 4:00设计用来终结任何大胆的闯入者。
-
4:00 - 4:02[ 可暂停视频,自行解题 ]
-
4:02 - 4:03[ 答案揭晓:3 ]
-
4:03 - 4:04[ 答案揭晓:2 ]
-
4:04 - 4:05[ 答案揭晓:1 ]
-
4:05 - 4:08Ethic 的难题表面看起来很难,
-
4:08 - 4:12但使用递归就特别简单了。
-
4:12 - 4:17为了找到这个方法,
先来看看谜题的最简版本: -
4:17 - 4:20如果整个迷宫只有两条路呢?
-
4:20 - 4:25如果 Hedge 复制两个自己,
走入错路的复制体将被毁灭。 -
4:25 - 4:28另一个复制体会抵达神器,
-
4:28 - 4:32并用无线电发回其路径信息,
不需要考虑其他路径, -
4:32 - 4:35那就是 Hedge 接收到的答案。
-
4:35 - 4:38这就是 “递归的基本情况”。
-
4:38 - 4:42现在,假设迷宫由起点分为两支,
-
4:42 - 4:45在每个分支的节点
Hedge 进行自我复制 —— -
4:45 - 4:48我们称为 分支 1 和 分支 2——
-
4:48 - 4:53它们继续进行复制,
得到 叶片 1 至叶片 4, -
4:53 - 4:55三条分支会被摧毁。
-
4:56 - 5:00到达神器的那条路径
将传回正确答案, -
5:00 - 5:02但只回传给父级。
-
5:02 - 5:06如果分支 1 或 2 在节点等待
-
5:06 - 5:08并从无线电收到回传信息,
-
5:08 - 5:11即从其所在位置
通往神器的正确道路。 -
5:11 - 5:15要从分支的角度
告诉 Hedge 正确答案, -
5:15 - 5:17分支会报告自己走过的路径,
-
5:17 - 5:21以及刚从无线电收到的路径信息。
-
5:21 - 5:25不管迷宫分支多少次,
同样的过程都会奏效, -
5:25 - 5:28复制体在无线电上接收到的答案
-
5:28 - 5:32必然是从它的位置到控制室的路径,
-
5:32 - 5:34然后,如果加上它走的分支,
-
5:34 - 5:37也就能告诉父级
如何从它的位置到控制室。 -
5:37 - 5:39在这次名为“探路者”的行动中,
-
5:39 - 5:44我们总结出 Hedge 的每个复制体
需要遵循的指令如下: -
5:44 - 5:471. 如果到达神器地点,
-
5:47 - 5:51通过无线电告知父级
选左边或右边的路径。 -
5:51 - 5:552. 到达节点后,离开传送带,
-
5:55 - 5:59并向左右两条路发送复制体。
-
5:59 - 6:01让它们各自运行“探路者”,
-
6:01 - 6:03这就是递归的过程,
-
6:03 - 6:08在最终指令触发前,这个过程
可能会发生很多次。最终指令是: -
6:08 - 6:133. 如果无线接收到任何信息,
都应当传递回父级—— -
6:13 - 6:17不管你走左边还是右边的路
到达你所在位置, -
6:17 - 6:19然后重复刚接收到的一切信息。
-
6:19 - 6:23”探路者“是程序员调用函数、
-
6:23 - 6:26子程序或过程的一个例子。
-
6:26 - 6:30不管用什么术语来形容,
其本质都是一样的—— -
6:30 - 6:34这只是一组带有标签的指令,
可以方便地重复使用—— -
6:34 - 6:37甚至可以被其自身调用。
-
6:37 - 6:40在我们的案例中,
这一方法将非常有效—— -
6:40 - 6:45仅仅使用三条指令
就能映射出整个路径网络。 -
6:46 - 6:48这就是接下来所发生的事情:
-
7:10 - 7:16在巡逻队正要经过拐角时,
Ethic 和 Lemma 及时伪装了自己。 -
7:16 - 7:20她们试图迷惑机器人,
以便为 Hedge 争取时间, -
7:31 - 7:36终于,Hedge 的无线电响起,
收到了正确路径信息。 -
7:36 - 7:40他们三个跳上了传送带,
-
7:40 - 7:44逃离了紧追不舍的一队机械守卫。
- Title:
- 《艰难历程 | 像程序员一样思考》 第八集
- Speaker:
- 艾利克斯·罗森塔尔
- Description:
-
观看完整课程:https://ed.ted.com/lessons/the-gauntlet-think-like-a-coder-ep-8
这是我们的动画系列 《像程序员一样思考》的第八集。该故事共十集,讲述了女孩Ethic 和她的机器人伙伴 Hedge 努力拯救世界的故事。 两人从收集三件神器开始,必须通过解决一系列编程谜题来完成这一使命。
课程讲解:艾历克斯·罗森塔尔(Alex Rosenthal)
动画制作:Kozmonot 动画工作室 - Video Language:
- English
- Team:
- closed TED
- Project:
- TED-Ed
- Duration:
- 08:01
Yolanda Zhang approved Chinese, Simplified subtitles for The Gauntlet | Think Like A Coder, Ep 8 | ||
Yolanda Zhang edited Chinese, Simplified subtitles for The Gauntlet | Think Like A Coder, Ep 8 | ||
Carol Wang accepted Chinese, Simplified subtitles for The Gauntlet | Think Like A Coder, Ep 8 | ||
Carol Wang edited Chinese, Simplified subtitles for The Gauntlet | Think Like A Coder, Ep 8 | ||
Carol Wang edited Chinese, Simplified subtitles for The Gauntlet | Think Like A Coder, Ep 8 | ||
Carol Wang edited Chinese, Simplified subtitles for The Gauntlet | Think Like A Coder, Ep 8 | ||
Yolanda Zhang edited Chinese, Simplified subtitles for The Gauntlet | Think Like A Coder, Ep 8 | ||
Yolanda Zhang edited Chinese, Simplified subtitles for The Gauntlet | Think Like A Coder, Ep 8 |