De afgrond | Denken als een programmeur, Afl. 6
-
0:22 - 0:27Ethic, Hedge en Octavia
staan op de rand van een bodemloze ravijn. -
0:27 - 0:29Het is het enige wat tussen hen
en de toren instaat, -
0:29 - 0:33waar de tweede van de drie krachtige
artefacten wordt ondergebracht. -
0:33 - 0:36Ze moeten in een korte tijdspanne
naar de overkant zien te komen, -
0:36 - 0:38voordat de bewakers terugkeren.
-
0:38 - 0:43Nu Hedges brandstofmeter op nul staat
kan hij Ethic niet overvliegen -
0:43 - 0:46en dus is een brug bouwen de enige optie.
-
0:46 - 0:51Gelukkig zijn de nabijgelegen zwevende
stapels stenen delen van een brug -- -
0:51 - 0:55Octavia heeft ze zelf ontworpen --
die hoverblokken heten. -
0:55 - 0:58Activeer een stapel
door een energiestoot af te vuren -
0:58 - 1:02en deze zal het ravijn overbruggen
terwijl Ethic naar de overkant loopt. -
1:02 - 1:05Maar er schuilt natuurlijk
een addertje onder het gras. -
1:06 - 1:10De hoverblokken zijn alleen stabiel
wanneer ze perfecte palindromen zijn. -
1:10 - 1:13Dit houdt in dat ze
een sequentie moeten vormen -
1:13 - 1:17dat van links naar rechts gezien
hetzelfde is als van rechts naar links. -
1:17 - 1:19De stapels zijn gerangschikt
in willekeurige volgorde, -
1:19 - 1:23maar vormen zich altijd
tot een palindromische configuratie -
1:23 - 1:24als dit mogelijk is.
-
1:24 - 1:27Als ze op een punt komen
waar geen palindroom gevormd kan worden, -
1:27 - 1:28zal de brug ineenstorten
-
1:28 - 1:32en zal degene die erop staat
in het ravijn vallen. -
1:32 - 1:33Laten we een voorbeeld bekijken.
-
1:33 - 1:36Deze stapel maakt zichzelf stabiel.
-
1:36 - 1:39Eerst houden de A-blokken
zichzelf in stand. -
1:39 - 1:40Dan de B-blokken.
-
1:40 - 1:44En uiteindelijk nestelt het C-blok
zich tussen de B-blokken. -
1:44 - 1:47Stel, er was nog een A-blok.
-
1:47 - 1:50Eerst worden twee A-blokken gevormd
en daarna twee B-blokken, -
1:50 - 1:54maar nu kunnen de overgebleven blokken
nergens geplaatst worden, -
1:54 - 1:56dus valt het hele ding uit elkaar.
-
1:56 - 1:58De Node van Macht stelt Hedge in staat
-
1:58 - 2:01om een enkele stapel blokken te activeren.
-
2:01 - 2:03Welke instructies
kan Ethic aan Hedge geven -
2:03 - 2:05zodat hij efficiënt
-
2:05 - 2:08een stabiele stapel palindromen
kan vinden en aandrijven? -
2:08 - 2:12[Pauzeer nu de video
om het zelf uit te zoeken.] -
2:18 - 2:23Voorbeelden van palindromen zijn ANNA,
RACECAR en MADAM IM ADAM. -
2:24 - 2:26Door te tellen hoe vaak
een bepaalde letter -
2:26 - 2:27in een palindroom voorkomt,
-
2:27 - 2:30zal een nuttig patroon worden onthuld.
-
2:30 - 2:34[Pauzeer nu de video
om het zelf uit te zoeken.] -
2:35 - 2:38Laten we eerst een naïeve oplossing
voor dit probleem bekijken. -
2:38 - 2:42Een naïeve oplossing is een eenvoudige,
op brute kracht gebaseerde logica -
2:42 - 2:43die niet optimaal is,
-
2:43 - 2:45maar wel de klus klaart.
-
2:45 - 2:48Naïeve oplossingen zijn nuttige methoden
om problemen te analyseren -
2:48 - 2:52en werken als opstap
naar betere oplossingen. -
2:52 - 2:54De naïeve oplossing voor dit probleem
-
2:54 - 2:57is een stapel blokken te benaderen,
alle opstellingen te proberen -
2:57 - 3:01en een palindroom te zoeken door deze
voorwaarts en achterwaarts te lezen. -
3:02 - 3:03Het probleem bij deze aanpak
-
3:03 - 3:06is dat het een enorme hoeveelheid
tijd in beslag neemt. -
3:06 - 3:09Als Hedge een combinatie
per seconde uitprobeert -
3:09 - 3:11zal een stapel van
tien verschillende blokken -
3:11 - 3:14hem 42 dagen kosten om af te voeren.
-
3:14 - 3:18Dat komt doordat de totale tijd
een faculteitsfunctie is -
3:18 - 3:20van het totale aantal bestaande blokken.
-
3:20 - 3:23Met tien blokken kunnen er meer dan
drie miljoen combinaties gemaakt worden. -
3:23 - 3:28Deze naïeve oplossing toont aan
dat we een snellere methode nodig hebben -
3:28 - 3:31om te zien of een stapel blokken
een palindroom kan vormen. -
3:31 - 3:36Om te beginnen is het intuïtief duidelijk
dat een stapel met verschillende blokken -
3:36 - 3:37nooit een geheel zal vormen.
-
3:37 - 3:38Waarom?
-
3:38 - 3:43De eerste en laatste blokken kunnen niet
hetzelfde zijn zonder herhaalde letters. -
3:44 - 3:47Wanneer kan een bepaalde sequentie
een palindroom worden? -
3:48 - 3:53Een manier om erachter te komen is
door bestaande palindromen te analyseren. -
3:53 - 3:56In ANNA staan twee A's en twee keer een N.
-
3:56 - 4:01RACECAR heeft twee keer een R,
twee A's, twee C's en een E. -
4:01 - 4:07En MADAM IM ADAM heeft vier keer een M,
vier A's, twee D's en een I. -
4:08 - 4:10Het patroon hier is dat de meeste letters
-
4:10 - 4:13een even aantal keer voorkomen
-
4:13 - 4:16en er is hooguit een letter
die slechts een keer voorkomt. -
4:16 - 4:17Is dat alles?
-
4:17 - 4:20Wat als RACECAR drie E's heeft
in plaats van een? -
4:20 - 4:24We kunnen de nieuwe E's aan de uiteinden
vastmaken en toch een palindroom maken, -
4:24 - 4:26dus drie E's is goed.
-
4:26 - 4:29Maar maak er drie E's en drie C's van
-
4:29 - 4:32en de laatste C past nergens bij.
-
4:32 - 4:36Het meest gegeneraliseerde inzicht
is dat hoogstens een letter -
4:36 - 4:39een oneven aantal keer kan voorkomen,
-
4:39 - 4:41maar de rest moet een even aantal zijn.
-
4:42 - 4:46Hedge kan in elke stapel de letters tellen
en ze ordenen tot een woordenboek, -
4:46 - 4:49zodat alle informatie
netjes opgeslagen wordt. -
4:49 - 4:53Een loop zal alles doorlopen
en het aantal oneven getallen tellen. -
4:54 - 4:56Als er minder dan twee oneven tekens zijn
-
4:56 - 4:59kan de stapel omgebouwd worden
tot een palindroom. -
4:59 - 5:03Deze aanpak werkt veel sneller
dan de naïeve oplossing. -
5:03 - 5:06In plaats van in factoriale tijd
wordt deze in lineaire tijd uitgevoerd. -
5:06 - 5:10Dat is waar de tijd oploopt in verhouding
tot het aantal bestaande blokken. -
5:10 - 5:14Noteer nu een loop voor Hedge
om de stapels een voor een te benaderen, -
5:14 - 5:19stop wanneer hij een goede gevonden heeft
en je bent klaar om te gaan. -
5:19 - 5:20Dit is wat er gebeurt:
-
5:20 - 5:24Hedge is snel, maar er zijn veel stapels
waardoor het proces hem veel tijd kost. -
5:24 - 5:25Teveel tijd.
-
6:18 - 6:20Ethic en Hedge zijn veilig aangekomen.
-
6:20 - 6:22Maar Octavia heeft minder geluk.
- Title:
- De afgrond | Denken als een programmeur, Afl. 6
- Speaker:
- Alex Rosenthal
- Description:
-
Bekijk de volledige les: https://ed.ted.com/lessons/the-chasm-think-like-a-coder-ep-6
Dit is aflevering zes van onze animatieserie 'Denken als een programmeur.' Dit tiendelige verhaal gaat over een meisje genaamd Ethic dat met haar robotmaatje Hedge de wereld probeert te redden. De twee beginnen hun zoektocht naar drie artefacten en zullen een weg moeten banen door een reeks programmeerpuzzels.
Les door Alex Rosenthal, geregisseerd door Kozmonot Animation Studio.
- Video Language:
- English
- Team:
closed TED
- Project:
- TED-Ed
- Duration:
- 06:24
![]() |
Esther van Driel approved Dutch subtitles for The Chasm | Think Like A Coder, Ep 6 | |
![]() |
Esther van Driel accepted Dutch subtitles for The Chasm | Think Like A Coder, Ep 6 | |
![]() |
Esther van Driel declined Dutch subtitles for The Chasm | Think Like A Coder, Ep 6 | |
![]() |
Esther van Driel edited Dutch subtitles for The Chasm | Think Like A Coder, Ep 6 | |
![]() |
Esther van Driel edited Dutch subtitles for The Chasm | Think Like A Coder, Ep 6 | |
![]() |
Esther van Driel edited Dutch subtitles for The Chasm | Think Like A Coder, Ep 6 | |
![]() |
Tahlia Flora edited Dutch subtitles for The Chasm | Think Like A Coder, Ep 6 | |
![]() |
Tahlia Flora edited Dutch subtitles for The Chasm | Think Like A Coder, Ep 6 |