The Tower of Epiphany | Think Like A Coder, Ep 7

430,906 views ・ 2020-02-27

TED-Ed


아래 영문자막을 더블클릭하시면 영상이 재생됩니다.

번역: Yurim Jung 검토: DK Kim
00:31
Ethic and Hedge are on the ground floor of a massive tower.
0
31587
5701
에틱과 헤지는 거대한 탑의 1층에 있습니다.
00:37
Barriers of energy separate them from their quest’s second goal:
1
37288
4657
에너지 장벽이 이들을 두 번째 목표물과 갈라놓습니다.
00:41
the Node of Creation.
2
41945
2000
바로 창조의 노드입니다.
00:52
To reach it, Ethic must use three energy streams to climb the tower.
3
52667
4742
이에 가려면 에너지 흐름 세 개를 이용해 탑을 올라가야 합니다.
00:57
As soon as she steps forward a timer will begin counting down from 60 seconds.
4
57409
5950
에틱이 앞으로 한 발짝 내딛는 순간 시계가 60초부터 세어 내려갑니다.
01:07
At the back of the room there’s a basin made of invisible towers
5
67359
4300
방 뒤편에는 보이지 않는 통으로 된 벽이 서 있는데
01:11
that can hold energy between them.
6
71659
3076
에너지를 담을 수 있습니다.
01:14
After one minute, a torrent of energy will pour down from above,
7
74735
4130
1분 뒤에는 에너지가 쏟아져 내리고
01:18
filling one unit at a time,
8
78865
2150
한 번에 1칸씩 채웁니다.
01:21
with a force field preventing it from spilling out the front or back.
9
81015
4480
장벽이 있어서 에너지가 앞뒤로는 흐르지 않게 합니다.
01:25
During the 60 calm seconds,
10
85495
2130
평온한 이 60초 내에
01:27
Ethic and Hedge must decide exactly how many units of energy will fall.
11
87625
5098
에틱과 헤지는 정확히 몇 개의 에너지가 떨어질지 판단해야 합니다.
01:32
For each of the three challenges,
12
92723
1700
세 번의 과제 모두에서
01:34
they must choose the amount that will fill the basin exactly.
13
94423
3665
통에 채울 에너지의 양을 정확히 맞춰야 합니다.
01:38
If they do so, the energy will propel them further upwards.
14
98088
3850
성공하면, 에너지를 이용해 위로 올라갈 수 있습니다.
01:41
But if they get the amount at all wrong, the energy lift will fail,
15
101938
4620
하지만 양을 맞추지 못하면, 에너지를 이용한 이동은 실패하고
01:46
dropping them.
16
106558
1490
그들은 추락할 것입니다.
01:48
Diagrams on the walls illustrate some examples.
17
108048
3300
벽면의 그림에 예시가 있습니다.
01:51
This configuration will capture exactly 2 units of energy.
18
111348
4270
이 배열은 정확히 두 개의 에너지를 담습니다.
01:55
This configuration will capture 4— 3 here, and 1 here.
19
115618
5117
이 배열은 네 개를 담는데 세 개는 여기, 한 개는 여기요.
02:00
And this one will also capture 4,
20
120735
2540
이 배열도 역시 네 개를 담는데
02:03
because any energy on the right would spill out.
21
123275
3413
오른쪽에 있는 에너지는 넘쳐 흐를 테니까요.
02:06
The energy will rain down in such a way
22
126688
2220
에너지가 쏟아져 내리고
02:08
that it’ll only overflow if there’s no space that could hold it.
23
128908
4630
이 에너지를 받아 낼 공간이 없으면 넘쳐흐릅니다.
02:13
Hedge can make one tower of blocks visible at a time and count how tall it is,
24
133538
5327
헤지는 한 번에 한 줄씩을 확인하여 높이를 계산할 수 있지만
02:18
but he can’t look at the whole structure all at once.
25
138865
3860
전체 구조를 동시에 볼 수는 없습니다.
02:22
How does Ethic program Hedge to figure out
26
142725
2805
에틱은 헤지를 어떻게 설정해야
02:25
exactly how much energy each basin can hold?
27
145530
3810
각각의 통이 에너지를 정확히 얼마나 담을는지 알 수 있을까요?
02:29
Pause now to figure it out for yourself.
28
149340
9465
잠시 멈춰서 스스로 생각해 보세요.
02:38
Here’s one way of thinking about what’s happening:
29
158805
2830
한 가지 예를 들어 보겠습니다.
02:41
each unoccupied cell will hold energy
30
161635
2915
비어 있는 각 칸이 에너지를 담으려면
02:44
if and only if there is a wall eventually to its left,
31
164550
4240
그 칸의 왼쪽에 벽이 있고
02:48
and a wall eventually to its right.
32
168790
2727
오른쪽에도 벽이 있어야 합니다.
02:51
But it would take a long time for Hedge to check this for each individual cell.
33
171517
4805
하지만 헤지가 모든 칸을 하나씩 확인하는 것은 너무 오래 걸립니다.
02:56
So what if he were to consider a whole column of blocks at a time?
34
176322
4863
헤지가 한 번에 한 줄 전체를 살펴보게 하면 어떨까요?
03:01
How many units of energy can this hold, for instance?
35
181185
3840
예를 들어 한 줄이 에너지를 얼마나 담을 수 있을지를 알아보는 거죠.
03:05
Pause now to figure it out for yourself.
36
185025
5364
잠시 멈춰서 스스로 생각해 보세요.
03:10
Let’s analyze the problem by looking at our example.
37
190389
3370
예제를 보고 문제를 분석해 봅시다.
03:13
There are 5 columns of blocks here.
38
193759
2155
블록이 다섯 줄 있습니다.
03:15
The leftmost one can’t hold any energy, because there’s nothing higher than it.
39
195914
4570
가장 왼쪽 줄은 제일 높아서 에너지를 담을 수 없습니다.
03:20
The 2nd stack can have 3 units above it,
40
200484
2634
두 번째 줄은 세 단위를 담을 수 있습니다.
03:23
as they would be trapped between these two 4 block stacks.
41
203118
4126
4개짜리 줄들 사이에 있기 때문이죠.
03:27
We get 3 units by taking the height where the energy would level off— 4,
42
207244
4942
세 단위의 에너지를 얻게 되는데 에너지가 평평하게 쌓이는 높이 4에서
03:32
and subtracting the height of the stack— so that’s 4 minus 1.
43
212186
4160
줄의 높이를 빼면 4 빼기 1이 되기 때문이죠.
03:36
The 3rd stack is similar— 4 to the left, 4 to the right, and it’s 3 high,
44
216346
5462
세 번째 줄도 비슷하게 왼쪽 4개, 오른쪽 4개, 줄 높이 3이죠.
03:41
so it’ll hold 4 minus 3 equals 1 unit.
45
221808
4729
따라서 4에서 3을 뺀 1단위가 담깁니다.
03:46
The 4th stack and 5th stacks have nothing higher than them to the right,
46
226537
4420
네 번째, 다섯 번째 줄은 오른쪽에 더 높은 줄이 없으므로
03:50
so they can’t hold any energy.
47
230957
2470
에너지를 담지 못합니다.
03:53
We can adapt this idea into an algorithm.
48
233427
3818
이 개념을 알고리즘에 적용할 수 있습니다.
03:57
Considering one column at a time as the point of reference,
49
237245
3780
한 번에 한 개의 줄을 기준으로 삼는 방법입니다.
04:01
Hedge can look to the left stack by stack to find the height of the tallest one,
50
241025
4411
헤지는 줄을 왼쪽으로 하나씩 살펴서 가장 긴 것의 높이를 찾고
04:05
look to the right to find the height of the tallest one,
51
245436
2720
우측으로도 하나씩 살펴서 가장 긴 것의 높이를 찾습니다.
04:08
and take the smaller of the two as the height the energy can fill up to.
52
248156
4677
둘 중 짧은 것의 높이가 에너지를 담을 수 있는 높이입니다.
04:12
If the result is higher than the column in question,
53
252833
3130
결과가 원래 줄보다 크면
04:15
subtract the height of the original column,
54
255963
2574
원래 줄 높이를 빼고
04:18
and the result will be the number of units that column can hold.
55
258537
5097
그 값이 그 줄에 담을 수 있는 단위입니다.
04:23
If it's equal to or below the level of the column in question,
56
263634
3560
값이 그 줄의 높이와 같거나 더 적다면
04:27
the energy would spill off.
57
267194
2203
에너지는 흘러 넘칠 거예요.
04:29
Hedge can apply that to an entire basin with a loop
58
269397
3520
헤지는 통 전체를 가장 왼쪽부터
04:32
that starts on the left-most column and moves right, one column at a time.
59
272917
5745
오른쪽으로 한 칸씩 돌아가면서 적용할 수 있어요.
04:38
For each column, he’ll run the same steps— look all the way left for the tallest,
60
278662
5009
각 줄에서 헤지는 같은 일을 하는데 왼쪽 끝까지 가장 높은 걸 찾고
04:43
do the same to the right, take the lower height of the two,
61
283671
3560
오른쪽으로도 그렇게 한 다음 둘 중 낮은 걸 찾고
04:47
subtract the original column height,
62
287231
2087
원래 줄의 높이를 빼서
04:49
and increase the grand total if that number is positive.
63
289318
3860
값이 양수이면 총합을 증가시키죠.
04:53
His loop will repeat as many times as there are columns.
64
293178
3670
헤지는 줄을 다 살펴볼 때까지 계속 반복할 거예요.
04:56
That will work, but it’ll take a long time for a large basin.
65
296848
3950
되긴 하겠지만 통이 커지면 시간이 오래 걸리겠죠.
05:00
At every step Hedge repeats the action of looking left and looking right.
66
300798
4530
한 칸을 움직일 때마다 헤지는 왼쪽과 오른쪽을 보는 걸 반복합니다.
05:05
If there are N stacks, he’ll look at all N stacks N times.
67
305328
4952
N개의 줄이 있다면 N개의 줄을 N번씩 보게 되죠.
05:10
Is there a faster way?
68
310280
1980
더 빠른 방법은 없을까요?
05:12
Here’s one time saver: before doing anything else,
69
312260
3348
시간을 아끼는 방법이 있습니다.
헤지는 제일 처음에 일단 왼쪽에서 시작해서
05:15
Hedge can start on the left,
70
315608
1860
05:17
and keep a running tally of what the highest stack is.
71
317468
3870
현재 가장 높은 줄의 높이를 적어 둘 수 있죠.
05:21
Here that would be 2, 2 again, since the first was higher,
72
321338
3760
여기선 2이고 첫 번째 스택이 더 높으니까 또 2입니다.
05:25
then 4, 4, 4.
73
325098
2750
그다음은 4, 4, 4입니다.
05:27
He can then find the highest right-most stacks
74
327848
2780
그리고 오른쪽에서 가장 높은 걸 같은 방법으로 찾습니다.
05:30
by doing the same going right-to-left: 1, 3, 4, 4, 4.
75
330628
6254
오른쪽에서 왼쪽으로 똑같이 하면 1, 3, 4, 4, 4가 되네요.
05:36
In the end he’ll have a table like this in his memory.
76
336882
3840
마지막엔 헤지의 메모리에 이런 표가 있겠죠.
05:40
Now, Hedge can take one more pass to calculate how much energy there will be
77
340722
5239
이제 한 단계만 더 하면 에너지가 얼마나 쌓일 수 있는지를
05:45
above every stack with the same equation from before:
78
345961
4040
위와 같은 방식을 써서 각 줄별로 알 수 있습니다.
05:50
take the smaller of the stored left and right values,
79
350001
3637
왼쪽과 오른쪽에서 저장한 값 중에 더 작은 것을 선택하고
05:53
and subtract the height of the current tower.
80
353638
3070
현재 줄의 높이를 빼는 거죠.
05:56
Instead of looking at N stacks N times, he’ll look at N stacks just 3 times—
81
356708
5585
N개의 줄을 N번씩 보는 대신에 N개의 줄을 3번만 봅니다.
06:02
which is what’s called linear time.
82
362293
2280
선형 증가라는 것이죠.
06:04
There are ways to optimize the solution even further,
83
364573
3241
이 방법을 더 개선할 수도 있겠지만
06:07
but this is good enough for our heroes.
84
367814
2750
우리 주인공들에겐 이 정도로 충분하겠군요.
06:10
Ethic and Hedge work as one.
85
370564
1770
둘은 한몸처럼 움직입니다.
06:14
The first cascade is a breeze, and they rise up the tower.
86
374992
3844
첫 번째 벽은 쉬웠고 두 사람은 탑을 올라갑니다.
06:21
The second is a little tougher.
87
381573
2010
두 번째는 조금 더 어렵습니다.
06:33
The third is huge, with dozens of stacks of blocks.
88
393051
3860
수십 개의 블록이 있는 세 번째 벽은 거대합니다.
06:36
The timer ticks down towards zero, but Ethic’s program is fast.
89
396911
4433
타이머는 다 되어 가지만 에틱의 프로그램은 빠릅니다.
06:41
She gets the wheel in position just in time,
90
401344
2964
에틱은 딱 맞는 시간에 핸들을 바른 위치에 두었고
06:49
and the energy lifts them to the Node of Creation.
91
409015
2920
에너지가 두 사람을 창조의 노드에 데려다 줍니다.
06:55
Like the first, it reveals a vision: memories of years gone by.
92
415640
5427
처음에 그랬던 것처럼 노드는 몇 년 전 과거의 기억을 보여 줍니다.
07:01
The world machine changed everything,
93
421067
2120
월드 머신은 모든 걸 변화시켰고
07:03
and Ethic, in her position as chief robotics engineer,
94
423187
3669
에틱은 최고 로봇 공학자로서
07:06
grew troubled by what she saw.
95
426856
2050
그녀가 목격한 장면에 괴로워했죠.
07:08
When the Bradbarrier went up to keep the people in,
96
428906
3040
모두를 안에 두려고 브래드 장벽이 가동되었을 때
07:11
she knew something was seriously wrong.
97
431946
2640
그녀는 뭔가 크게 틀어졌다는 것을 알아차렸습니다.
07:14
So she created three artifacts
98
434586
2090
그래서 그녀는 세 개의 물건을 만들어
07:16
with the ability to restore people’s power, creativity, and memory,
99
436676
4545
사람들의 힘과 창조성, 기억을 회복시킬 능력을 넣어서
07:21
and smuggled them to three communities.
100
441221
2910
세 지역에 몰래 숨겨 놨습니다.
07:24
Before she could tell people how to use them,
101
444131
2318
그녀가 사람들에게 사용법을 알려 주기 전에
07:26
the government discovered her efforts and sent bots to arrest her
102
446449
3510
정부가 그 일을 알아 차렸고 로봇들을 보내서
07:29
and the other programmers.
103
449959
1930
그녀와 다른 프로그래머들을 체포했습니다.
07:31
The last thing Ethic used the world machine to create
104
451889
3320
에틱이 월드 머신으로 마지막으로 만든 것은
07:35
was a robot that would protect the ancient device
105
455209
2790
고대 장치를 보호하기 위한 로봇입니다.
07:37
from the forces of ignorance by enclosing it in a giant maze.
106
457999
4330
무지의 힘에 맞서 거대한 미로에 숨긴 거죠.
07:42
She named her creation Hedge.
107
462329
2414
에틱은 그 로봇을 헤지라고 이름붙였습니다.
07:51
Without warning, the energy lift flickers, then fizzles out.
108
471801
3830
에틱과 헤지를 올려주던 에너지가 갑자기 깜박거리더니 스르륵 사라집니다.
이 웹사이트 정보

이 사이트는 영어 학습에 유용한 YouTube 동영상을 소개합니다. 전 세계 최고의 선생님들이 가르치는 영어 수업을 보게 될 것입니다. 각 동영상 페이지에 표시되는 영어 자막을 더블 클릭하면 그곳에서 동영상이 재생됩니다. 비디오 재생에 맞춰 자막이 스크롤됩니다. 의견이나 요청이 있는 경우 이 문의 양식을 사용하여 문의하십시오.

https://forms.gle/WvT1wiN1qDtmnspy7