The Chasm | Think Like A Coder, Ep 6

446,987 views ・ 2020-01-30

TED-Ed


Dubbelklik op de Engelse ondertitels hieronder om de video af te spelen.

Vertaald door: Tahlia Flora Nagekeken door: Esther van Driel
00:21
Ethic, Hedge, and Octavia stand on the edge of a bottomless ravine.
0
21937
4675
Ethic, Hedge en Octavia staan op de rand van een bodemloze ravijn.
00:26
It’s the only thing between them and the tower
1
26612
2690
Het is het enige wat tussen hen en de toren instaat,
00:29
that houses the second of three powerful artifacts.
2
29302
3648
waar de tweede van de drie krachtige artefacten wordt ondergebracht.
00:32
They’ve got a brief window of time to get across before the guards return.
3
32950
4980
Ze moeten in een korte tijdspanne naar de overkant zien te komen,
voordat de bewakers terugkeren.
00:37
With Hedge’s fuel gauge on empty he won’t be able to fly Ethic across,
4
37930
4705
Nu Hedges brandstofmeter op nul staat kan hij Ethic niet overvliegen
00:42
so the only option is to make a bridge.
5
42635
3630
en dus is een brug bouwen de enige optie.
00:46
Fortunately, the floating stacks of stones nearby are bridge components—
6
46265
4655
Gelukkig zijn de nabijgelegen zwevende stapels stenen delen van een brug --
00:50
invented by Octavia herself— called hover-blocks.
7
50920
4026
Octavia heeft ze zelf ontworpen -- die hoverblokken heten.
00:54
Activate a pile with a burst of energy,
8
54946
2552
Activeer een stapel door een energiestoot af te vuren
00:57
and they’ll self-assemble to span the ravine as Ethic walks across.
9
57498
4516
en deze zal het ravijn overbruggen terwijl Ethic naar de overkant loopt.
01:02
But there is, of course, a catch.
10
62014
3578
Maar er schuilt natuurlijk een addertje onder het gras.
01:05
The hover-blocks are only stable when they’re perfectly palindromic.
11
65592
4659
De hoverblokken zijn alleen stabiel wanneer ze perfecte palindromen zijn.
01:10
Meaning they have to form a sequence
12
70251
2260
Dit houdt in dat ze een sequentie moeten vormen
01:12
that’s the same when viewed forwards and backwards.
13
72511
4263
dat van links naar rechts gezien hetzelfde is als van rechts naar links.
01:16
The stacks start in random orders,
14
76774
2170
De stapels zijn gerangschikt in willekeurige volgorde,
01:18
but will always put themselves into a palindromic configuration
15
78944
3660
maar vormen zich altijd tot een palindromische configuratie
01:22
if they can.
16
82604
1290
als dit mogelijk is.
01:23
If they get to a point where a palindrome isn’t possible,
17
83894
2880
Als ze op een punt komen waar geen palindroom gevormd kan worden,
01:26
the bridge will collapse,
18
86774
1551
zal de brug ineenstorten
01:28
and whoever’s on it will fall into the ravine.
19
88325
3489
en zal degene die erop staat in het ravijn vallen.
01:31
Let’s look at an example.
20
91814
1638
Laten we een voorbeeld bekijken.
01:33
This stack would make itself stable.
21
93452
2460
Deze stapel maakt zichzelf stabiel.
01:35
First the A blocks hold themselves in place.
22
95912
3000
Eerst houden de A-blokken zichzelf in stand.
01:38
Then the B’s.
23
98912
1070
Dan de B-blokken.
01:39
And finally the C would nestle right between the B’s.
24
99982
3690
En uiteindelijk nestelt het C-blok zich tussen de B-blokken.
01:43
However, suppose there was one more A.
25
103672
3450
Stel, er was nog een A-blok.
01:47
First two A blocks form up, then two B’s,
26
107122
3120
Eerst worden twee A-blokken gevormd en daarna twee B-blokken,
01:50
but now the remaining C and A have nowhere to go,
27
110242
3370
maar nu kunnen de overgebleven blokken nergens geplaatst worden,
01:53
so the whole thing falls apart.
28
113612
2460
dus valt het hele ding uit elkaar.
01:56
The Node of Power enables Hedge to energize a single stack of blocks.
29
116072
4670
De Node van Macht stelt Hedge in staat
om een enkele stapel blokken te activeren.
02:00
What instructions can Ethic give Hedge to allow him to efficiently find
30
120742
4334
Welke instructies kan Ethic aan Hedge geven
zodat hij efficiënt
een stabiele stapel palindromen kan vinden en aandrijven?
02:05
and power a stable palindromic stack?
31
125076
3051
02:08
Pause now to figure it out for yourself.
32
128127
9970
[Pauzeer nu de video om het zelf uit te zoeken.]
02:18
Examples of palindromes include ANNA, RACECAR, and MADAM IM ADAM.
33
138097
5461
Voorbeelden van palindromen zijn ANNA, RACECAR en MADAM IM ADAM.
02:23
Counting the number of times a given letter appears in a palindrome
34
143558
3730
Door te tellen hoe vaak een bepaalde letter
in een palindroom voorkomt,
02:27
will reveal a helpful pattern.
35
147288
2532
zal een nuttig patroon worden onthuld.
02:29
Pause now to figure it out for yourself.
36
149820
4831
[Pauzeer nu de video om het zelf uit te zoeken.]
02:34
Let’s first look at a naïve solution to this problem.
37
154651
3490
Laten we eerst een naïeve oplossing voor dit probleem bekijken.
02:38
A naïve solution is a simple, brute-force approach that isn’t optimized—
38
158141
4708
Een naïeve oplossing is een eenvoudige, op brute kracht gebaseerde logica
die niet optimaal is,
02:42
but will get the job done.
39
162849
1980
maar wel de klus klaart.
02:44
Naïve solutions are helpful ways to analyze problems,
40
164829
3491
Naïeve oplossingen zijn nuttige methoden om problemen te analyseren
02:48
and work as stepping stones to better solutions.
41
168320
3434
en werken als opstap naar betere oplossingen.
02:51
In this case, a naïve solution is to approach a pile of blocks,
42
171754
3770
De naïeve oplossing voor dit probleem
is een stapel blokken te benaderen, alle opstellingen te proberen
02:55
try all the arrangements,
43
175524
1500
02:57
and see if one is a palindrome by reading it forward and then backwards.
44
177024
4727
en een palindroom te zoeken door deze voorwaarts en achterwaarts te lezen.
03:01
The problem with this approach
45
181751
1480
Het probleem bij deze aanpak
03:03
is that it would take a tremendous amount of time.
46
183231
2493
is dat het een enorme hoeveelheid tijd in beslag neemt.
03:05
If Hedge tried one combination every second,
47
185724
2850
Als Hedge een combinatie per seconde uitprobeert
03:08
a stack of just 10 different blocks would take him 42 days to exhaust.
48
188574
5198
zal een stapel van tien verschillende blokken
hem 42 dagen kosten om af te voeren.
03:13
That’s because the total time is a function of the factorial
49
193772
3830
Dat komt doordat de totale tijd een faculteitsfunctie is
03:17
of the number of blocks there are.
50
197602
2142
van het totale aantal bestaande blokken.
03:19
10 blocks have over 3 million combinations.
51
199744
3600
Met tien blokken kunnen er meer dan drie miljoen combinaties gemaakt worden.
03:23
What this naïve solution shows is that we need a much faster way
52
203344
4280
Deze naïeve oplossing toont aan dat we een snellere methode nodig hebben
03:27
to tell whether a pile of blocks can form a palindrome.
53
207624
3593
om te zien of een stapel blokken een palindroom kan vormen.
03:31
To start, it may be intuitively clear that a pile of all different blocks
54
211217
4716
Om te beginnen is het intuïtief duidelijk dat een stapel met verschillende blokken
03:35
will never form one.
55
215933
1420
nooit een geheel zal vormen.
03:37
Why?
56
217353
790
Waarom?
03:38
The first and last blocks can’t be the same if there are no repeats.
57
218143
5281
De eerste en laatste blokken kunnen niet hetzelfde zijn zonder herhaalde letters.
03:43
So when can a given sequence become a palindrome?
58
223424
5012
Wanneer kan een bepaalde sequentie een palindroom worden?
03:48
One way to figure that out is to analyze a few existing palindromes.
59
228436
4480
Een manier om erachter te komen is door bestaande palindromen te analyseren.
03:52
In ANNA, there are 2 A’s and 2 N’s.
60
232916
3254
In ANNA staan twee A's en twee keer een N.
03:56
RACECAR has 2 R’s, 2 A’s, 2 C’s, and 1 E.
61
236170
4886
RACECAR heeft twee keer een R, twee A's, twee C's en een E.
04:01
And MADAM IM ADAM has 4 M’s, 4 A’s, 2 D’s, and 1 I.
62
241056
6730
En MADAM IM ADAM heeft vier keer een M, vier A's, twee D's en een I.
04:07
The pattern here is that most of the letters occur
63
247786
3140
Het patroon hier is dat de meeste letters
04:10
an even number of times,
64
250926
1774
een even aantal keer voorkomen
04:12
and there’s at most 1 that occurs just once.
65
252700
3280
en er is hooguit een letter die slechts een keer voorkomt.
04:15
Is that it?
66
255980
1110
Is dat alles?
04:17
What if RACECAR had 3 E’s instead of 1?
67
257090
3260
Wat als RACECAR drie E's heeft in plaats van een?
04:20
We could tack the new E’s onto the ends and still get a palindrome,
68
260350
3710
We kunnen de nieuwe E's aan de uiteinden vastmaken en toch een palindroom maken,
04:24
so 3 is ok.
69
264060
1840
dus drie E's is goed.
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
Maar maak er drie E's en drie C's van
en de laatste C past nergens bij.
04:31
So the most generalized insight is that
71
271964
2720
Het meest gegeneraliseerde inzicht is dat hoogstens een letter
04:34
at most one letter can appear an odd number of times,
72
274684
4096
een oneven aantal keer kan voorkomen,
04:38
but the rest have to be even.
73
278780
3066
maar de rest moet een even aantal zijn.
04:41
Hedge can count the letters in each stack and organize them into a dictionary,
74
281846
4314
Hedge kan in elke stapel de letters tellen en ze ordenen tot een woordenboek,
04:46
which is a tidy way of storing information.
75
286160
2725
zodat alle informatie netjes opgeslagen wordt.
04:48
A loop could then go through and count how many times odd numbers appear.
76
288885
4579
Een loop zal alles doorlopen en het aantal oneven getallen tellen.
04:53
If there are less than 2 odd characters, the stack can be made into a palindrome.
77
293464
5500
Als er minder dan twee oneven tekens zijn
kan de stapel omgebouwd worden tot een palindroom.
04:58
This approach is much, much faster than the naïve solution.
78
298964
3720
Deze aanpak werkt veel sneller dan de naïeve oplossing.
05:02
Instead of factorial time, it takes linear time.
79
302684
3420
In plaats van in factoriale tijd wordt deze in lineaire tijd uitgevoerd.
05:06
That’s where the time increases
80
306104
1570
Dat is waar de tijd oploopt in verhouding tot het aantal bestaande blokken.
05:07
in proportion to the number of blocks there are.
81
307674
2710
05:10
Now write a loop for Hedge to approach the piles individually,
82
310384
3990
Noteer nu een loop voor Hedge om de stapels een voor een te benaderen,
05:14
and stop when he finds a good one, and you’ll be ready to go.
83
314374
4155
stop wanneer hij een goede gevonden heeft en je bent klaar om te gaan.
05:18
Here’s what happens:
84
318529
1389
Dit is wat er gebeurt:
05:19
Hedge is fast, but there are so many piles it takes a long time.
85
319918
4046
Hedge is snel, maar er zijn veel stapels waardoor het proces hem veel tijd kost.
05:23
Too long.
86
323964
1356
Teveel tijd.
06:17
Ethic and Hedge are safe.
87
377897
1680
Ethic en Hedge zijn veilig aangekomen.
06:19
But Octavia is not so lucky.
88
379577
2423
Maar Octavia heeft minder geluk.
Over deze website

Deze site laat u kennismaken met YouTube-video's die nuttig zijn om Engels te leren. U ziet Engelse lessen gegeven door topdocenten uit de hele wereld. Dubbelklik op de Engelse ondertitels op elke videopagina om de video af te spelen. De ondertitels scrollen synchroon met het afspelen van de video. Heeft u opmerkingen of verzoeken, neem dan contact met ons op via dit contactformulier.

https://forms.gle/WvT1wiN1qDtmnspy7