The Chasm | Think Like A Coder, Ep 6

446,987 views ・ 2020-01-30

TED-Ed


Por favor, faça duplo clique nas legendas em inglês abaixo para reproduzir o vídeo.

Tradutor: Margarida Ferreira Revisora: Isabel Vaz Belchior
00:21
Ethic, Hedge, and Octavia stand on the edge of a bottomless ravine.
0
21937
4675
A Ética, o Hedge e a Otávia encontram-se na borda duma ravina sem fundo.
00:26
It’s the only thing between them and the tower
1
26612
2690
É a única coisa entre eles e a torre
00:29
that houses the second of three powerful artifacts.
2
29302
3648
onde se encontra o segundo de três poderosos artefactos.
00:32
They’ve got a brief window of time to get across before the guards return.
3
32950
4980
Têm um breve período de tempo para atravessar,
antes de os guardas voltarem.
00:37
With Hedge’s fuel gauge on empty he won’t be able to fly Ethic across,
4
37930
4705
O combustível do Hedge está esgotado, não pode transportar a Ética pelo ar,
00:42
so the only option is to make a bridge.
5
42635
3630
por isso, a única opção é fazer uma ponte.
00:46
Fortunately, the floating stacks of stones nearby are bridge components—
6
46265
4655
Felizmente, as pedras que flutuam à volta deles são elementos duma ponte
00:50
invented by Octavia herself— called hover-blocks.
7
50920
4026
— inventada pela Otávia — chamados "blocos flutuantes".
00:54
Activate a pile with a burst of energy,
8
54946
2552
Se ativarmos uma pilha com uma descarga de energia,
00:57
and they’ll self-assemble to span the ravine as Ethic walks across.
9
57498
4516
elas montam-se sozinhas sobre a ravina que a Ética tem de atravessar.
01:02
But there is, of course, a catch.
10
62014
3578
Mas, claro, há um inconveniente.
01:05
The hover-blocks are only stable when they’re perfectly palindromic.
11
65592
4659
Os blocos flutuantes só se mantêm estáveis se formarem perfeitas capicuas.
01:10
Meaning they have to form a sequence
12
70251
2260
Ou seja, têm de formar uma sequência que seja igual
01:12
that’s the same when viewed forwards and backwards.
13
72511
4263
quer vista da frente para trás ou de trás para a frente.
01:16
The stacks start in random orders,
14
76774
2170
As pilhas começam numa ordem aleatória,
01:18
but will always put themselves into a palindromic configuration
15
78944
3660
mas colocam-se sempre numa configuração de capicuas
01:22
if they can.
16
82604
1290
se puderem.
01:23
If they get to a point where a palindrome isn’t possible,
17
83894
2880
Se chegarem a um ponto em que não seja possível uma capicua,
01:26
the bridge will collapse,
18
86774
1551
a ponte desabará
01:28
and whoever’s on it will fall into the ravine.
19
88325
3489
e quem quer que se encontre nela cairá na ravina.
01:31
Let’s look at an example.
20
91814
1638
Vejamos um exemplo.
01:33
This stack would make itself stable.
21
93452
2460
Esta pilha configura-se de forma estável.
01:35
First the A blocks hold themselves in place.
22
95912
3000
Primeiro, os blocos A colocam-se no seu lugar.
01:38
Then the B’s.
23
98912
1070
Depois, os blocos B.
01:39
And finally the C would nestle right between the B’s.
24
99982
3690
E por fim, os C encaixam-se entre os B.
01:43
However, suppose there was one more A.
25
103672
3450
Contudo, suponhamos que havia mais um A.
01:47
First two A blocks form up, then two B’s,
26
107122
3120
Primeiro formam-se dois blocos A, depois dois blocos B,
01:50
but now the remaining C and A have nowhere to go,
27
110242
3370
mas agora, os restantes blocos C e A não têm onde se encaixar,
01:53
so the whole thing falls apart.
28
113612
2460
e assim, tudo se desmorona.
01:56
The Node of Power enables Hedge to energize a single stack of blocks.
29
116072
4670
O Nódulo do Poder permite ao Hedge fornecer energia a uma só pilha de blocos.
02:00
What instructions can Ethic give Hedge to allow him to efficiently find
30
120742
4334
Que instruções deve a Ética dar ao Hedge para ele encontrar eficazmente
02:05
and power a stable palindromic stack?
31
125076
3051
e fornecer energia a uma pilha em forma de capicua?
02:08
Pause now to figure it out for yourself.
32
128127
9970
[Suspende aqui o vídeo para resolveres sozinho.]
02:18
Examples of palindromes include ANNA, RACECAR, and MADAM IM ADAM.
33
138097
5461
São exemplos de capicuas ANNA, RACECAR e MADAM IM ADAM.
02:23
Counting the number of times a given letter appears in a palindrome
34
143558
3730
Contar o número de vezes que uma letra aparece numa capicua
02:27
will reveal a helpful pattern.
35
147288
2532
revela um padrão útil.
02:29
Pause now to figure it out for yourself.
36
149820
4831
[Suspende aqui o vídeo para resolveres sozinho]
02:34
Let’s first look at a naïve solution to this problem.
37
154651
3490
Primeiro, vejamos uma solução ingénua para este problema.
02:38
A naïve solution is a simple, brute-force approach that isn’t optimized—
38
158141
4708
Uma solução ingénua é uma abordagem simples que não está otimizada
02:42
but will get the job done.
39
162849
1980
— mas consegue realizar a tarefa.
02:44
Naïve solutions are helpful ways to analyze problems,
40
164829
3491
As soluções ingénuas são formas úteis de analisar um problema
02:48
and work as stepping stones to better solutions.
41
168320
3434
e funcionam como degraus para melhores soluções.
02:51
In this case, a naïve solution is to approach a pile of blocks,
42
171754
3770
Neste caso, uma solução ingénua é abordar uma pilha de blocos,
02:55
try all the arrangements,
43
175524
1500
tentar todos os arranjos
02:57
and see if one is a palindrome by reading it forward and then backwards.
44
177024
4727
e ver se um deles é uma capicua lendo-o nos dois sentidos.
03:01
The problem with this approach
45
181751
1480
O problema com esta abordagem
03:03
is that it would take a tremendous amount of time.
46
183231
2493
é que isso demora imenso tempo.
03:05
If Hedge tried one combination every second,
47
185724
2850
Se o Hedge tentar uma combinação por segundo,
03:08
a stack of just 10 different blocks would take him 42 days to exhaust.
48
188574
5198
uma pilha de 10 blocos diferentes demoraria 42 dias a explorar.
03:13
That’s because the total time is a function of the factorial
49
193772
3830
Isso porque o tempo total
é uma função do fatorial do número de blocos que há.
03:17
of the number of blocks there are.
50
197602
2142
03:19
10 blocks have over 3 million combinations.
51
199744
3600
Dez blocos têm mais de três milhões de combinações.
03:23
What this naïve solution shows is that we need a much faster way
52
203344
4280
Esta solução ingénua mostra que precisamos de uma forma mais rápida
03:27
to tell whether a pile of blocks can form a palindrome.
53
207624
3593
de saber se uma pilha de blocos pode formar uma capicua.
03:31
To start, it may be intuitively clear that a pile of all different blocks
54
211217
4716
Para começar, pode ser intuitivo que uma pilha de blocos diferentes
03:35
will never form one.
55
215933
1420
nunca formem uma capicua.
03:37
Why?
56
217353
790
Porquê?
03:38
The first and last blocks can’t be the same if there are no repeats.
57
218143
5281
O primeiro e o último bloco
não podem ser os mesmos se não houver repetições.
03:43
So when can a given sequence become a palindrome?
58
223424
5012
Quando é que uma dada sequência forma uma capicua?
03:48
One way to figure that out is to analyze a few existing palindromes.
59
228436
4480
Uma forma de imaginar isso é analisar algumas capicuas existentes.
03:52
In ANNA, there are 2 A’s and 2 N’s.
60
232916
3254
Em ANNA, há dois A e dois N.
03:56
RACECAR has 2 R’s, 2 A’s, 2 C’s, and 1 E.
61
236170
4886
em RACECAR, há dois R, dois A, dois C e um E.
04:01
And MADAM IM ADAM has 4 M’s, 4 A’s, 2 D’s, and 1 I.
62
241056
6730
E em MADAM I, ADAM, há quatro M, quatro A, dois D e um I.
04:07
The pattern here is that most of the letters occur
63
247786
3140
O padrão aqui é que a maioria das letras ocorre
04:10
an even number of times,
64
250926
1774
num número par de vezes
04:12
and there’s at most 1 that occurs just once.
65
252700
3280
e, no máximo, só há uma que aparece uma vez.
04:15
Is that it?
66
255980
1110
Será assim?
04:17
What if RACECAR had 3 E’s instead of 1?
67
257090
3260
E se RACECAR tivesse três E, em vez de um só?
04:20
We could tack the new E’s onto the ends and still get a palindrome,
68
260350
3710
Podíamos deslocar os E para as pontas e continuávamos a ter uma capicua,
04:24
so 3 is ok.
69
264060
1840
portanto, se houver três, tudo bem.
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
Mas se tivermos três E e três C, não temos onde encaixar o último C.
04:31
So the most generalized insight is that
71
271964
2720
Portanto, a primeira conclusão que tiramos
04:34
at most one letter can appear an odd number of times,
72
274684
4096
é que só uma letra pode aparecer numa quantidade ímpar.
04:38
but the rest have to be even.
73
278780
3066
Todas as outras têm de ser em número par.
04:41
Hedge can count the letters in each stack and organize them into a dictionary,
74
281846
4314
Hedge pode contar as letras em cada pilha e organizá-las num dicionário
04:46
which is a tidy way of storing information.
75
286160
2725
que é uma forma rigorosa de guardar informações.
04:48
A loop could then go through and count how many times odd numbers appear.
76
288885
4579
Assim, podemos usar um "loop"
e contar quantas vezes aparecem números ímpares.
04:53
If there are less than 2 odd characters, the stack can be made into a palindrome.
77
293464
5500
Se houver menos de duas letras em número ímpar,
a pilha pode ser transformada numa capicua.
04:58
This approach is much, much faster than the naïve solution.
78
298964
3720
Esta abordagem é muito mais rápida do que uma solução ingénua.
05:02
Instead of factorial time, it takes linear time.
79
302684
3420
Em vez dum tempo fatorial, usa-se o tempo linear.
05:06
That’s where the time increases
80
306104
1570
É quando o tempo aumenta
05:07
in proportion to the number of blocks there are.
81
307674
2710
em proporção com o número de blocos que há.
05:10
Now write a loop for Hedge to approach the piles individually,
82
310384
3990
Então, escrevemos um "loop" para o Hedge abordar as pilhas, individualmente
05:14
and stop when he finds a good one, and you’ll be ready to go.
83
314374
4155
e parar quando encontrasse uma boa e pudesse continuar.
05:18
Here’s what happens:
84
318529
1389
É isto que acontece.
05:19
Hedge is fast, but there are so many piles it takes a long time.
85
319918
4046
O Hedge é rápido, mas há muitas pilhas e demora muito tempo.
05:23
Too long.
86
323964
1356
Demasiado tempo.
06:17
Ethic and Hedge are safe.
87
377897
1680
A Ética e o Hedge estão em segurança,
06:19
But Octavia is not so lucky.
88
379577
2423
mas Octavia não tem tanta sorte.
Sobre este site

Este sítio irá apresentar-lhe vídeos do YouTube que são úteis para a aprendizagem do inglês. Verá lições de inglês ensinadas por professores de primeira linha de todo o mundo. Faça duplo clique nas legendas em inglês apresentadas em cada página de vídeo para reproduzir o vídeo a partir daí. As legendas deslocam-se em sincronia com a reprodução do vídeo. Se tiver quaisquer comentários ou pedidos, por favor contacte-nos utilizando este formulário de contacto.

https://forms.gle/WvT1wiN1qDtmnspy7