The Furnace Bots | Think Like A Coder, Ep 3

593,092 views ・ 2019-11-18

TED-Ed


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

翻訳: Moe Shoji 校正: Yasushi Aoki
00:35
Ethic and her robot Hedge agree to help the resistance leader, Adila,
0
35753
5043
エシックとヘッジは抵抗運動のリーダーである アディーラを手助けして
00:40
sabotage the art-incinerating furnace-bots.
1
40796
3770
かまどロボットによる芸術作品焼却を 妨害することにしました
00:44
In exchange,
2
44566
996
その代わりに
00:45
Adila promises to lead them to the first object of Ethic’s quest,
3
45562
4784
アディーラはエシックが探している 1つ目のアイテム―
00:50
an artifact called the Node of Power.
4
50346
4331
「力の石」のありかに 案内すると約束しました
00:54
Years ago, there was just one furnace-bot.
5
54677
3051
何年も前は かまどロボットは 1つしかありませんでした
00:57
It had a 0 inside its furnace and an unknown,
6
57728
3489
かまどの内側には「0」
外側には無作為に選ばれた 未知のシリアルナンバーがついていました
01:01
randomly generated serial number.
7
61217
3000
01:04
Over time, the original self-replicated to produce more identical furnace-bots.
8
64217
6557
時が経つにつれて かまどロボットは 自分のコピーを作っていきました
01:10
Each child inherited the original’s unknown serial number within its furnace,
9
70774
5268
子ロボットのかまどの中には 親から受け継いだ 未知のシリアルナンバーがあり
01:16
and had a random, unique serial number of its own inscribed on its shell.
10
76042
5467
外側には無作為に選ばれた 固有のシリアルナンバーが刻まれました
01:21
The second generation of furnace- bots also self-replicated in the same way,
11
81509
4931
第2世代のかまどロボットも 同じように自分のコピーを作り
01:26
always passing their own serial numbers to their offspring’s furnaces.
12
86440
5003
そのシリアルナンバーが 子ロボットのかまどの中に受け継がれています
01:31
This continued on for many generations.
13
91443
3710
同じことが何世代も続きました
01:35
Today, each furnace-bot receives its orders from its parent.
14
95153
4479
今では かまどロボットは 自分の親から指令を受け取っています
01:39
So if Ethic can find the original 0 bot and somehow change its instructions,
15
99632
6115
大元の「0」ロボットを エシックが見つけて 指示を書き換えれば
01:45
she could take over the entire army, all at once.
16
105747
4429
かまどロボットの一群をまるごと 味方につけることができるのです
01:50
Adila has the perfect solution:
17
110176
2695
アディーラは うってつけの手段を持っていました
01:52
a data crystal that she’s been carrying for years,
18
112871
3554
彼女は何年も前から データ・クリスタルを隠し持っていて
01:56
waiting for the right moment to activate it.
19
116425
2941
起動させる時を待っていたのです
01:59
It contains a program designed to gain control of a bot
20
119366
4094
このクリスタルには 1台のロボットの制御を奪って
02:03
and give it new instructions.
21
123460
2355
新しい指示を与えるプログラムが 入っています
02:05
But if it’s uploaded to any furnace- bot other than the original,
22
125815
4056
でも「0」ロボット以外の かまどロボットに使うと
02:09
the 0 bot will override the instructions
23
129871
2870
「0」ロボットが指示を上書きして
02:12
and destroy the data crystal in the process.
24
132741
3624
データ・クリスタルは 破壊されてしまいます
02:16
The feeding is just a few minutes away,
25
136365
2395
配給はわずか数分後に迫っていて
02:18
and there’s only one chance to get this right.
26
138760
3559
うまくやってのけるチャンスは 一度しかありません
02:22
Fortunately, Hedge’s ability to store data can help.
27
142319
4249
幸運なことに ヘッジの データ保存能力が役に立ちます
02:26
In programming,
28
146568
1205
プログラミングでは
02:27
a piece of information gets stored in something called a variable.
29
147773
4344
「変数」と呼ばれるものに 情報が保存されます
02:32
Variables are basically containers that hold onto numbers, words, or other values.
30
152117
6490
変数とは 数字や言葉などの値を 格納する入れ物のようなものです
02:38
How does Ethic program Hedge to find the original 0 bot as quickly as possible?
31
158607
6695
できるだけ早く「0」ロボットを見つけるには ヘッジをどうプログラムしたらいいでしょう?
02:45
Pause now to figure it out for yourself.
32
165302
2790
ビデオをいったん止めて 自分で考えてみましょう
02:49
Here’s a hint.
33
169956
1353
ヒントをあげましょう
02:51
Programs can be written to have as many variables as you need,
34
171309
4220
プログラムには必要なだけ多くの 変数を持たせることができますが
02:55
but you can solve this problem with just one.
35
175529
3341
この問題は 1つの変数で 解くことができます
02:58
Hedge can use it to store a serial number
36
178870
2794
ヘッジはその変数に 1つのシリアルナンバーを入れておき
03:01
and replace it with a new one as often as he needs.
37
181664
3606
必要に応じて 値を入れ替えられます
03:05
Pause now to figure it out for yourself.
38
185270
2444
[ビデオをいったん止めて 自分で考えてみましょう]
03:10
A key insight here is that Hedge doesn’t need to map out the entire
39
190129
4439
ここで鍵になるのは 大元の「0」ロボットを見つけるために
03:14
set of relationships to find the original furnace-bot.
40
194568
3923
全ロボットの関係を知る必要はない ということです
03:18
If, for example, he gets lucky and picks the original one right away,
41
198491
4449
例えば 最初に選んだのがラッキーにも 「0」ロボットだったなら
03:22
he’ll be done.
42
202940
1080
そこで終了です
03:24
But if he starts with any other bot,
43
204020
2418
でも 他のロボットに行き当たっても
03:26
he can still find a path that leads straight back to the 0-bot
44
206438
4273
シンプルな手順に従って
「0」ロボットに行き着く 道筋を見つけられます
03:30
by following a simple set of instructions.
45
210711
3720
03:34
To help craft them, let’s first simplify the problem.
46
214431
3620
その手順を考えるために まず問題を簡単にしましょう
03:38
Let’s say there were only three furnace-bots;
47
218051
2772
かまどロボットが 3つしかないとします
03:40
a parent and two children, but you don’t know which is which.
48
220823
3809
1つが親で2つが子ですが どれが親か分かっていません
03:44
You could have Hedge pick one at random and look inside its furnace.
49
224632
4777
ヘッジに1つを適当に選ばせ かまどの中を調べさせます
03:49
Now, you know the family tree looks like this.
50
229409
3840
親子関係は このようになっています
03:53
If the number inside the furnace is a 0, you’ve found the parent.
51
233249
3954
かまどの中の数字が0なら それが親だと分かります
03:57
If not, then no matter which child you chose,
52
237203
3345
そうでなければ どちらの子を選んだとしても
04:00
it must have the parent’s serial number in its furnace.
53
240548
3810
かまどの中に親のシリアルナンバーが 書かれているはずです
04:04
So in this scenario, you’re guaranteed to find the parent in one or two moves.
54
244358
6315
ですから この場合 1回か2回の動きで 親を見つけることができるのです
04:10
In actuality, there are many furnace-bots,
55
250673
2890
実際には かまどロボットは たくさんいます
04:13
and you don’t know how many generations there are
56
253563
2683
何世代いるのかも分からないし
04:16
nor what the family tree looks like.
57
256246
2605
家系図がどんな形かも 分かっていません
04:18
But you don’t need to,
58
258851
1589
でも 知る必要はありません
04:20
because Hedge can just keep repeating the same sequence of actions
59
260440
3921
ヘッジは「0」ロボットに たどり着くまで
同じ動きを繰り返す だけでいいのです
04:24
until he gets to the original.
60
264361
2242
04:26
How? With a loop.
61
266603
2409
どうしたらいいかって? ループを使うんです
04:29
Hedge can pick any bot at random, look inside its furnace,
62
269012
3880
ヘッジは任意のロボットを選び かまどの中を見て
04:32
and store that serial number as a variable.
63
272892
3318
その番号を変数として 保存します
04:36
Then he’ll begin the following loop that will repeat
64
276210
3405
それから次のようなループを 保存された変数が
04:39
until the stored variable equals 0,
65
279615
2706
大元のロボットのかまど内の 番号である0になるまで
04:42
the furnace number of the original bot:
66
282321
3270
続ければいいのです
04:45
1. Find the bot whose shell serial number matches the stored number.
67
285591
5428
①保存した変数と一致する シリアルナンバーのロボットを見つける
04:51
2. Look inside its furnace.
68
291019
2960
②かまどの中を見る
04:53
3. Store that new number, overwriting the old one.
69
293979
5120
③そこにある新たな番号を 変数に上書き保存する
04:59
Once the loop ends, we’ll know that Hedge has found the 0 bot,
70
299099
4340
このループが終了するのは 「0」ロボットが見つかったときなので
05:03
so he should upload the control program.
71
303439
2685
新しい指示を与えるプログラムを アップロードすればいいのです
05:06
So here’s what happens:
72
306124
1628
さて どうなるでしょう
05:07
Hedge only takes 5 repetitions to find the original:
73
307752
3729
ヘッジは5回繰り返すだけで 大元のロボットを見つけました
05:11
robot 733 has the 0 in its furnace.
74
311481
4100
733番ロボットのかまどの中に 「0」と書かれていたのです
05:15
In a blink of a mechanical eye,
75
315581
2094
あっという間にプログラムが すべてのかまどロボットに伝わり
05:17
the program spreads through the entire army, and Adila takes control.
76
317675
5136
アディーラがコントロールできる ようになりました
05:22
She has the furnace-bots give off theatrical bouts of flame
77
322811
3449
そして かまどロボットには 見せかけの炎を燃やさせて
05:26
to hide the fact that they’re now secretly safe-guarding
78
326260
3343
芸術作品をすべて こっそり隠しておくことにしたのです
05:29
all of that artistic output.
79
329603
3040
05:32
Now that Ethic’s delivered the furnace-bots,
80
332643
2397
エシックがかまどロボットの件を 成功させたので
05:35
Adila honors her end of the deal.
81
335040
3460
今度はアディーラが約束を守る番です
05:38
She leads Ethic and Hedge to the location of the first artifact,
82
338500
3901
彼女はエシックとヘッジを 1つ目のアイテム―
05:42
the Node of Power.
83
342401
2579
「力の石」のありかへ 連れて行ってくれました
05:44
There, one thing is immediately clear:
84
344980
3016
着いてみて 明らかになったのは―
05:50
they’ll have to steal it.
85
350086
1720
盗み出すほかないということです
このウェブサイトについて

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

https://forms.gle/WvT1wiN1qDtmnspy7