The Chasm | Think Like A Coder, Ep 6

446,987 views ・ 2020-01-30

TED-Ed


Haga doble clic en los subtítulos en inglés para reproducir el vídeo.

Traductor: Sonia Escudero Sánchez Revisor: José Miguel Godoy Muñoz
[Una serie original de TEDEd]
[Diseñada y animada por Kozmonot Studio]
[Piensa como un programador]
[Localización: Bosque198]
Episodio 6: El Abismo
00:21
Ethic, Hedge, and Octavia stand on the edge of a bottomless ravine.
0
21937
4675
Ética, Hedge y Octavia se encuentran al borde de un barranco sin fondo.
00:26
It’s the only thing between them and the tower
1
26612
2690
Es lo único entre ellos y la torre
00:29
that houses the second of three powerful artifacts.
2
29302
3648
que custodia el segundo de los tres poderosos artefactos.
00:32
They’ve got a brief window of time to get across before the guards return.
3
32950
4980
Tienen un breve período de tiempo para cruzar antes de que los guardias regresen.
00:37
With Hedge’s fuel gauge on empty he won’t be able to fly Ethic across,
4
37930
4705
Con el indicador de combustible casi vacío, Hedge no podrá transportar a Ética,
00:42
so the only option is to make a bridge.
5
42635
3630
así que la única opción es construir un puente.
00:46
Fortunately, the floating stacks of stones nearby are bridge components—
6
46265
4655
Por suerte, las pilas de piedras flotantes cercanas son componentes del puente
00:50
invented by Octavia herself— called hover-blocks.
7
50920
4026
- inventadas por la propia Octavia - llamadas bloques flotantes.
00:54
Activate a pile with a burst of energy,
8
54946
2552
Activa una pila con un estallido de energía,
00:57
and they’ll self-assemble to span the ravine as Ethic walks across.
9
57498
4516
y se autoensamblarán para abarcar el barranco mientras Ética cruza.
01:02
But there is, of course, a catch.
10
62014
3578
Pero hay, por supuesto, una trampa.
01:05
The hover-blocks are only stable when they’re perfectly palindromic.
11
65592
4659
Los bloques flotantes solo son estables cuando son palíndromos perfectos
01:10
Meaning they have to form a sequence
12
70251
2260
Lo que significa que tienen que formar una secuencia idéntica
01:12
that’s the same when viewed forwards and backwards.
13
72511
4263
cuando se vea por delante y por detrás.
01:16
The stacks start in random orders,
14
76774
2170
Las pilas empiezan en órdenes aleatorios,
01:18
but will always put themselves into a palindromic configuration
15
78944
3660
pero siempre que puedan se colocarán en una configuración palindrómica.
01:22
if they can.
16
82604
1290
01:23
If they get to a point where a palindrome isn’t possible,
17
83894
2880
Si llegan a un punto donde no es posible un palíndromo,
01:26
the bridge will collapse,
18
86774
1551
el puente colapsará y, quien se encuentre sobre él, caerá hacia el barranco.
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
Veamos un ejemplo.
01:33
This stack would make itself stable.
21
93452
2460
Esta pila se haría estable.
01:35
First the A blocks hold themselves in place.
22
95912
3000
Primero, los bloques A se sitúan en su lugar.
01:38
Then the B’s.
23
98912
1070
Posteriormente, los B.
01:39
And finally the C would nestle right between the B’s.
24
99982
3690
Y, finalmente, el C se ubicaría justo entre los B.
01:43
However, suppose there was one more A.
25
103672
3450
Sin embargo, imagina que hay un bloque A más.
01:47
First two A blocks form up, then two B’s,
26
107122
3120
Primero, se forman dos bloques A; después, dos B;
01:50
but now the remaining C and A have nowhere to go,
27
110242
3370
pero, ahora, los bloques C y A restantes no tienen donde ir y todo se derrumba.
01:53
so the whole thing falls apart.
28
113612
2460
01:56
The Node of Power enables Hedge to energize a single stack of blocks.
29
116072
4670
El nodo de poder permite a Hedge energizar una única pila de bloques.
02:00
What instructions can Ethic give Hedge to allow him to efficiently find
30
120742
4334
¿Qué instrucciones puede dar Ética a Hedge para permitirle encontrar
02:05
and power a stable palindromic stack?
31
125076
3051
y alimentar eficientemente una pila palindrómica estable?
02:08
Pause now to figure it out for yourself.
32
128127
9970
[Pausa el vídeo si quieres descubrirlo por ti mismo.]
[Pista en: 5]
[Pista en: 4]
[Pista en: 3]
[Pista en: 2]
[Pista en: 1]
02:18
Examples of palindromes include ANNA, RACECAR, and MADAM IM ADAM.
33
138097
5461
Ejemplos de palíndromos incluyen ANNA, RACECAR, y MADAM IM ADAM.
02:23
Counting the number of times a given letter appears in a palindrome
34
143558
3730
Contando el número de veces que una letra dada aparece en un palíndromo
02:27
will reveal a helpful pattern.
35
147288
2532
revelará un patrón útil.
02:29
Pause now to figure it out for yourself.
36
149820
4831
[Pausa el vídeo si quieres descubrirlo por ti mismo.]
[Solución en: 3]
[Solución en: 2]
02:34
Let’s first look at a naïve solution to this problem.
37
154651
3490
[Solución en: 1]
Primeros veamos una solución ingenua a este problema.
02:38
A naïve solution is a simple, brute-force approach that isn’t optimized—
38
158141
4708
Una solución ingenua es una aproximación simple con fuerza bruta no optimizada,
02:42
but will get the job done.
39
162849
1980
pero que hará el trabajo.
02:44
Naïve solutions are helpful ways to analyze problems,
40
164829
3491
Las soluciones ingenuas son formas útiles de analizar problemas,
02:48
and work as stepping stones to better solutions.
41
168320
3434
y sirven como peldaños para mejorar soluciones.
02:51
In this case, a naïve solution is to approach a pile of blocks,
42
171754
3770
En este caso, una solución ingenua es acercarse a una pila de bloques,
02:55
try all the arrangements,
43
175524
1500
probar todas las combinaciones,
02:57
and see if one is a palindrome by reading it forward and then backwards.
44
177024
4727
y ver si una de ellas es un palíndromo al leerlo hacia delante y atrás.
03:01
The problem with this approach
45
181751
1480
El problema con este enfoque
03:03
is that it would take a tremendous amount of time.
46
183231
2493
es que tomaría una tremenda cantidad de tiempo.
03:05
If Hedge tried one combination every second,
47
185724
2850
Si Hedge intentara una combinación cada segundo,
03:08
a stack of just 10 different blocks would take him 42 days to exhaust.
48
188574
5198
una pila de solo 10 bloques diferentes le llevaría 42 días hasta el agotamiento.
03:13
That’s because the total time is a function of the factorial
49
193772
3830
Esto se debe a que el tiempo total es una función del factorial
03:17
of the number of blocks there are.
50
197602
2142
del número de bloques que hay.
03:19
10 blocks have over 3 million combinations.
51
199744
3600
10 bloques tienen más de tres millones de combinaciones.
03:23
What this naïve solution shows is that we need a much faster way
52
203344
4280
Lo que muestra la solución ingenua es que necesitamos una manera rápida
03:27
to tell whether a pile of blocks can form a palindrome.
53
207624
3593
de decir si una pila de bloques pueden forman un palíndromo.
03:31
To start, it may be intuitively clear that a pile of all different blocks
54
211217
4716
Para empezar, se puede intuir que una pila con todos los bloques diferentes
03:35
will never form one.
55
215933
1420
nunca formará una pila. ¿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
El primer y último bloque no pueden ser iguales si no hay repeticiones.
03:43
So when can a given sequence become a palindrome?
58
223424
5012
Así que, ¿cuándo una secuencia dada puede convertirse en un palíndromo?
03:48
One way to figure that out is to analyze a few existing palindromes.
59
228436
4480
Una forma de resolverlo es analizar algunos palíndromos existentes.
03:52
In ANNA, there are 2 A’s and 2 N’s.
60
232916
3254
En ANNA hay 2 bloques A y 2 N.
03:56
RACECAR has 2 R’s, 2 A’s, 2 C’s, and 1 E.
61
236170
4886
RACECAR tiene 2 R, 2 A, 2 C y 1 E.
04:01
And MADAM IM ADAM has 4 M’s, 4 A’s, 2 D’s, and 1 I.
62
241056
6730
Y MADAM IM ADAM tiene 4 M, 4 A, 2 D y 1 I.
04:07
The pattern here is that most of the letters occur
63
247786
3140
El patrón aquí es que la mayoría de letras aparecen
04:10
an even number of times,
64
250926
1774
un número par de veces,
04:12
and there’s at most 1 that occurs just once.
65
252700
3280
y hay al menos una que aparece solo una vez.
04:15
Is that it?
66
255980
1110
¿Es así?
04:17
What if RACECAR had 3 E’s instead of 1?
67
257090
3260
¿Qué pasa si RACECAR tuviera 3 E en lugar de 1?
04:20
We could tack the new E’s onto the ends and still get a palindrome,
68
260350
3710
Podemos colocar la nueva E en los extremos y obtener también un palíndromo,
04:24
so 3 is ok.
69
264060
1840
así que tres está bien.
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
Pero haz eso con 3 E y 3 C, y no hay dónde colocar la última C.
04:31
So the most generalized insight is that
71
271964
2720
Entonces, la idea más generalizada es que,
04:34
at most one letter can appear an odd number of times,
72
274684
4096
como máximo, una letra puede aparecer un número impar de veces,
04:38
but the rest have to be even.
73
278780
3066
pero el resto tiene que ser par.
04:41
Hedge can count the letters in each stack and organize them into a dictionary,
74
281846
4314
Hedge puede contar las letras en cada pila y organizarlas en un diccionario,
04:46
which is a tidy way of storing information.
75
286160
2725
que es una forma ordenada de almacenar la información.
04:48
A loop could then go through and count how many times odd numbers appear.
76
288885
4579
Un ciclo podría pasar y contar cuántas veces aparecen los números impares.
04:53
If there are less than 2 odd characters, the stack can be made into a palindrome.
77
293464
5500
Si hay menos de dos caracteres impares, las pilas pueden ordenarse en palíndromos.
04:58
This approach is much, much faster than the naïve solution.
78
298964
3720
Este enfoque es mucho, mucho más rápido que la solución ingenua.
05:02
Instead of factorial time, it takes linear time.
79
302684
3420
En lugar de tiempo factorial, se necesita tiempo lineal.
05:06
That’s where the time increases
80
306104
1570
El tiempo aumentará de forma proporcional al número de bloques que hay.
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
Ahora, escribe un bucle temporal para que Hedge se aproxime
a las pilas individuales,
05:14
and stop when he finds a good one, and you’ll be ready to go.
83
314374
4155
y pare cuando encuentre una buena, y estarás listo para irte.
05:18
Here’s what happens:
84
318529
1389
Esto es lo que ocurre:
05:19
Hedge is fast, but there are so many piles it takes a long time.
85
319918
4046
Hedge es rápido, pero hay tantas pilas que lleva mucho tiempo.
05:23
Too long.
86
323964
1356
Demasiado.
06:17
Ethic and Hedge are safe.
87
377897
1680
Ética y Hedge están a salvo.
06:19
But Octavia is not so lucky.
88
379577
2423
Pero Octavia no ha tenido tanta suerte.
Acerca de este sitio web

Este sitio le presentará vídeos de YouTube útiles para aprender inglés. Verá lecciones de inglés impartidas por profesores de primera categoría de todo el mundo. Haz doble clic en los subtítulos en inglés que aparecen en cada página de vídeo para reproducir el vídeo desde allí. Los subtítulos se desplazan en sincronía con la reproducción del vídeo. Si tiene algún comentario o petición, póngase en contacto con nosotros mediante este formulario de contacto.

https://forms.gle/WvT1wiN1qDtmnspy7