The Chasm | Think Like A Coder, Ep 6

446,987 views ・ 2020-01-30

TED-Ed


Por favor, clique duas vezes nas legendas em inglês abaixo para reproduzir o vídeo.

Tradutor: Simone Gumier Revisor: Maricene Crus
00:21
Ethic, Hedge, and Octavia stand on the edge of a bottomless ravine.
0
21937
4675
Ethic, Hedge e Octavia se encontram à beira de um abismo,
00:26
It’s the only thing between them and the tower
1
26612
2690
a única coisa que os separa da torre
00:29
that houses the second of three powerful artifacts.
2
29302
3648
que abriga o segundo de três poderosos artefatos.
00:32
They’ve got a brief window of time to get across before the guards return.
3
32950
4980
Eles têm um breve espaço de tempo para atravessar,
antes que os guardas voltem.
00:37
With Hedge’s fuel gauge on empty he won’t be able to fly Ethic across,
4
37930
4705
Hedge está sem combustível e não conseguirá levar Ethic até a torre.
00:42
so the only option is to make a bridge.
5
42635
3630
Então, a única opção é construir uma ponte.
00:46
Fortunately, the floating stacks of stones nearby are bridge components—
6
46265
4655
Felizmente, as pilhas flutuantes de pedras próximas são componentes de ponte,
00:50
invented by Octavia herself— called hover-blocks.
7
50920
4026
inventados pela própria Octavia, chamados "blocos flutuantes".
00:54
Activate a pile with a burst of energy,
8
54946
2552
Ative uma pilha de blocos com uma descarga de energia
00:57
and they’ll self-assemble to span the ravine as Ethic walks across.
9
57498
4516
e os blocos formarão uma ponte, enquanto Ethic atravessa o abismo.
01:02
But there is, of course, a catch.
10
62014
3578
Mas é claro que há um empecilho:
01:05
The hover-blocks are only stable when they’re perfectly palindromic.
11
65592
4659
os blocos flutuantes só têm estabilidade quando são perfeitamente palindrômicos.
01:10
Meaning they have to form a sequence
12
70251
2260
Ou seja, eles devem formar uma sequência que é igual
01:12
that’s the same when viewed forwards and backwards.
13
72511
4263
quando vista de trás para frente.
01:16
The stacks start in random orders,
14
76774
2170
As pilhas de blocos começam aleatoriamente,
01:18
but will always put themselves into a palindromic configuration
15
78944
3660
mas sempre se colocarão em um configuração palindrômica
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 eles atingirem um ponto no qual o palíndromo não for possível,
01:26
the bridge will collapse,
18
86774
1551
a ponte desmoronará e quem estiver sobre ela cairá no abismo.
01:28
and whoever’s on it will fall into the ravine.
19
88325
3489
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 se manteria estável.
01:35
First the A blocks hold themselves in place.
22
95912
3000
Primeiro, os blocos A se posicionariam; depois, os blocos B.
01:38
Then the B’s.
23
98912
1070
01:39
And finally the C would nestle right between the B’s.
24
99982
3690
Por fim, o bloco C se posicionaria entre os blocos B.
01:43
However, suppose there was one more A.
25
103672
3450
Porém, suponhamos que houvesse mais um bloco A.
01:47
First two A blocks form up, then two B’s,
26
107122
3120
Primeiro, os dois blocos A se posicionariam, depois os dois blocos B,
01:50
but now the remaining C and A have nowhere to go,
27
110242
3370
mas os blocos C e A restantes não teriam como se encaixar.
01:53
so the whole thing falls apart.
28
113612
2460
Então, tudo entraria em colapso.
01:56
The Node of Power enables Hedge to energize a single stack of blocks.
29
116072
4670
O "Node do Poder" permite que Hedge energize uma única pilha de blocos.
02:00
What instructions can Ethic give Hedge to allow him to efficiently find
30
120742
4334
Quais instruções Ethic pode dar a Hedge para que ele encontre
02:05
and power a stable palindromic stack?
31
125076
3051
e energize uma pilha palindrômica estável?
02:08
Pause now to figure it out for yourself.
32
128127
9970
[Uma pausa agora para que você descubra sozinho.]
[Regra 1] [Regra 2] [Regra 3] [Regra 4]
02:18
Examples of palindromes include ANNA, RACECAR, and MADAM IM ADAM.
33
138097
5461
São exemplos de palíndromos: 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 dada letra aparece em um palíndromo
02:27
will reveal a helpful pattern.
35
147288
2532
revelará um padrão útil.
02:29
Pause now to figure it out for yourself.
36
149820
4831
[Uma pausa agora para que você descubra sozinho.]
02:34
Let’s first look at a naïve solution to this problem.
37
154651
3490
Primeiro, vejamos uma solução "naïve" para este problema.
02:38
A naïve solution is a simple, brute-force approach that isn’t optimized—
38
158141
4708
Um solução naïve é uma abordagem simples e de força bruta, não otimizada,
02:42
but will get the job done.
39
162849
1980
mas que fará o trabalho.
02:44
Naïve solutions are helpful ways to analyze problems,
40
164829
3491
Soluções naïve são manerias úteis de analisar problemas
02:48
and work as stepping stones to better solutions.
41
168320
3434
e trabalham como pontos de partida para encontrar 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 naïve significa abordar uma pilha de blocos,
02:55
try all the arrangements,
43
175524
1500
tentar todos os agrupamentos e verificar se alguma é um palíndromo,
02:57
and see if one is a palindrome by reading it forward and then backwards.
44
177024
4727
lendo-a de trás para frente.
03:01
The problem with this approach
45
181751
1480
O problema dessa abordagem é que ela tomaria muitíssimo tempo.
03:03
is that it would take a tremendous amount of time.
46
183231
2493
03:05
If Hedge tried one combination every second,
47
185724
2850
Se Hedge tentasse uma combinação a cada segundo,
03:08
a stack of just 10 different blocks would take him 42 days to exhaust.
48
188574
5198
seriam necessários 42 dias para ler uma pilha com apenas 10 blocos diferentes.
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 existentes.
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 3 milhões de combinações.
03:23
What this naïve solution shows is that we need a much faster way
52
203344
4280
O que essa solução naïve mostra é que precisamos de um modo mais rápido
03:27
to tell whether a pile of blocks can form a palindrome.
53
207624
3593
de dizer se uma pilha de blocos pode formar um palíndromo.
03:31
To start, it may be intuitively clear that a pile of all different blocks
54
211217
4716
Para começar,
deve-se intuir claramente que uma pilha com todos os diferentes blocos
03:35
will never form one.
55
215933
1420
nunca formará um palíndromo. Por quê?
03:37
Why?
56
217353
790
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 blocos não podem ser iguais se não há repetições.
03:43
So when can a given sequence become a palindrome?
58
223424
5012
Então, quando uma dada sequência pode se tornar um palíndromo?
03:48
One way to figure that out is to analyze a few existing palindromes.
59
228436
4480
Um jeito de resolver isso é analisar alguns palíndromos existentes.
03:52
In ANNA, there are 2 A’s and 2 N’s.
60
232916
3254
Em ANNA, há duas letras A, e duas letras N.
03:56
RACECAR has 2 R’s, 2 A’s, 2 C’s, and 1 E.
61
236170
4886
Em RACECAR, há duas letras R, duas letras C e uma letra E.
04:01
And MADAM IM ADAM has 4 M’s, 4 A’s, 2 D’s, and 1 I.
62
241056
6730
Em MADAM IM ADAM, há quatro M, quatro A, dois D e uma letra 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 aparece um número par de vezes,
04:10
an even number of times,
64
250926
1774
04:12
and there’s at most 1 that occurs just once.
65
252700
3280
e que há, no máximo, uma letra que aparece apenas uma vez.
04:15
Is that it?
66
255980
1110
É isso mesmo?
04:17
What if RACECAR had 3 E’s instead of 1?
67
257090
3260
E se RACECAR tivesse três letras E em vez de uma?
04:20
We could tack the new E’s onto the ends and still get a palindrome,
68
260350
3710
Poderíamos pôr as novas letras E nos lados e ainda ter um palíndromo.
04:24
so 3 is ok.
69
264060
1840
Então, tudo bem se tiver três letras iguais.
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 tentarmos três letras E e três C, a última letra C não se encaixará.
04:31
So the most generalized insight is that
71
271964
2720
Então, a visão mais generalizada é que, no máximo, uma letra
04:34
at most one letter can appear an odd number of times,
72
274684
4096
pode aparecer um número ímpar de vezes, mas as outras devem ser pares.
04:38
but the rest have to be even.
73
278780
3066
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 em um dicionário,
04:46
which is a tidy way of storing information.
75
286160
2725
que é um modo ordenado de armazenar informações.
04:48
A loop could then go through and count how many times odd numbers appear.
76
288885
4579
Um loop poderia, então, analisar e contar
quantas vezes os números ímpares aparecessem.
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 dois caracteres ímpares,
a pilha poderá ser transformada em um palíndromo.
04:58
This approach is much, much faster than the naïve solution.
78
298964
3720
Esta abordagem é muito mais rápida do que a solução naïve.
05:02
Instead of factorial time, it takes linear time.
79
302684
3420
Em vez do tempo fatorial, ela utiliza o tempo linear.
05:06
That’s where the time increases
80
306104
1570
É aí que o tempo aumenta em relação ao número de blocos existentes.
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
Agora, faça um loop para que Hedge analise as pilhas de maneira individual,
05:14
and stop when he finds a good one, and you’ll be ready to go.
83
314374
4155
e pare quando encontrar uma que for boa, e você estará pronto para começar.
05:18
Here’s what happens:
84
318529
1389
Eis o que acontece:
05:19
Hedge is fast, but there are so many piles it takes a long time.
85
319918
4046
Hedge é rápido, mas há muitas pilhas e isso levaria muitíssimo tempo.
05:23
Too long.
86
323964
1356
06:17
Ethic and Hedge are safe.
87
377897
1680
Ethic e Hedge estão seguros, mas Octavia não teve tanta sorte.
06:19
But Octavia is not so lucky.
88
379577
2423
Sobre este site

Este site apresentará a você vídeos do YouTube que são úteis para o aprendizado do inglês. Você verá aulas de inglês ministradas por professores de primeira linha de todo o mundo. Clique duas vezes nas legendas em inglês exibidas em cada página de vídeo para reproduzir o vídeo a partir daí. As legendas rolarão em sincronia com a reprodução do vídeo. Se você tiver algum comentário ou solicitação, por favor, entre em contato conosco usando este formulário de contato.

https://forms.gle/WvT1wiN1qDtmnspy7