Otchłań | Myśl jak programista, odc.6
-
0:22 - 0:27Etyka, Hedge i Octavia
stoją na skraju jaru bez dna. -
0:27 - 0:29To jedyne, co dzieli ich od wieży,
-
0:29 - 0:33która mieści drugi z trzech
potężnych artefaktów. -
0:33 - 0:38Mają tylko chwilę, by do niej dotrzeć
przed powrotem straży. -
0:38 - 0:43Z prawie pustym zbiornikiem paliwa Hedge
nie może zabrać Etyki na drugą stronę, -
0:43 - 0:46jedyną opcją jest budowa mostu.
-
0:46 - 0:51Na szczęście unoszące się nieopodal
stosy kamieni to elementy mostu. -
0:51 - 0:55Wynalazła je Octavia
i nazwała wiszącymi kamieniami. -
0:55 - 0:57Stos aktywuje się za pomocą energii,
-
0:57 - 1:02a elementy same ułożą się nad jarem
z każdym krokiem Etyki. -
1:02 - 1:06Jest oczywiście pewien haczyk.
-
1:06 - 1:10Wiszące kamienie są stabilne jedynie,
gdy są całkowicie symetryczne. -
1:10 - 1:13Co oznacza, że muszą stworzyć sekwencję,
-
1:13 - 1:17która jest taka sama z przodu i z tyłu.
-
1:17 - 1:19Pierwszy blok ze sterty jest losowy,
-
1:19 - 1:23ale kolejne nakładają się na siebie,
zachowując układ palindromu -
1:23 - 1:24jeśli się da.
-
1:24 - 1:27Jeśli dotrą tam, gdzie palindrom
nie jest możliwy, -
1:27 - 1:28most się zawali,
-
1:28 - 1:32a ten, kto na nim stoi, spadnie do jaru.
-
1:32 - 1:33Spójrzmy na przykład.
-
1:33 - 1:36Ten stos stałby się stabilny.
-
1:36 - 1:39Najpierw pozycję zajmują bloki A.
-
1:39 - 1:40Potem B.
-
1:40 - 1:44Na końcu blok C
usadowiłby się pomiędzy dwoma B. -
1:44 - 1:47Załóżmy jednak,
że jest jeszcze jeden blok A. -
1:47 - 1:50Najpierw rozkładają się
dwa bloki A, potem B, -
1:50 - 1:54ale w ten sposób bloki A i C
nie mają gdzie się podziać, -
1:54 - 1:56więc całość się rozpada.
-
1:56 - 2:01Dzięki Węzłowi Mocy Hedge
może aktywować pojedynczy stos bloków. -
2:01 - 2:05Jaką instrukcję powinna dać Etyka,
by Hedge sprawnie odnalazł -
2:05 - 2:08i uruchomił stabilny stos palindromiczny?
-
2:08 - 2:18Zatrzymaj, by znaleźć rozwiązanie.
-
2:18 - 2:24Przykłady palindromów to ANNA,
RACECAR czy MADAM IM ADAM. -
2:24 - 2:27Liczenie, jak często dana litera
pojawia się w palindromie, -
2:27 - 2:30ujawni przydatny wzorzec.
-
2:30 - 2:35Zatrzymaj, by znaleźć rozwiązanie.
-
2:35 - 2:38Spróbujmy najpierw rozwiązania naiwnego.
-
2:38 - 2:43Rozwiązanie naiwne to podejście proste,
"na siłę", które nie jest zoptymalizowane, -
2:43 - 2:45ale wykona zadanie.
-
2:45 - 2:48Rozwiązania naiwne przydają się
do analizowania problemu -
2:48 - 2:52i jako podwaliny dla lepszych rozwiązań.
-
2:52 - 2:56W tym przypadku naiwnym rozwiązaniem
jest budowa stosu bloków -
2:56 - 2:58i próba wszystkich możliwych kombinacji,
-
2:58 - 3:02by znaleźć palindrom
czytając każdą wprzód i w tył. -
3:02 - 3:03Niestety to podejście
-
3:03 - 3:06zajęłoby ogromnie dużo czasu.
-
3:06 - 3:09Gdyby Hedge próbował
jednej kombinacji na sekundę, -
3:09 - 3:14stos zaledwie 10 różnych bloków
zająłby mu 42 dni. -
3:14 - 3:18To dlatego, że całkowity czas to silnia
-
3:18 - 3:20liczby dostępnych bloków.
-
3:20 - 3:2310 bloków to ponad 3 miliony kombinacji.
-
3:23 - 3:28Rozwiązanie naiwne pokazuje,
że potrzeba znacznie szybszego sposobu, -
3:28 - 3:31by sprawdzić czy dany stos może
utworzyć palindrom. -
3:31 - 3:36Po pierwsze, intuicja podpowiada,
że stos 10 różnych bloków -
3:36 - 3:37nigdy nie utworzy palindromu.
-
3:37 - 3:38Dlaczego?
-
3:38 - 3:41Pierwszy i ostatni blok
nie będą identyczne, -
3:41 - 3:43jeśli nie ma dwóch takich samych bloków.
-
3:43 - 3:48Kiedy więc dana sekwencja
utworzy palindrom? -
3:48 - 3:53Jednym ze sposobów, by to ustalić
jest analiza istniejących palindromów. -
3:53 - 3:56W ANNA są 2 A, 2 N.
-
3:56 - 4:01W słowie RACECAR mamy 2 R, 2 A, 2C i 1 E.
-
4:01 - 4:08Zwrot MADAM IM ADAM
ma 4 M, 4 A, 2 D i 1 I. -
4:08 - 4:11Schemat ten pokazuje,
że większość liter pojawia się -
4:11 - 4:13parzystą liczbę razy
-
4:13 - 4:16i najwyżej 1 pojawia się tylko raz.
-
4:16 - 4:17Czy to wystarczy?
-
4:17 - 4:20Co by było gdyby słowo RACECAR
miało 3 E zamiast 1? -
4:20 - 4:24Można by dodać E na każdym z końców
i nadal utworzyć palindrom, -
4:24 - 4:26więc 3 jest ok.
-
4:26 - 4:32Ale jeśli będziemy mieć 3 E i 3 C,
ostatnie C nie będzie miało miejsca. -
4:32 - 4:35Tak więc, uogólniając,
-
4:35 - 4:39najwyżej jedna litera może pojawić się
nieparzystą ilość razy, -
4:39 - 4:42reszta musi być parzysta.
-
4:42 - 4:46Hedge może policzyć litery w każdym stosie
i uporządkować je w słownik, -
4:46 - 4:49co jest schludną metodą
przechowywania informacji. -
4:49 - 4:53Za pomocą pętli można policzyć
ile razy pojawia się nieparzysta liczba. -
4:53 - 4:59Jeśli są mniej niż 2 nieparzyste liczby,
stos może stworzyć palindrom. -
4:59 - 5:03To podejście jest znacznie szybsze,
niż rozwiązanie naiwne. -
5:03 - 5:06Zamiast złożoności typu silnia,
mamy złożoność liniową. -
5:06 - 5:08Czasu przybywa
-
5:08 - 5:10proporcjonalnie do liczby bloków,
którymi dysponujemy. -
5:10 - 5:14Wystarczy napisać pętlę, dzięki której
Hedge podejdzie do każdego stosu osobno -
5:14 - 5:19i zatrzyma się, gdy znajdzie właściwy.
-
5:19 - 5:20Oto, co się dzieje:
-
5:20 - 5:24Hedge jest szybki, ale taka liczba
stosów zabiera dużo czasu. -
5:24 - 5:25Za dużo.
-
6:18 - 6:20Etyka i Hedge są bezpieczni.
-
6:20 - 6:22Ale Octavia nie ma tyle szczęścia.
- Title:
- Otchłań | Myśl jak programista, odc.6
- Speaker:
- Alex Rosenthal
- Description:
-
Cała lekcja dostępna tutaj: https://ed.ted.com/lessons/the-chasm-think-like-a-coder-ep-6
To szósty odcinek naszej animowanej serii „Myśl jak programista".
Ta 10-odcinkowa historia pokazuje losy dziewczyny o imieniu Etyka
i towarzyszącego jej robota, Hedga. Razem próbują uratować świat. Wyruszają na wyprawę, by zebrać trzy artefakty. Po drodze muszą jednak rozwiązać serię programistycznych zagadek.Lekcja: Alexa Rosenthala, reżyseria: Kozmonot Animation Studio.
- Video Language:
- English
- Team:
- closed TED
- Project:
- TED-Ed
- Duration:
- 06:24
Rysia Wand edited Polish subtitles for The Chasm | Think Like A Coder, Ep 6 | ||
Rysia Wand approved Polish subtitles for The Chasm | Think Like A Coder, Ep 6 | ||
Rysia Wand accepted Polish subtitles for The Chasm | Think Like A Coder, Ep 6 | ||
Rysia Wand edited Polish subtitles for The Chasm | Think Like A Coder, Ep 6 | ||
Kornelia Szyszka edited Polish subtitles for The Chasm | Think Like A Coder, Ep 6 | ||
Kornelia Szyszka edited Polish subtitles for The Chasm | Think Like A Coder, Ep 6 | ||
Kornelia Szyszka edited Polish subtitles for The Chasm | Think Like A Coder, Ep 6 | ||
Kornelia Szyszka edited Polish subtitles for The Chasm | Think Like A Coder, Ep 6 |