The Gauntlet | Think Like A Coder, Ep 8

402,419 views ・ 2020-04-16

TED-Ed


下の英語字幕をダブルクリックすると動画を再生できます。

翻訳: Moe Shoji 校正: Yasushi Aoki
00:21
Their fall from the tower sends Ethic and Hedge
0
21734
3050
塔から落下したエシックとヘッジは
00:24
spinning into the rapids of a river of pure energy.
1
24784
4240
エネルギーの急流に 飲み込まれてしまいます
00:30
This torrent flows from the Bradbarrier all the way to Huxenborg.
2
30944
5937
この急流はブラッドバリアから ハクセンボーグまで延々と続いています
00:36
There an entire city’s worth of factories
3
36881
3100
ハクセンボーグでは 街中にあふれる工場で
00:39
build the robots and house the Node of Memory,
4
39981
3080
ロボットが生産されているほか
エシックが探し求める3つ目のアイテム 記憶の石も隠されています
00:43
the last of the three powerful artifacts Ethic needs to collect.
5
43061
4372
00:47
After a long day and a longer night
6
47433
2510
一日中 そして一晩中流されるうちに
00:49
they find themselves in a canyon of brick and steel.
7
49943
3720
2人はブロックと鋼鉄でできた 渓谷にたどり着きました
00:58
Just when they’re about to reach the end of the line,
8
58918
2655
ついに谷底へ真っ逆さまかと 思った その時
01:01
a rope catches them.
9
61573
1750
ロープに助けられました
01:07
Their savior, Lemma, has been waiting for them.
10
67023
4114
2人を助けてくれたのは そこで待ち受けていたレマでした
01:11
When Ethic claimed the Node of Creation from the forest tower,
11
71137
3952
森林の塔でエシックが 創造の石を手に入れた時
01:15
radios all across the land came back to life.
12
75089
3900
国じゅうの通信が 回復したため
01:18
Adila, the resistance leader, immediately started contacting her allies,
13
78989
4776
抵抗運動のリーダーのアディーラは すぐに仲間に呼びかけ始め
01:23
none more important than Lemma,
14
83765
2610
中でも重要だったのがレマでした
01:26
a brilliant scientist working from within Huxenborg to bring down the machines.
15
86375
5893
ハクセンボーグの街で機械を止めようと 取り組んでいる有能な科学者です
01:32
Unfortunately, the radios also tipped off the robots.
16
92268
4000
あいにく無線通信は ロボットにも知られてしまい
01:36
So they’ve taken defensive measures
17
96268
2260
ロボットたちは街の中心にある 最後のアイテムを守るべく
01:38
to protect the final artifact in its home in the very heart of the city.
18
98528
4828
防御態勢に入りました
01:43
There’s only one way to get there: the gauntlet of forking paths.
19
103356
5155
アイテムに到達する道はただひとつ 「分かれ道の難所」を抜ける必要があります
01:48
It’s a deadly series of luminous conveyors that wind underneath Huxenborg.
20
108511
6386
ハクセンボーグの地下の暗闇に広がる 光るコンベヤーの迷路です
01:54
Starting from the current position,
21
114897
1820
現在地点からスタートして
01:56
each section runs for a distance, then splits in two.
22
116717
4395
一定距離を進むと 道が二手に分かれます
02:01
Every branch does the same thing, again and again.
23
121112
3430
どの道も同じように 繰り返し枝分かれしていきます
02:04
There are thousands of branches.
24
124542
2400
道は何千もあります
02:06
Only one path leads to the artifact; all the others to destruction.
25
126942
5942
アイテムへと至るのはたったひとつ それ以外の道の先にあるのは破滅です
02:12
Fortunately, the Node of Creation has granted Hedge a strange power:
26
132884
4619
幸い 創造の石のおかげで ヘッジには不思議な力が備わりました
02:17
he can produce slightly smaller versions of himself.
27
137503
3720
自分の小さなコピーを 生み出せるのです
02:21
Each version can do only two things: radio information back to its parent,
28
141223
5210
コピーにできることは2つ 親に情報を送ることと
02:26
and produce slightly smaller versions of itself…
29
146433
3740
自分の小さなコピーを 生み出すことです
02:30
which can do the same two things, as can their children,
30
150173
3690
生み出された子や さらにその子にも 同じことができ
02:33
for as many generations as needed.
31
153863
2940
何世代でも作ることができます
02:36
A patrol is closing in on their position, so Ethic’s time is limited.
32
156803
5051
警備の手が迫っており エシックには限られた時間しかありません
02:41
What instructions should she give Hedge to find the one safe path?
33
161854
5203
安全な道を見つけるには ヘッジをどうプログラムしたらよいでしょう?
02:47
Pause the video to figure it out yourself.
34
167057
6778
ビデオをいったん止めて 自分で考えてみましょう
02:53
Hint in 3
35
173835
990
ヒントまで 3秒
02:54
Hint in 2
36
174825
1200
ヒントまで 2秒
02:56
Hint in 1
37
176025
960
ヒントまで 1秒
02:57
Programmers have an elegant tool in their arsenal called recursion.
38
177825
5162
プログラマーには「再帰」という とっておきの道具があります
03:02
Recursion is when you have a set of instructions that refers back to itself.
39
182987
5341
再帰というのは一連の指示が 自らの呼び出しを含んでいることを言います
03:08
It’s like using a word in its own definition,
40
188328
2960
言葉を定義するのに その言葉自体を使うようなものです
03:11
except where that’s frowned upon, this is incredibly effective.
41
191288
4560
言葉の定義には良くなくとも プログラミングではとても役立ちます
03:15
Recursion involves repetition, but in a different way than loops.
42
195848
4512
再帰では反復が行われますが ループとは違います
03:20
Where a loop takes one action and repeats it again and again,
43
200360
4000
ループでは ある指示を 何度も繰り返し実行しますが
03:24
recursion will start an action, and before it’s finished, use it again,
44
204360
4302
再帰では ある指示を実行し始めて 完了する前にその指示をまた実行し始め
03:28
and before that’s finished, use it again, and so on.
45
208662
4000
それが完了する前にまた実行し始める という具合に繰り返されます
03:32
It keeps doing this until some end state is reached.
46
212662
4000
何らかの最終状態に到達するまで これが繰り返されます
03:36
It then passes the information back up, layer after layer,
47
216662
4162
それから一層一層 内から外へ 情報が受け渡されていき
03:40
until it reaches the top and ends the cycle.
48
220824
3620
一番外まで来たら終了します
03:44
Recursion is ideal for problems that involve self-similarity,
49
224444
4662
再帰は 問題がそれ自身と 似た部分から構成されている
自己相似的構造を 持つ場合に有用です
03:49
where each part resembles the larger whole.
50
229106
2860
03:51
Like, for example, a deadly defense system designed to end any person or thing
51
231966
6004
例えば 足を踏み入れる者を 抹殺するように設計された
どこかの防御システムがそうです
03:57
who dares tread upon it.
52
237970
1890
03:59
Pause the video to figure it out yourself.
53
239860
2060
ビデオをいったん止めて 自分で考えてみましょう
04:01
Solution in 3
54
241920
793
ヒントまで 3秒
04:02
Solution in 2
55
242713
920
ヒントまで 2秒
04:03
Solution in 1
56
243633
1080
ヒントまで 1秒
04:04
Ethic’s conundrum seems sprawling on the surface,
57
244993
3041
エシックに与えられた難題は 表面的には不規則に見えますが
04:08
but there’s a remarkably simple solution to it using recursion.
58
248034
4366
実は再帰を使った 非常に簡単な解決法があります
04:12
In order to find it, let’s first look at the simplest version of this puzzle:
59
252400
4750
その方法を見つけるために まず一番簡単な形を考えてみましょう
04:17
what if the entire maze were just two paths?
60
257150
3270
迷路に2つしか 道がなかったらどうでしょう?
04:20
If Hedge copies himself, the copy that goes the wrong way will be destroyed.
61
260420
4618
ヘッジがコピーを送り出せば 間違った方へ行ったものは破壊されます
04:25
So the other one, which will reach the artifact,
62
265038
2719
アイテムにたどり着いた もうひとつのコピーは
04:27
can radio back the path it took, and then no matter which way is correct,
63
267757
4700
たどった道を報告できるので どちらが正しい道であろうと
04:32
that’s the answer Hedge will receive.
64
272457
2401
ヘッジは正しい答えを 受け取れます
04:34
This is called the "base case" of the recursion.
65
274858
3580
これを再帰の「基本ケース」と言います
04:38
Now, suppose the maze branches twice from the starting point,
66
278438
3340
今度は迷路が出発点から2回 枝分かれするとしましょう
04:41
and at every intersection, Hedge’s copies—
67
281778
2982
それぞれの分かれ道で ヘッジのコピー
04:44
let’s call them Twig 1 and Twig 2—
68
284760
2860
これを 枝 T1、T2 としておきますが
04:47
make more copies— let’s call them Leaves 1 through 4.
69
287620
5007
それが さらにコピーを作り 葉 L1~L4 ができます
04:52
Three Leaves will be destroyed.
70
292627
3120
葉のうち3つは破壊されます
04:55
The one that reaches the artifact will radio back the right answer,
71
295747
4116
アイテムに到達したものが 正しい答えを送り返しますが
04:59
but only to its parent.
72
299863
1980
受け取るのはその親だけです
05:01
So if Twig 1 or 2 is waiting at an intersection
73
301843
3880
分かれ道で待っている 枝 T1、T2 のどちらかが
05:05
and hears something over the radio,
74
305723
1990
無線で報告を受けたなら
05:07
that’s the right way to go to the artifact from where it is.
75
307713
3560
そちらがアイテムへと続く 道だということです
05:11
To tell Hedge the right answer from his perspective,
76
311273
3290
ヘッジの視点から 正しい答えを伝えるには
05:14
the Twig should say which way it went,
77
314563
2440
枝は自分がどちらへ向かったかと
05:17
and then the route it just heard over the radio.
78
317003
3600
無線で報告された道筋を 教えればいいのです
05:20
This same process will work no matter how many times the maze branches.
79
320603
4790
分かれ道がいくつあろうと 同じやり方でいけます
05:25
Any answer a copy hears on the radio
80
325393
2960
無線で聞いた答えが
05:28
must be the way to the control room from its location,
81
328353
3300
その地点からアイテムへと 向かう道筋であり
05:31
and if it then adds the branch it took,
82
331653
2350
自分がどの道筋をたどったか 付け加えれば
05:34
it can tell its parent how to get there as well.
83
334003
3220
どうやってそこに行けるかを 親に伝えられます
05:37
We can sum up the instructions in an action called Pathfinder
84
337223
4000
ヘッジのコピーたちが従うべきこの手順を 「パスファインダー」と名付けましょう
05:41
that every version of Hedge will follow:
85
341223
3130
05:44
1. If you’ve reached the artifact,
86
344353
2290
① アイテムに到達したら
05:46
radio to your parent whether you got there by going left or right.
87
346643
4094
左右のどちらの道を通ったかを 親に伝えること
05:50
2. When you reach an intersection, move off the conveyor
88
350737
3830
② 分かれ道に来たら コンベヤーから降りて
05:54
and send new copies down the left and right paths.
89
354567
3980
新しいコピーを左右の道に送り出し
05:58
Have them each run Pathfinder.
90
358547
2280
どちらにもパスファインダーを 実行させること―
06:00
This is where recursion comes in,
91
360827
2040
ここで再帰を使っているわけです
06:02
and this may happen many times before the last instruction triggers, which is:
92
362867
5094
最後の指示が行われるまで それが何度も繰り返されます
06:07
3. If you hear anything over the radio, you should radio to your parent
93
367961
4987
③ 最後に なにか情報が報告されたら 親に報告し
06:12
whether you got to your spot by going left or right,
94
372948
3629
このとき 左右どちらの道を たどったかと
06:16
then repeat everything you just heard.
95
376577
2850
聞いた情報をすべて繰り返すこと
06:19
Pathfinder is an example of what programmers call functions,
96
379427
3996
パスファインダーは プログラマーが
関数とか サブルーチンとか 手続きと 呼んでいるものの例です
06:23
subroutines, or procedures.
97
383423
2690
06:26
No matter the terminology, the idea is the same—
98
386113
3390
どの名前で呼ぶにせよ 考え方は同じです
06:29
it’s a set of instructions given a label so that it can be easily reused—
99
389503
4794
簡単に再利用できるよう 名前を付けられた一連の指示ということで
06:34
perhaps even by itself.
100
394297
2310
自分で自分を使うこともできます
06:36
And in our case that’ll work perfectly—
101
396607
2976
この場面では ぴったりの方法です
06:39
an entire network of paths mapped using just three instructions.
102
399583
5230
たった3つの指示で すべての道筋を網羅できるのです
06:46
So here's what happens.
103
406257
1630
さて どうなるでしょう
07:09
By the time the patrol rounds the corner, Ethic and Lemma have improvised disguises.
104
429760
5777
警備の手がすぐそこに迫った時 エシックとレマは変装します
07:15
They try to confuse the bots long enough to buy Hedge time.
105
435537
4120
ロボットたちを混乱させて ヘッジのために時間稼ぎをするのです
07:31
Finally, Hedge’s radio crackles to life with a series of directions.
106
451473
4778
ついに 無線でヘッジに 道順が送られてきました
07:36
The three dive onto the conveyor and flee for their lives,
107
456251
3850
コンベヤーに飛び乗って 命からがら逃げ出す3人を
07:40
with a squadron of enforcer bots in hot pursuit.
108
460101
3720
監視ロボットたちが 全速力で追って行きます
このウェブサイトについて

このサイトでは英語学習に役立つYouTube動画を紹介します。世界中の一流講師による英語レッスンを見ることができます。各ビデオのページに表示される英語字幕をダブルクリックすると、そこからビデオを再生することができます。字幕はビデオの再生と同期してスクロールします。ご意見・ご要望がございましたら、こちらのお問い合わせフォームよりご連絡ください。

https://forms.gle/WvT1wiN1qDtmnspy7