The Artists | Think Like A Coder, Ep 5

438,594 views ・ 2020-01-13

TED-Ed


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

翻訳: Moe Shoji 校正: Yasushi Aoki
00:22
Dawn and the train are both breaking when Ethic and Hedge arrive in the woods.
0
22840
5488
エシックとヘッジが森林に着く頃には 日が昇り始め 列車は速度を緩めていました
00:28
The adventurers have recovered the first artifact—
1
28328
2880
この2人の冒険者たちは 1つめのアイテム―
00:31
the Node of Power—
2
31208
1497
力の石を手に入れて
00:32
and have come to the 198forest in search of the second.
3
32705
4030
2つめのアイテムを探しに 198番森林へやってきました
00:36
Here they’re welcomed by the director of the colony, Octavia.
4
36735
5111
ここで2人は共同体の指導者 オクタヴィアに迎えられました
00:41
She established this treehouse sanctuary
5
41846
2600
ロボットのおかげで 仕事をする必要がなくなってから
00:44
after the robots freed everyone from having to work.
6
44446
2969
彼女はこのツリーハウスの 楽園を作ったのです
00:47
It was meant to be a haven where people could follow their passions,
7
47415
3290
ここは人々が 情熱の赴くままに過ごし 工芸に打ち込み
00:50
take up crafts, and find fulfillment.
8
50705
2370
充足感を得られる 安息の地になるはずでした
00:53
Which they did… at first.
9
53075
2263
最初は そうでした
00:55
Some years ago everyone forgot the point.
10
55338
2510
数年前 人々は目的を 忘れてしまい
00:57
They abandoned arts and crafts
11
57848
1630
芸術や工芸をやめて
00:59
and instead just painted and exhibited pictures of themselves
12
59478
3200
ただ自画像を描いては 展示することを
01:02
over, and over, and over.
13
62678
2600
ひたすら繰り返すようになりました
01:05
The location of the second artifact is no secret;
14
65278
2610
2つめのアイテムの場所は 明らかで
01:07
it’s in a tower, guarded by a garrison of bots,
15
67888
3460
塔の中にありますが 固く守られていて
ロボットの軍団に 底なしの谷 その他どんな罠があるかわかりません
01:11
a bottomless ravine, and who knows what other traps.
16
71348
4150
01:15
As soon as the tower went up with the node inside,
17
75498
3158
アイテムを収めた塔が そびえ立つようになると
01:18
human communication across the land went dark.
18
78656
3922
人々は通信ができなくなりました
01:22
Octavia’s been after it for years,
19
82578
2050
オクタヴィアは何年も アイテムを盗みだそうとしてきましたが
01:24
but try as she might, the defenses thwart her.
20
84628
4245
いくら頑張っても 防御システムに阻まれてしまいます
01:28
In order to even get to the tower, the team will need a distraction.
21
88873
4258
塔に到達するだけでも 警備の目をそらす必要があります
01:33
Octavia has an idea:
22
93131
1849
オクタヴィアには 考えがありました
01:34
stir up the people through some well-intentioned vandalism.
23
94980
4131
自画像に悪意のない落書きをして 人々に騒ぎを起こさせるのです
01:39
The residents’ paintings are all squares that come in different sizes,
24
99111
3832
居住者たちの作品はすべて 様々な大きさの正方形で
01:42
all an odd number of pixels across.
25
102943
3608
縦横が奇数のマス目になっています
01:46
Helper-bots pick up the finished portraits
26
106551
2412
お助けロボットが 完成した作品を拾い上げて
01:48
and hang them in public places for everyone to admire.
27
108963
3848
誰もが鑑賞できるように 公共の場に飾ります
01:52
There’s a slim margin of time when Hedge can access the paintings.
28
112811
4190
ヘッジが作品に近づけるのは ほんの短い間だけです
01:57
If he were to deface each one with an X,
29
117001
3361
ヘッジがすべての作品に バツ印をつけて汚せば
02:00
the people would blame the helper-bots,
30
120362
2439
人々はお助けロボットに抗議し
02:02
creating just the distraction the team needs.
31
122801
3410
うまい具合に 目をそらせるでしょうが
02:06
If only it were so easy.
32
126211
2300
ことは それほど簡単ではありません
02:08
Hedge can’t just paint an X—
33
128511
2230
ヘッジは 単にバツ印をつけることは できません
02:10
his painting processor requires very specific instructions.
34
130741
4121
ヘッジの描画プロセッサには 非常に具体的な指示が必要で
02:14
Treating the paintings as square grids,
35
134862
2630
絵画を正方形のマス目とみて
02:17
he can fill in one pixel, or little square, at a time.
36
137492
4000
1マスずつ塗ることになります
02:21
He can move forwards and make 90 degree turns over the canvas,
37
141492
3720
キャンバスの上で 前進と 90度回転はできますが
02:25
but can’t move diagonally.
38
145212
2728
斜めに移動はできません
02:27
How does Ethic program Hedge to paint an X over each portrait?
39
147940
4802
ヘッジがすべての自画像に バツ印をつけるには
エシックはどうプログラムすれば いいでしょう?
02:32
Pause now to figure it out for yourself.
40
152742
8528
[ビデオをいったん止めて 自分で考えてみましょう]
02:41
Here’s a hint.
41
161270
1530
ヒントをあげましょう
02:42
Try drawing a square grid like this,
42
162800
2702
こんな正方形のマス目を描いて
02:45
and simulating Hedge’s path over it.
43
165502
2950
ヘッジの動きを シミュレーションしてみましょう
02:48
What patterns can you find to guide him?
44
168452
2556
どんなパターンで動けば バツ印は描けるか?
02:51
Pause now to figure it out for yourself.
45
171008
4790
[ビデオをいったん止めて 自分で考えてみましょう]
02:55
The challenge here is to craft a set of instructions
46
175798
2599
ここで難しいのは
マス目がどんなサイズでも 有効な指示を考えることです
02:58
that will work for any square grid.
47
178397
2791
03:01
Fortunately, one of the strengths of programming
48
181188
2570
幸い プログラミングのいいところは
03:03
is the flexibility to solve not just one problem,
49
183758
2980
1つの問題だけでなく 同じような問題を
03:06
but a whole class of them all at once.
50
186738
3110
一気に解決することが できるところです
03:09
It often helps to start with one case, and work towards the general.
51
189848
4801
ある場合についてまず考え それから一般化するとよいでしょう
03:14
Let’s say we had this square.
52
194649
1970
こんなマス目だったとします
03:16
Hedge can measure the length of its sides and store that number as a variable.
53
196619
4479
ヘッジは一辺の長さを測り その数字を変数として記憶します
03:21
Now, what we need is a plan for how Hedge will paint an X,
54
201098
4585
さて必要なのはヘッジが 1マスずつ塗りつぶして
03:25
pixel by pixel.
55
205683
1540
バツ印を描くための指示です
03:27
There’s more than one right answer for how to do this;
56
207223
2952
これにはいくつも やり方がありますが
03:30
let’s look at two.
57
210175
1483
2つほど考えてみましょう
03:31
First, what if Hedge went row by row, like a typewriter?
58
211658
3638
1つめは ヘッジが1行ずつ タイプライターのように動く場合です
03:35
If it’s a 9 pixel by 9 pixel painting,
59
215296
3023
1辺が9マスの絵の場合
03:38
in the first row he’d paint, skip 7, and then paint again.
60
218319
4309
1行目では まず最初のマスを塗り 7マスとばして また塗ります
03:42
In the second row he’d skip the first, paint, skip 5, and paint.
61
222628
4818
2行目では 1マスとばしてマスを塗り 5マスとばして また塗ります
03:47
And so on.
62
227446
1330
これを続けていきます
03:48
The pattern here is that for each row the pixels skipped at the beginning
63
228776
4242
ここで見られるパターンは 1行ごとに最初にとばすマスの数が
03:53
go up by one,
64
233018
1410
1ずつ増加し
03:54
and the pixels skipped in the middle go down by 2.
65
234428
3650
真ん中でとばすマスの数は 2ずつ減少するというものです
03:58
Things get more complicated when Hedge reaches the center.
66
238078
3080
ヘッジが中央に到達すると 話が変わり
04:01
Here there’s a row with just one pixel painted.
67
241158
3041
この行で色がつくのは 真ん中の1マスだけで
04:04
Then the whole thing reverses—
68
244199
1969
それからパターンが反対になります
04:06
the number of pixels skipped goes down by one each time on the left,
69
246168
4123
とばす左側のマスの数は 1行ごとに1ずつ減っていき
04:10
and up by two each time in the middle.
70
250291
3366
真ん中でとばすマスの数は 1行ごとに2ずつ増えます
04:13
Instructing Hedge to do this with a series of loops will work
71
253657
3454
この方法をループを使って ヘッジに指示すれば上手くいきますし
04:17
and is a perfectly fine solution.
72
257111
2439
まったく問題ありませんが
04:19
The main drawback is that this requires quite a bit of logic—
73
259550
3601
この方法の難点は 処理の手順が煩雑になることです
04:23
knowing what to do in the middle, when to reverse the process,
74
263151
3020
中央ではどうするのか いつパターンが反対になり
04:26
and exactly how to reverse it.
75
266171
2690
どうやって反対にするのかを わかっている必要があります
04:28
So how might we approach this
76
268861
1784
最初から最後まで
04:30
so that the logic remains consistent from start to finish?
77
270645
3916
一定の方法でやることは できないでしょうか?
04:34
The key insight is to look at a grid as a series of concentric squares.
78
274561
5488
ポイントは マス目を同心状の正方形の 集まりと見なすことで
04:40
Each square follows the same pattern—
79
280049
2640
こうすれば各正方形を 同じように処理できます
04:42
painted pixels in the corners, and unaltered pixels in between.
80
282689
4222
角のマスに色をつけ 間のマスはそのままにすればいいのです
04:46
So if we can figure out a way to paint one nested square,
81
286911
3418
そのため 1つの正方形に 色をつける方法がわかれば
04:50
transition to the next, and repeat, we can paint them all.
82
290329
4435
それを繰り返すことで すべてに色をつけることができます
04:54
Painting the outermost one is easy.
83
294764
2361
一番外側の四角に 色をつけるのは簡単です
04:57
Start in a corner and paint that pixel.
84
297125
2489
角から始めて そのマスに色をつけます
04:59
If we call the length of the painting n,
85
299614
2440
絵の1辺の長さをnとすると
05:02
fly forward n minus 1 spaces.
86
302054
2750
n - 1 だけ前進して
05:04
Paint another pixel, and turn right.
87
304804
2500
1マス色をつけて右折します
05:07
Now do the whole thing again… and again.
88
307304
3530
同じことをあと2回繰り返します
05:10
Now move forward one less space, turn right, fly forward once,
89
310834
5195
今度は1マス少ない距離を前進し 右折して1マス進みます
05:16
and Hedge will be in the next concentric square
90
316029
3170
これでヘッジは 次の正方形に移ったことになるので
05:19
and ready to repeat the whole process.
91
319199
2785
同じ過程を繰り返します
05:21
Each square is n minus 2 pixels smaller than the last in length and width,
92
321984
5742
正方形はそれぞれ 外側の正方形よりも 各辺の長さが 2 だけ小さくなります
05:27
and we can follow this spiral pattern all the way to the center
93
327726
3920
この渦巻き状のパターンを 中心に至るまで続ければよく
05:31
with a loop and a variable that tracks how far Hedge should fly.
94
331646
5147
ループと とばすマスの数を表す変数を使って 実行できます
05:36
Is one of these methods better than the other?
95
336793
2240
どちらがより良い方法でしょう?
05:39
It really depends on what you value.
96
339033
2064
それは何を重視するかによります
05:41
The strength of the spiral is the simplicity of finding a pattern
97
341097
3430
渦巻き状方式の長所は パターンがシンプルであることと
05:44
and reusing the same logic from start to finish.
98
344527
3040
最初から最後まで同じ方法を 使えるところです
05:47
The advantage of the typewriter approach
99
347567
2100
タイプライター方式の長所は
05:49
is that it’s a more generalized solution,
100
349667
2290
より一般的な解決法で
05:51
meaning it can be adapted much more simply to fill in any pattern.
101
351957
4070
他の絵柄に簡単に 応用が利くところです
05:56
For Ethic’s sake, either will do just fine.
102
356027
3271
エシックの目的のためには どちらでもいいでしょう
05:59
So here’s what happens.
103
359298
1830
さて どうなるでしょう
06:01
Hedge rapidly defaces all of the portraits.
104
361128
3109
ヘッジはすごい速さで 自画像にバツ印をつけます
06:04
And within moments
105
364237
1110
まもなく
06:05
cries of anguish break out all over the forest.
106
365347
3671
森一帯に怒りの声が上がりました
06:09
The garrison guarding the tower abandon their posts
107
369018
2980
塔を守っている警備ロボットは 持ち場を離れて
06:11
to calm the agitated people,
108
371998
1970
人々の騒ぎを鎮めに行きます
06:13
and Ethic, Hedge, and Octavia slip through—
109
373968
2990
エシックとヘッジと オクタヴィアはこっそりと抜けだし―
06:16
and nearly slip into the depths of the gorge
110
376958
3040
危うく塔への道を阻む谷底へと
06:19
standing between them and the tower.
111
379998
2889
落ちそうになったのでした
このウェブサイトについて

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

https://forms.gle/WvT1wiN1qDtmnspy7