The Tower of Epiphany | Think Like A Coder, Ep 7

430,906 views ・ 2020-02-27

TED-Ed


Fare doppio clic sui sottotitoli in inglese per riprodurre il video.

Traduttore: Chiara Polesinanti Revisore: Ludovica Harley
[EPISODIO 07 - LA TORRE]
00:31
Ethic and Hedge are on the ground floor of a massive tower.
0
31587
5701
Ethic ed Hedge si trovano al piano terra di un’enorme torre.
00:37
Barriers of energy separate them from their quest’s second goal:
1
37288
4657
Delle barriere di energia li separano dal secondo obiettivo della loro missione:
00:41
the Node of Creation.
2
41945
2000
il Nodo della Creazione.
00:52
To reach it, Ethic must use three energy streams to climb the tower.
3
52667
4742
Per raggiungerlo,
Ethic deve usare tre flussi di energia per scalare la torre.
00:57
As soon as she steps forward a timer will begin counting down from 60 seconds.
4
57409
5950
Non appena fa un passo avanti, scatta un conto alla rovescia di 60 secondi.
01:07
At the back of the room there’s a basin made of invisible towers
5
67359
4300
In fondo alla stanza, c’è una vasca formata da colonne invisibili
01:11
that can hold energy between them.
6
71659
3076
che trattengono energia al loro interno.
01:14
After one minute, a torrent of energy will pour down from above,
7
74735
4130
Scaduto il minuto, un flusso di energia sgorga dall’alto
01:18
filling one unit at a time,
8
78865
2150
riempiendo un'unità alla volta
mentre un campo di forza gli impedisce di fuoriuscire davanti o dietro.
01:21
with a force field preventing it from spilling out the front or back.
9
81015
4480
01:25
During the 60 calm seconds,
10
85495
2130
Nei 60 secondi di pausa,
01:27
Ethic and Hedge must decide exactly how many units of energy will fall.
11
87625
5098
Ethic ed Hedge devono decidere esattamente quante unità di energia far scendere.
01:32
For each of the three challenges,
12
92723
1700
Per ciascuna di queste tre sfide,
01:34
they must choose the amount that will fill the basin exactly.
13
94423
3665
devono trovare l’esatta quantità che serve a riempire la vasca.
01:38
If they do so, the energy will propel them further upwards.
14
98088
3850
Se ci riescono, l’energia li spingerà in alto.
01:41
But if they get the amount at all wrong, the energy lift will fail,
15
101938
4620
Ma se sbagliano la quantità, il sollevamento energetico fallirà
01:46
dropping them.
16
106558
1490
lasciandoli cadere.
I diagrammi sulle pareti fungono da esempi.
01:48
Diagrams on the walls illustrate some examples.
17
108048
3300
01:51
This configuration will capture exactly 2 units of energy.
18
111348
4270
Questa configurazione tratterrà esattamente 2 unità di energia.
01:55
This configuration will capture 4— 3 here, and 1 here.
19
115618
5117
Questa configurazione ne tratterrà 4: 3 qui e 1 qui.
02:00
And this one will also capture 4,
20
120735
2540
Anche questa ne tratterrà 4,
02:03
because any energy on the right would spill out.
21
123275
3413
perché l’energia sulla destra scivolerà via.
02:06
The energy will rain down in such a way
22
126688
2220
L’energia pioverà in modo da traboccare solo se manca lo spazio per contenerla.
02:08
that it’ll only overflow if there’s no space that could hold it.
23
128908
4630
02:13
Hedge can make one tower of blocks visible at a time and count how tall it is,
24
133538
5327
Hedge può rendere visibile solamente una colonna di blocchi alla volta
e misurarne l’altezza,
02:18
but he can’t look at the whole structure all at once.
25
138865
3860
ma non è in grado di vedere l’intera struttura tutta in una volta.
02:22
How does Ethic program Hedge to figure out
26
142725
2805
Come può Ethic programmare Hedge
perché trovi esattamente quanta energia può contenere ogni vasca?
02:25
exactly how much energy each basin can hold?
27
145530
3810
02:29
Pause now to figure it out for yourself.
28
149340
9465
Metti in pausa ora per scoprirlo da solo.
02:38
Here’s one way of thinking about what’s happening:
29
158805
2830
Si potrebbe ragionare in questo modo:
02:41
each unoccupied cell will hold energy
30
161635
2915
ogni cella vuota può contenere energia
02:44
if and only if there is a wall eventually to its left,
31
164550
4240
se e solo se è presente una parete a delimitarla sia sinistra che a destra.
02:48
and a wall eventually to its right.
32
168790
2727
02:51
But it would take a long time for Hedge to check this for each individual cell.
33
171517
4805
Ma a Hedge servirebbe molto tempo per controllare ogni singola cella.
02:56
So what if he were to consider a whole column of blocks at a time?
34
176322
4863
Cosa succederebbe se dovesse considerare un’intera colonna di blocchi alla volta?
03:01
How many units of energy can this hold, for instance?
35
181185
3840
Per esempio, quante unità di energia può contenere questa?
03:05
Pause now to figure it out for yourself.
36
185025
5364
Metti in pausa ora per scoprirlo da solo.
03:10
Let’s analyze the problem by looking at our example.
37
190389
3370
Analizziamo il problema guardando questo esempio.
03:13
There are 5 columns of blocks here.
38
193759
2155
Qui ci sono 5 colonne di blocchi.
03:15
The leftmost one can’t hold any energy, because there’s nothing higher than it.
39
195914
4570
Quella più a sinistra non può contenere energia, perché è la più alta.
03:20
The 2nd stack can have 3 units above it,
40
200484
2634
Sopra la seconda colonna c’è spazio per 3 unità di energia,
03:23
as they would be trapped between these two 4 block stacks.
41
203118
4126
racchiuse tra due colonne da quattro blocchi.
03:27
We get 3 units by taking the height where the energy would level off— 4,
42
207244
4942
Otteniamo 3 unità considerando il punto in cui l’energia si stabilizzerebbe, 4,
03:32
and subtracting the height of the stack— so that’s 4 minus 1.
43
212186
4160
e sottraendo l’altezza della colonna, ovvero 4 meno 1.
03:36
The 3rd stack is similar— 4 to the left, 4 to the right, and it’s 3 high,
44
216346
5462
Lo stesso per la terza colonna: 4 a sinistra, 4 a destra e 3 di altezza,
03:41
so it’ll hold 4 minus 3 equals 1 unit.
45
221808
4729
quindi 4 meno 3 uguale 1 unità.
03:46
The 4th stack and 5th stacks have nothing higher than them to the right,
46
226537
4420
La terza e la quarta colonne non hanno nulla di più alto a destra,
03:50
so they can’t hold any energy.
47
230957
2470
quindi non possono trattenere energia.
03:53
We can adapt this idea into an algorithm.
48
233427
3818
Possiamo trasformare questo ragionamento in un algoritmo.
03:57
Considering one column at a time as the point of reference,
49
237245
3780
Prendendo una colonna alla volta come punto di riferimento,
04:01
Hedge can look to the left stack by stack to find the height of the tallest one,
50
241025
4411
Hedge può scorrere a sinistra una colonna alla volta
per trovare quella più alta,
04:05
look to the right to find the height of the tallest one,
51
245436
2720
può poi trovare la più alta verso destra,
04:08
and take the smaller of the two as the height the energy can fill up to.
52
248156
4677
e prendere la più bassa tra le due come livello massimo dell’energia.
04:12
If the result is higher than the column in question,
53
252833
3130
Se l’altezza trovata è maggiore di quella della colonna in esame,
04:15
subtract the height of the original column,
54
255963
2574
ad essa si sottrae l’altezza della colonna originale,
04:18
and the result will be the number of units that column can hold.
55
258537
5097
e il risultato sarà il numero di unità che quella colonna può contenere.
04:23
If it's equal to or below the level of the column in question,
56
263634
3560
Se è uguale o inferiore al livello della colonna in esame,
04:27
the energy would spill off.
57
267194
2203
l'energia scivolerà via.
04:29
Hedge can apply that to an entire basin with a loop
58
269397
3520
Hedge può applicare questo procedimento a un’intera vasca, utilizzando un ciclo,
04:32
that starts on the left-most column and moves right, one column at a time.
59
272917
5745
iniziando dalla colonna più a sinistra scorrendo verso destra, una alla volta.
04:38
For each column, he’ll run the same steps— look all the way left for the tallest,
60
278662
5009
Per ogni colonna, eseguirà gli stessi passaggi:
cercare la colonna più alta a sinistra,
04:43
do the same to the right, take the lower height of the two,
61
283671
3560
cercare quella più alta a destra,
prendere la più bassa tra le due,
a questa sottrarre l’altezza della colonna in esame,
04:47
subtract the original column height,
62
287231
2087
04:49
and increase the grand total if that number is positive.
63
289318
3860
e, se è un numero positivo, sommare questo valore al totale.
04:53
His loop will repeat as many times as there are columns.
64
293178
3670
Questo ciclo andrà ripetuto per il numero delle colonne presenti.
04:56
That will work, but it’ll take a long time for a large basin.
65
296848
3950
Questo metodo funziona,
ma per una vasca grande richiederà molto tempo.
05:00
At every step Hedge repeats the action of looking left and looking right.
66
300798
4530
A ogni passaggio Hedge ripete l’azione guardando a sinistra e poi a destra.
05:05
If there are N stacks, he’ll look at all N stacks N times.
67
305328
4952
Se ci sono N pile, dovrà guardare tutte e N le pile per N volte.
05:10
Is there a faster way?
68
310280
1980
Esiste un modo più veloce?
05:12
Here’s one time saver: before doing anything else,
69
312260
3348
Ecco un modo per risparmiare tempo:
come prima cosa, Hedge può partire da sinistra,
05:15
Hedge can start on the left,
70
315608
1860
05:17
and keep a running tally of what the highest stack is.
71
317468
3870
e tenere il conto del numero di blocchi della colonna più alta.
05:21
Here that would be 2, 2 again, since the first was higher,
72
321338
3760
Qui avremmo 2 blocchi, e ancora 2, visto che quella precedente è più alta,
05:25
then 4, 4, 4.
73
325098
2750
poi 4, 4, 4.
05:27
He can then find the highest right-most stacks
74
327848
2780
Può trovare le colonne più alte a destra
05:30
by doing the same going right-to-left: 1, 3, 4, 4, 4.
75
330628
6254
facendo lo stesso da destra a sinistra: 1, 3, 4, 4, 4.
05:36
In the end he’ll have a table like this in his memory.
76
336882
3840
Alla fine, nella sua memoria ci sarà una tabella come questa.
05:40
Now, Hedge can take one more pass to calculate how much energy there will be
77
340722
5239
Ora, Hedge può fare un altro passaggio
per calcolare quanta energia ci può essere sopra ogni colonna
05:45
above every stack with the same equation from before:
78
345961
4040
con la stessa formula di prima:
prendere il numero memorizzato più piccolo tra quelli contati da destra e da sinistra
05:50
take the smaller of the stored left and right values,
79
350001
3637
05:53
and subtract the height of the current tower.
80
353638
3070
e ad esso sottrarre il valore della colonna in esame.
05:56
Instead of looking at N stacks N times, he’ll look at N stacks just 3 times—
81
356708
5585
Invece di guardare N colonne N volte, guarderà N colonne solo 3 volte,
06:02
which is what’s called linear time.
82
362293
2280
ovvero per un tempo lineare.
06:04
There are ways to optimize the solution even further,
83
364573
3241
Ci sarebbero modi per ottimizzare ulteriormente il processo,
06:07
but this is good enough for our heroes.
84
367814
2750
ma questo è già sufficiente per i nostri eroi.
06:10
Ethic and Hedge work as one.
85
370564
1770
Ethic e Hedge lavorano insieme.
06:14
The first cascade is a breeze, and they rise up the tower.
86
374992
3844
La prima cascata è un gioco da ragazzi, e salgono di un livello nella torre.
06:21
The second is a little tougher.
87
381573
2010
La seconda è un po' più difficile.
06:33
The third is huge, with dozens of stacks of blocks.
88
393051
3860
La terza è enorme, con dozzine di pile di blocchi.
06:36
The timer ticks down towards zero, but Ethic’s program is fast.
89
396911
4433
Il tempo sta per scadere, ma il programma di Ethic è veloce.
06:41
She gets the wheel in position just in time,
90
401344
2964
Ruota l’ingranaggio in posizione giusto in tempo,
e l’energia li solleva fino al Nodo della Creazione.
06:49
and the energy lifts them to the Node of Creation.
91
409015
2920
06:55
Like the first, it reveals a vision: memories of years gone by.
92
415640
5427
Come il primo, rivela una visione: ricordi di anni passati.
La macchina del mondo aveva cambiato ogni cosa
07:01
The world machine changed everything,
93
421067
2120
07:03
and Ethic, in her position as chief robotics engineer,
94
423187
3669
ed Ethic, in qualità di ingegnere robotico capo,
07:06
grew troubled by what she saw.
95
426856
2050
era sempre più preoccupata per ciò che vedeva.
07:08
When the Bradbarrier went up to keep the people in,
96
428906
3040
Quando la barriera d’acciaio arrivò a impedire alla gente di uscire,
07:11
she knew something was seriously wrong.
97
431946
2640
capì che c’era qualcosa di pericolosamente sbagliato.
07:14
So she created three artifacts
98
434586
2090
Così creò i tre artefatti
07:16
with the ability to restore people’s power, creativity, and memory,
99
436676
4545
in grado di ristabilire il potere, la creatività e la memoria degli uomini,
07:21
and smuggled them to three communities.
100
441221
2910
e li portò di nascosto in tre comunità.
07:24
Before she could tell people how to use them,
101
444131
2318
Prima che potesse spiegare alla gente come usarli,
07:26
the government discovered her efforts and sent bots to arrest her
102
446449
3510
il governo scoprì le sue azioni
e inviò dei bot ad arrestare lei e gli altri programmatori.
07:29
and the other programmers.
103
449959
1930
07:31
The last thing Ethic used the world machine to create
104
451889
3320
Come ultima cosa, Ethic usò la macchina del mondo per creare un robot
07:35
was a robot that would protect the ancient device
105
455209
2790
che potesse proteggere l’antico congegno dalle forze dell’ignoranza,
07:37
from the forces of ignorance by enclosing it in a giant maze.
106
457999
4330
racchiudendolo in un labirinto gigante.
07:42
She named her creation Hedge.
107
462329
2414
Chiamò la sua creazione Hedge.
07:51
Without warning, the energy lift flickers, then fizzles out.
108
471801
3830
Senza preavviso, l’ascensore di energia tremolò e alla fine svanì.
A proposito di questo sito web

Questo sito vi presenterà i video di YouTube utili per l'apprendimento dell'inglese. Vedrete lezioni di inglese tenute da insegnanti di alto livello provenienti da tutto il mondo. Fate doppio clic sui sottotitoli in inglese visualizzati su ogni pagina video per riprodurre il video da lì. I sottotitoli scorrono in sincronia con la riproduzione del video. Se avete commenti o richieste, contattateci tramite questo modulo di contatto.

https://forms.gle/WvT1wiN1qDtmnspy7