The Artists | Think Like A Coder, Ep 5

438,594 views ・ 2020-01-13

TED-Ed


Пожалуйста, дважды щелкните на английские субтитры ниже, чтобы воспроизвести видео.

Переводчик: Elena McDonnell Редактор: Yulia Kallistratova
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
Наши путешественники уже нашли первый артефакт —
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
и прибыли в лесополосу №1984, чтобы завладеть вторым.
00:36
Here they’re welcomed by the director of the colony, Octavia.
4
36735
5111
Здесь их встречает директор колонии Октавия.
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
Местонахождение второго артефакта хорошо известно.
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
он может заполнять один пиксель, или одну клетку, за раз.
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
что, решая одну задачу,
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
Теперь нам нужен план того, как Хедж будет рисовать крест
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
Давайте рассмотрим два из них.
03:31
First, what if Hedge went row by row, like a typewriter?
58
211658
3638
Что, если Хедж будет двигаться по строкам, как каретка пишущей машинки?
03:35
If it’s a 9 pixel by 9 pixel painting,
59
215296
3023
Если размер портрета — 9 на 9 пикселей,
03:38
in the first row he’d paint, skip 7, and then paint again.
60
218319
4309
в первой строке он закрасит клетку, пропустит следующие семь
и снова закрасит клетку.
03:42
In the second row he’d skip the first, paint, skip 5, and paint.
61
222628
4818
Во второй строке он пропустит первую клетку, закрасит вторую,
пропустит пять и снова закрасит.
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
Здесь схема такова, что клетки, пропущенные в начале строки,
03:53
go up by one,
64
233018
1410
увеличиваются на одну,
03:54
and the pixels skipped in the middle go down by 2.
65
234428
3650
а пиксели, пропущенные в середине, уменьшаются на два.
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
В этой строке будет закрашен всего один пиксель.
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
Количество пропущенных пикселей слева уменьшается на один с каждой строкой,
04:10
and up by two each time in the middle.
70
250291
3366
а в середине — увеличивается на два.
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
Поэтому если мы сможем найти способ окрасить один квадрат,
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
Если мы обозначим длину стороны картины как 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
Закрась этот пиксель и поверни направо.
05:07
Now do the whole thing again… and again.
88
307304
3530
А теперь повтори всё это ещё два раза.
05:10
Now move forward one less space, turn right, fly forward once,
89
310834
5195
Теперь переместись вперёд на одну клетку меньше, поверни направо
переместись на одну клетку,
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
Каждый квадрат на n-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