The Chasm | Think Like A Coder, Ep 6

449,226 views ・ 2020-01-30

TED-Ed


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

Tłumaczenie: Kornelia Szyszka Korekta: Rysia Wand
00:21
Ethic, Hedge, and Octavia stand on the edge of a bottomless ravine.
0
21937
4675
Etyka, Hedge i Octavia stoją na skraju jaru bez dna.
00:26
It’s the only thing between them and the tower
1
26612
2690
To jedyne, co dzieli ich od wieży,
00:29
that houses the second of three powerful artifacts.
2
29302
3648
która mieści drugi z trzech potężnych artefaktów.
00:32
They’ve got a brief window of time to get across before the guards return.
3
32950
4980
Mają tylko chwilę, by do niej dotrzeć przed powrotem straży.
00:37
With Hedge’s fuel gauge on empty he won’t be able to fly Ethic across,
4
37930
4705
Z prawie pustym zbiornikiem paliwa Hedge nie może zabrać Etyki na drugą stronę,
00:42
so the only option is to make a bridge.
5
42635
3630
jedyną opcją jest budowa mostu.
00:46
Fortunately, the floating stacks of stones nearby are bridge components—
6
46265
4655
Na szczęście unoszące się nieopodal stosy kamieni to elementy mostu.
00:50
invented by Octavia herself— called hover-blocks.
7
50920
4026
Wynalazła je Octavia i nazwała wiszącymi kamieniami.
00:54
Activate a pile with a burst of energy,
8
54946
2552
Stos aktywuje się za pomocą energii,
00:57
and they’ll self-assemble to span the ravine as Ethic walks across.
9
57498
4516
a elementy same ułożą się nad jarem z każdym krokiem Etyki.
01:02
But there is, of course, a catch.
10
62014
3578
Jest oczywiście pewien haczyk.
01:05
The hover-blocks are only stable when they’re perfectly palindromic.
11
65592
4659
Wiszące kamienie są stabilne jedynie, gdy są całkowicie symetryczne.
01:10
Meaning they have to form a sequence
12
70251
2260
Co oznacza, że muszą stworzyć sekwencję,
01:12
that’s the same when viewed forwards and backwards.
13
72511
4263
która jest taka sama z przodu i z tyłu.
01:16
The stacks start in random orders,
14
76774
2170
Pierwszy blok ze sterty jest losowy,
01:18
but will always put themselves into a palindromic configuration
15
78944
3660
ale kolejne nakładają się na siebie, zachowując układ palindromu
01:22
if they can.
16
82604
1290
jeśli się da.
01:23
If they get to a point where a palindrome isn’t possible,
17
83894
2880
Jeśli dotrą tam, gdzie palindrom nie jest możliwy,
01:26
the bridge will collapse,
18
86774
1551
most się zawali,
01:28
and whoever’s on it will fall into the ravine.
19
88325
3489
a ten, kto na nim stoi, spadnie do jaru.
01:31
Let’s look at an example.
20
91814
1638
Spójrzmy na przykład.
01:33
This stack would make itself stable.
21
93452
2460
Ten stos stałby się stabilny.
01:35
First the A blocks hold themselves in place.
22
95912
3000
Najpierw pozycję zajmują bloki A.
01:38
Then the B’s.
23
98912
1070
Potem B.
01:39
And finally the C would nestle right between the B’s.
24
99982
3690
Na końcu blok C usadowiłby się pomiędzy dwoma B.
01:43
However, suppose there was one more A.
25
103672
3450
Załóżmy jednak, że jest jeszcze jeden blok A.
01:47
First two A blocks form up, then two B’s,
26
107122
3120
Najpierw rozkładają się dwa bloki A, potem B,
01:50
but now the remaining C and A have nowhere to go,
27
110242
3370
ale w ten sposób bloki A i C nie mają gdzie się podziać,
01:53
so the whole thing falls apart.
28
113612
2460
więc całość się rozpada.
01:56
The Node of Power enables Hedge to energize a single stack of blocks.
29
116072
4670
Dzięki Węzłowi Mocy Hedge może aktywować pojedynczy stos bloków.
02:00
What instructions can Ethic give Hedge to allow him to efficiently find
30
120742
4334
Jaką instrukcję powinna dać Etyka, by Hedge sprawnie odnalazł
02:05
and power a stable palindromic stack?
31
125076
3051
i uruchomił stabilny stos palindromiczny?
02:08
Pause now to figure it out for yourself.
32
128127
9970
Zatrzymaj, by znaleźć rozwiązanie.
02:18
Examples of palindromes include ANNA, RACECAR, and MADAM IM ADAM.
33
138097
5461
Przykłady palindromów to ANNA, RACECAR czy MADAM IM ADAM.
02:23
Counting the number of times a given letter appears in a palindrome
34
143558
3730
Liczenie, jak często dana litera pojawia się w palindromie,
02:27
will reveal a helpful pattern.
35
147288
2532
ujawni przydatny wzorzec.
02:29
Pause now to figure it out for yourself.
36
149820
4831
Zatrzymaj, by znaleźć rozwiązanie.
02:34
Let’s first look at a naïve solution to this problem.
37
154651
3490
Spróbujmy najpierw rozwiązania naiwnego.
02:38
A naïve solution is a simple, brute-force approach that isn’t optimized—
38
158141
4708
Rozwiązanie naiwne to podejście proste, "na siłę", które nie jest zoptymalizowane,
02:42
but will get the job done.
39
162849
1980
ale wykona zadanie.
02:44
Naïve solutions are helpful ways to analyze problems,
40
164829
3491
Rozwiązania naiwne przydają się do analizowania problemu
02:48
and work as stepping stones to better solutions.
41
168320
3434
i jako podwaliny dla lepszych rozwiązań.
02:51
In this case, a naïve solution is to approach a pile of blocks,
42
171754
3770
W tym przypadku naiwnym rozwiązaniem jest budowa stosu bloków
02:55
try all the arrangements,
43
175524
1500
i próba wszystkich możliwych kombinacji,
02:57
and see if one is a palindrome by reading it forward and then backwards.
44
177024
4727
by znaleźć palindrom czytając każdą wprzód i w tył.
03:01
The problem with this approach
45
181751
1480
Niestety to podejście
03:03
is that it would take a tremendous amount of time.
46
183231
2493
zajęłoby ogromnie dużo czasu.
03:05
If Hedge tried one combination every second,
47
185724
2850
Gdyby Hedge próbował jednej kombinacji na sekundę,
03:08
a stack of just 10 different blocks would take him 42 days to exhaust.
48
188574
5198
stos zaledwie 10 różnych bloków zająłby mu 42 dni.
03:13
That’s because the total time is a function of the factorial
49
193772
3830
To dlatego, że całkowity czas to silnia
03:17
of the number of blocks there are.
50
197602
2142
liczby dostępnych bloków.
03:19
10 blocks have over 3 million combinations.
51
199744
3600
10 bloków to ponad 3 miliony kombinacji.
03:23
What this naïve solution shows is that we need a much faster way
52
203344
4280
Rozwiązanie naiwne pokazuje, że potrzeba znacznie szybszego sposobu,
03:27
to tell whether a pile of blocks can form a palindrome.
53
207624
3593
by sprawdzić czy dany stos może utworzyć palindrom.
03:31
To start, it may be intuitively clear that a pile of all different blocks
54
211217
4716
Po pierwsze, intuicja podpowiada, że stos 10 różnych bloków
03:35
will never form one.
55
215933
1420
nigdy nie utworzy palindromu.
03:37
Why?
56
217353
790
Dlaczego?
03:38
The first and last blocks can’t be the same if there are no repeats.
57
218143
5281
Pierwszy i ostatni blok nie będą identyczne,
jeśli nie ma dwóch takich samych bloków.
03:43
So when can a given sequence become a palindrome?
58
223424
5012
Kiedy więc dana sekwencja utworzy palindrom?
03:48
One way to figure that out is to analyze a few existing palindromes.
59
228436
4480
Jednym ze sposobów, by to ustalić jest analiza istniejących palindromów.
03:52
In ANNA, there are 2 A’s and 2 N’s.
60
232916
3254
W ANNA są 2 A, 2 N.
03:56
RACECAR has 2 R’s, 2 A’s, 2 C’s, and 1 E.
61
236170
4886
W słowie RACECAR mamy 2 R, 2 A, 2C i 1 E.
04:01
And MADAM IM ADAM has 4 M’s, 4 A’s, 2 D’s, and 1 I.
62
241056
6730
Zwrot MADAM IM ADAM ma 4 M, 4 A, 2 D i 1 I.
04:07
The pattern here is that most of the letters occur
63
247786
3140
Schemat ten pokazuje, że większość liter pojawia się
04:10
an even number of times,
64
250926
1774
parzystą liczbę razy
04:12
and there’s at most 1 that occurs just once.
65
252700
3280
i najwyżej 1 pojawia się tylko raz.
04:15
Is that it?
66
255980
1110
Czy to wystarczy?
04:17
What if RACECAR had 3 E’s instead of 1?
67
257090
3260
Co by było gdyby słowo RACECAR miało 3 E zamiast 1?
04:20
We could tack the new E’s onto the ends and still get a palindrome,
68
260350
3710
Można by dodać E na każdym z końców i nadal utworzyć palindrom,
04:24
so 3 is ok.
69
264060
1840
więc 3 jest ok.
04:25
But make that 3 E’s and 3 C’s, and there’s nowhere for the last C to go.
70
265900
6064
Ale jeśli będziemy mieć 3 E i 3 C, ostatnie C nie będzie miało miejsca.
04:31
So the most generalized insight is that
71
271964
2720
Tak więc, uogólniając,
04:34
at most one letter can appear an odd number of times,
72
274684
4096
najwyżej jedna litera może pojawić się nieparzystą ilość razy,
04:38
but the rest have to be even.
73
278780
3066
reszta musi być parzysta.
04:41
Hedge can count the letters in each stack and organize them into a dictionary,
74
281846
4314
Hedge może policzyć litery w każdym stosie i uporządkować je w słownik,
04:46
which is a tidy way of storing information.
75
286160
2725
co jest schludną metodą przechowywania informacji.
04:48
A loop could then go through and count how many times odd numbers appear.
76
288885
4579
Za pomocą pętli można policzyć ile razy pojawia się nieparzysta liczba.
04:53
If there are less than 2 odd characters, the stack can be made into a palindrome.
77
293464
5500
Jeśli są mniej niż 2 nieparzyste liczby, stos może stworzyć palindrom.
04:58
This approach is much, much faster than the naïve solution.
78
298964
3720
To podejście jest znacznie szybsze, niż rozwiązanie naiwne.
05:02
Instead of factorial time, it takes linear time.
79
302684
3420
Zamiast złożoności typu silnia, mamy złożoność liniową.
05:06
That’s where the time increases
80
306104
1570
Czasu przybywa
05:07
in proportion to the number of blocks there are.
81
307674
2710
proporcjonalnie do liczby bloków, którymi dysponujemy.
05:10
Now write a loop for Hedge to approach the piles individually,
82
310384
3990
Wystarczy napisać pętlę, dzięki której Hedge podejdzie do każdego stosu osobno
05:14
and stop when he finds a good one, and you’ll be ready to go.
83
314374
4155
i zatrzyma się, gdy znajdzie właściwy.
05:18
Here’s what happens:
84
318529
1389
Oto, co się dzieje:
05:19
Hedge is fast, but there are so many piles it takes a long time.
85
319918
4046
Hedge jest szybki, ale taka liczba stosów zabiera dużo czasu.
05:23
Too long.
86
323964
1356
Za dużo.
06:17
Ethic and Hedge are safe.
87
377897
1680
Etyka i Hedge są bezpieczni.
06:19
But Octavia is not so lucky.
88
379577
2423
Ale Octavia nie ma tyle szczęścia.
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