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

428,635 views ・ 2020-02-27

TED-Ed


Proszę kliknąć dwukrotnie na poniższe angielskie napisy, aby odtworzyć film.

Korekta: Ola Królikowska
00:31
Ethic and Hedge are on the ground floor of a massive tower.
0
31587
5701
Etyka i Hedge znajdują się na parterze olbrzymiej wieży.
00:37
Barriers of energy separate them from their quest’s second goal:
1
37288
4657
Bariery energii odzielają ich od drugiego celu ich misji.
00:41
the Node of Creation.
2
41945
2000
Węzła Stworzenia.
00:52
To reach it, Ethic must use three energy streams to climb the tower.
3
52667
4742
Żeby tam dotrzeć, Etyka musi użyć trzech strumieni energii i wspiąć się na wieżę,
00:57
As soon as she steps forward a timer will begin counting down from 60 seconds.
4
57409
5950
Kiedy rusza na przód, włącza się licznik odmierzający 60 sekund.
01:07
At the back of the room there’s a basin made of invisible towers
5
67359
4300
Na tyłach pokoju znajduje się basen stworzony z niewidzialnych wież,
01:11
that can hold energy between them.
6
71659
3076
które mogą przechowywać energię.
01:14
After one minute, a torrent of energy will pour down from above,
7
74735
4130
Po minucie strumień energii spływa z góry,
01:18
filling one unit at a time,
8
78865
2150
wypełniając każdą jednostkę po kolei,
podczas gdy pole siłowe uniemożliwia wylanie się energii wprzód lub tył.
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
W trakcie 60 sekundach
01:27
Ethic and Hedge must decide exactly how many units of energy will fall.
11
87625
5098
Etyka i Hedge muszą zdecydować, ile dokładnie spadnie jednostek energii.
01:32
For each of the three challenges,
12
92723
1700
W każdym z trzech wyzwań
01:34
they must choose the amount that will fill the basin exactly.
13
94423
3665
muszą wybrać dokładną ilość, która wypełni basen.
01:38
If they do so, the energy will propel them further upwards.
14
98088
3850
Jeśli im się uda, energia popchnie ich do góry.
01:41
But if they get the amount at all wrong, the energy lift will fail,
15
101938
4620
Ale jeśli się pomylą, energia opadnie,
01:46
dropping them.
16
106558
1490
a oni spadną.
01:48
Diagrams on the walls illustrate some examples.
17
108048
3300
Wykresy na ścianach pokazują pewne przykłady.
01:51
This configuration will capture exactly 2 units of energy.
18
111348
4270
Ta konfiguracja złapie dokładnie dwie jednostki energii.
01:55
This configuration will capture 4— 3 here, and 1 here.
19
115618
5117
Ta konfiguracja złapie cztery. Trzy tutaj i jedną tu.
02:00
And this one will also capture 4,
20
120735
2540
Ta też złapie cztery,
02:03
because any energy on the right would spill out.
21
123275
3413
bo z prawej wyleje się każda jednostka.
02:06
The energy will rain down in such a way
22
126688
2220
Energia będzie padać tak,
02:08
that it’ll only overflow if there’s no space that could hold it.
23
128908
4630
że przeleje się tylko wtedy, jeśli nie ma miejsca, które je pomieści.
02:13
Hedge can make one tower of blocks visible at a time and count how tall it is,
24
133538
5327
Hedge może sprawić, że jedna z wież będzie widoczna, i sprawdzić jej wysokość,
02:18
but he can’t look at the whole structure all at once.
25
138865
3860
ale nie zobaczy całej struktury naraz.
02:22
How does Ethic program Hedge to figure out
26
142725
2805
Jak Etyka ma zaprogramować Hedge’a, żeby sprawdzić,
02:25
exactly how much energy each basin can hold?
27
145530
3810
ile energii pomieści każdy basen?
02:29
Pause now to figure it out for yourself.
28
149340
9465
Zatrzymaj nagranie, żeby znaleźć rozwiązanie.
02:38
Here’s one way of thinking about what’s happening:
29
158805
2830
Oto jedna z możliwości.
02:41
each unoccupied cell will hold energy
30
161635
2915
Energię pomieści każda pusta komórka,
02:44
if and only if there is a wall eventually to its left,
31
164550
4240
jeśli po obu jej stronach w pewnym momencie będzie ściana.
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
Hedge spędziłby dużo czasu, sprawdzając każdą komórkę po kolei.
02:56
So what if he were to consider a whole column of blocks at a time?
34
176322
4863
A gdyby sprawdzał całą kolumną naraz,
03:01
How many units of energy can this hold, for instance?
35
181185
3840
Sprawdzając, na przykład, ile jednostek energii pomieści?
03:05
Pause now to figure it out for yourself.
36
185025
5364
Zatrzymaj nagranie, żeby znaleźć rozwiązanie.
03:10
Let’s analyze the problem by looking at our example.
37
190389
3370
Spróbujmy przeanalizować problem na podstawie naszego przykładu.
03:13
There are 5 columns of blocks here.
38
193759
2155
Mamy 5 kolumn złożonych z bloków.
03:15
The leftmost one can’t hold any energy, because there’s nothing higher than it.
39
195914
4570
Kolumna najbardziej po lewej nie pomieści niczego, bo jest najwyższa.
03:20
The 2nd stack can have 3 units above it,
40
200484
2634
Drugi stos może zmieścić 3 jednostki,
03:23
as they would be trapped between these two 4 block stacks.
41
203118
4126
bo będą uwięzione między tymi 4-blokowymi stosami.
03:27
We get 3 units by taking the height where the energy would level off— 4,
42
207244
4942
Wysokość, do której mamy wyrównać poziom, to 4,
03:32
and subtracting the height of the stack— so that’s 4 minus 1.
43
212186
4160
więc odejmujemy obecną wysokość kolumny, czyli 4 minus 1, co daje 3 jednostki.
03:36
The 3rd stack is similar— 4 to the left, 4 to the right, and it’s 3 high,
44
216346
5462
W trzecim stosie jest podobnie. 4 po lewej, 4 po prawej,
obecna wysokość to 3, więc pomieści 4 minus 3 czyli 1 jednostkę.
03:41
so it’ll hold 4 minus 3 equals 1 unit.
45
221808
4729
03:46
The 4th stack and 5th stacks have nothing higher than them to the right,
46
226537
4420
Czwarty i piąty stos nie mają po prawej nic wyższego od siebie,
03:50
so they can’t hold any energy.
47
230957
2470
więc nie pomieszczą żadnej energii.
03:53
We can adapt this idea into an algorithm.
48
233427
3818
Możemy wykorzystać ten pomysł do stworzenia algorytmu.
03:57
Considering one column at a time as the point of reference,
49
237245
3780
Przyjmując jako punkt odniesienia tylko jedną kolumnę naraz,
04:01
Hedge can look to the left stack by stack to find the height of the tallest one,
50
241025
4411
Hedge pójdzie w lewo, stos po stosie, żeby znaleźć najwyższy,
04:05
look to the right to find the height of the tallest one,
51
245436
2720
następnie w prawo, żeby zrobić to samo,
04:08
and take the smaller of the two as the height the energy can fill up to.
52
248156
4677
i wybierze mniejszy z nich jako wysokość, do której należy wyrównywać.
04:12
If the result is higher than the column in question,
53
252833
3130
Jeśli wynik jest wyższy niż wysokość danej kolumny,
04:15
subtract the height of the original column,
54
255963
2574
odejmie wysokość oryginalnej kolumny,
04:18
and the result will be the number of units that column can hold.
55
258537
5097
i otrzyma liczbę jednostek, które pomieści kolumna.
04:23
If it's equal to or below the level of the column in question,
56
263634
3560
Jeśli jest równa lub mniejsza od danej kolumny,
04:27
the energy would spill off.
57
267194
2203
energia się rozleje.
04:29
Hedge can apply that to an entire basin with a loop
58
269397
3520
Hedge może zastosować to podejście w całym basenie używając pętli,
04:32
that starts on the left-most column and moves right, one column at a time.
59
272917
5745
która zaczyna się od kolumny pierwszej od lewej
04:38
For each column, he’ll run the same steps— look all the way left for the tallest,
60
278662
5009
i porusza o jedną kolumnę w prawo.
Te same kroki powtórzy w każdej kolumnie.
Poszuka najwyższej po lewej najwyższej po prawej,
04:43
do the same to the right, take the lower height of the two,
61
283671
3560
wybierze mniejszą z dwóch, odejmie wysokości oryginalnej kolumny
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
i jeśli liczba jest dodatnia, zwiększa sumę całkowitą.
04:53
His loop will repeat as many times as there are columns.
64
293178
3670
Jego pętla powtórzy się tyle razy, ile będzie kolumn.
04:56
That will work, but it’ll take a long time for a large basin.
65
296848
3950
To zadziała, ale w przypadku dużego basenu potrwa bardzo długo.
05:00
At every step Hedge repeats the action of looking left and looking right.
66
300798
4530
Na każdym kroku Hedge powtarza akcję patrzenia w lewo i w prawo.
05:05
If there are N stacks, he’ll look at all N stacks N times.
67
305328
4952
Jeśli jest N stosów, spojrzy na N stosów N razy.
05:10
Is there a faster way?
68
310280
1980
Czy jest szybszy sposób?
05:12
Here’s one time saver: before doing anything else,
69
312260
3348
Ten może oszczędzić trochę czasu.
Zanim zacznie cokolwiek innego,
05:15
Hedge can start on the left,
70
315608
1860
Hedge może zacząć od lewej
05:17
and keep a running tally of what the highest stack is.
71
317468
3870
i trzymać w pamięci zestawienie najwyższych stosów.
05:21
Here that would be 2, 2 again, since the first was higher,
72
321338
3760
Tu byłoby to 2 i znowu 2, bo pierwsza była wyższa,
05:25
then 4, 4, 4.
73
325098
2750
potem 4, 4, 4.
05:27
He can then find the highest right-most stacks
74
327848
2780
Może potem znaleźć najwyższy stos najbardziej po prawej,
05:30
by doing the same going right-to-left: 1, 3, 4, 4, 4.
75
330628
6254
robiąc to samo, czyli poruszając się od prawej do lewej: 1, 3, 4, 4, 4.
05:36
In the end he’ll have a table like this in his memory.
76
336882
3840
Na koniec będzie miał w pamięci taką tabelkę.
05:40
Now, Hedge can take one more pass to calculate how much energy there will be
77
340722
5239
Teraz Hedge może podjąć kolejną próbę
obliczenia energii znajdującej się nad każdym stosem,
05:45
above every stack with the same equation from before:
78
345961
4040
używając tego samego równania, co poprzednio.
05:50
take the smaller of the stored left and right values,
79
350001
3637
Weźmie najmniejszą wartość z lewej i prawej strony
05:53
and subtract the height of the current tower.
80
353638
3070
i odejmie wysokość danej wieży.
05:56
Instead of looking at N stacks N times, he’ll look at N stacks just 3 times—
81
356708
5585
Zamiast patrzeć na N stosów N razy, będzie patrzeć na N stosów 3 razy,
06:02
which is what’s called linear time.
82
362293
2280
co nazywane jest czasem liniowym.
06:04
There are ways to optimize the solution even further,
83
364573
3241
Są sposoby, żeby zoptymalizować to rozwiązanie jeszcze bardziej,
06:07
but this is good enough for our heroes.
84
367814
2750
ale to wystarczy naszym bohaterom.
06:10
Ethic and Hedge work as one.
85
370564
1770
Etyka i Hedge pracują jak jeden organizm.
06:14
The first cascade is a breeze, and they rise up the tower.
86
374992
3844
Pierwsza kaskada poszła gładko i wznoszą się w górę wieży.
06:21
The second is a little tougher.
87
381573
2010
Druga trochę trudniejsza.
06:33
The third is huge, with dozens of stacks of blocks.
88
393051
3860
Trzecia jest ogromna z dziesiątkami stosów bloków.
06:36
The timer ticks down towards zero, but Ethic’s program is fast.
89
396911
4433
Licznik zbliża się do zera, ale program Etyki jest szybki.
06:41
She gets the wheel in position just in time,
90
401344
2964
Umieszcza koło w pozycji w samą porę,
06:49
and the energy lifts them to the Node of Creation.
91
409015
2920
a energia wznosi ich w stronę Węzła Stworzenia.
06:55
Like the first, it reveals a vision: memories of years gone by.
92
415640
5427
Podobnie jak w przypadku pierwszego ukazuje pewną wizję.
Wspomnienia z ubiegłych lat.
Maszyna świata zmieniła wszystko,
07:01
The world machine changed everything,
93
421067
2120
07:03
and Ethic, in her position as chief robotics engineer,
94
423187
3669
a Etyka, zajmująca stanowisko głównego inżyniera robotyki,
07:06
grew troubled by what she saw.
95
426856
2050
zaczęła niepokoić się tym, co widziała.
07:08
When the Bradbarrier went up to keep the people in,
96
428906
3040
Kiedy mur Bradberrier podwyższył się, żeby zatrzymać ludzi w środku,
07:11
she knew something was seriously wrong.
97
431946
2640
wiedziała, że coś jest nie tak.
07:14
So she created three artifacts
98
434586
2090
Dlatego stworzyła trzy artefakty,
07:16
with the ability to restore people’s power, creativity, and memory,
99
436676
4545
które mogły przywrócić ludziom władzę, kreatywność i pamięć.
07:21
and smuggled them to three communities.
100
441221
2910
I przemyciła je do trzech społeczności.
07:24
Before she could tell people how to use them,
101
444131
2318
Ale zanim zdążyła powiedzieć ludziom, jak ich używać,
07:26
the government discovered her efforts and sent bots to arrest her
102
446449
3510
rząd odkrył jej starania i wysłał boty,
07:29
and the other programmers.
103
449959
1930
żeby aresztowały ją i innych programistów.
07:31
The last thing Ethic used the world machine to create
104
451889
3320
Ostatnią rzeczą, którą Etyka stworzyła za pomocą maszyny świata,
07:35
was a robot that would protect the ancient device
105
455209
2790
był robot, który umieścił starożytną maszynę
07:37
from the forces of ignorance by enclosing it in a giant maze.
106
457999
4330
w olbrzymim labiryncie, żeby uchronić ją przed siłami ignorancji.
07:42
She named her creation Hedge.
107
462329
2414
Robota nazwała imieniem Hedge.
07:51
Without warning, the energy lift flickers, then fizzles out.
108
471801
3830
Bez ostrzeżenia strumień energii zamigotał i zgasł.
O tej stronie

Na tej stronie poznasz filmy z YouTube, które są przydatne do nauki języka angielskiego. Zobaczysz lekcje angielskiego prowadzone przez najlepszych nauczycieli z całego świata. Kliknij dwukrotnie na angielskie napisy wyświetlane na stronie każdego filmu, aby odtworzyć film od tego miejsca. Napisy przewijają się synchronicznie z odtwarzaniem filmu. Jeśli masz jakieś uwagi lub prośby, skontaktuj się z nami za pomocą formularza kontaktowego.

https://forms.gle/WvT1wiN1qDtmnspy7