Can you solve the computer virus riddle? - James Tanton

1,157,802 views ・ 2021-10-19

TED-Ed


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

Tradutor: Christian Mäder Revisor: Jorge Santos
00:06
Your antivirus squad is up against a particularly sadistic bit
0
6788
4208
Seu programa antivírus está lutando contra um código malicioso,
00:10
of malicious code that’s hijacked your mainframe.
1
10996
3208
particularmente sádico, que tomou conta do seu mainframe.
00:14
What you’ve learned from other infected systems— right before they went dark—
2
14579
4292
O que você observou em outros sistemas infectados— antes deles se apagarem—
00:18
is that it likes to toy with antivirus agents in a very peculiar way.
3
18871
5083
é que ele gosta de brincar com o antivírus de uma forma muito peculiar.
00:24
It corrupts one of the 4 disks that run your mainframe,
4
24538
3625
Ele corrompe 1 dos 4 discos que executam seu mainframe,
00:28
represented by lights showing which are on and which off.
5
28163
3625
representado por luzes que mostram quais estão ligados e quais desligados.
00:32
Then it selects one member of the antivirus squad— this’ll be you—
6
32412
4500
Então ele seleciona um agente do antivírus— este será você—
00:36
and brings them into the mainframe.
7
36912
2167
e o traz para o mainframe.
00:39
It tells them which disk it corrupted,
8
39079
2375
Ele lhe diz qual disco foi corrompido,
00:41
allows the agent to switch a single disk on or off,
9
41454
4500
permite que o agente ligue ou desligue um único disco,
00:45
then immediately de-rezzes the agent.
10
45954
3083
e, em seguida, deleta o agente.
00:49
Your squad can make an all-out attack to break into the mainframe
11
49579
3625
Seu antivírus pode fazer uma grande ofensiva para penetrar o mainframe
00:53
and destroy one disk before they’re wiped out.
12
53204
3167
e destruir um disco antes que tudo seja apagado.
00:56
If they destroy the corrupted one, the malware will be defeated.
13
56537
3584
Se destruir o disco corrompido, o malware será derrotado.
01:00
Any others, and the virus will erase the entire system.
14
60121
3708
Qualquer outro, e o vírus irá apagar todo o sistema.
01:04
The lights are only visible within the mainframe,
15
64413
2708
As luzes só são visíveis dentro do mainframe,
01:07
so you won’t know until you get there which, if any, are on.
16
67121
4125
então você não saberá até chegar lá quais estão ligadas.
01:11
How can you communicate, with your single action,
17
71621
3250
Como você pode comunicar, com sua única ação,
01:14
which of the 4 disks has been corrupted?
18
74871
2583
qual dos 4 discos foi corrompido?
01:17
Pause here to figure it out for yourself. Answer in 3
19
77454
2709
Pare aqui se você mesmo quiser solucionar. Resposta em 3
01:20
Answer in 2
20
80163
2500
2
01:22
Answer in 1
21
82663
2583
1
01:25
The setting is a big clue for one solution.
22
85329
3250
A configuração é uma grande pista para a solução.
01:28
Using binary code— the base two numbering system that only uses 1s and 0s—
23
88579
5667
Com código binário— sistema de numeração de base 2 que usa apenas 0s e 1s—
01:34
we can represent each of the 4 disks with a 2-bit binary number
24
94538
4500
podemos representar cada um dos 4 discos com um número binário de 2 bits
01:39
ranging from 00 for zero to 11 for three.
25
99038
4416
que vão desde 00 para zero a 11 para três.
01:44
What we’re looking for now is some sort of mathematical operation
26
104163
4041
O que estamos procurando agora é algum tipo de operação matemática
01:48
that can take the lit disks as input, and give the corrupted disk as an output.
27
108204
5709
que recebe os discos ligados como entrada, e devolve o disco corrompido como saída.
01:54
Let’s consider one possibility.
28
114496
1917
Vamos considerar o seguinte cenário:
01:56
Say that the corrupted disk was this one,
29
116413
2708
Digamos que o disco corrompido seja este,
01:59
and when you come in, no lights are on.
30
119121
2917
e quando você chega, nenhuma luz está ligada.
02:02
You could turn 11 on to indicate that disk.
31
122288
4000
Você pode ligar 11 para indicar o disco.
02:06
Okay, what if you came in and 11 was already on?
32
126954
4000
Bem, e se quando você chegasse 11 já estivesse ligado?
02:11
You have to switch one light.
33
131329
1875
Você tem que ligar uma luz.
02:13
Which seems like the most innocuous to change?
34
133621
2875
Qual causará menos problemas?
02:16
Probably 00, in that if you were to add 00 and 11,
35
136788
4916
Provavelmente 00, se você somar 00 e 11,
02:21
you’d still get 11.
36
141704
1709
ainda obterá 11.
02:24
So maybe the key is to think of addition of binary numbers,
37
144288
4333
Dessa forma, talvez o segredo seja pensar na adição entre os números binários,
02:28
with the sum of the lit disks communicating the corrupted disk number.
38
148621
4583
com a soma dos discos ligados sendo o número do disco corrompido.
02:33
This works great, until we start with a different hypothetical.
39
153496
4000
Isso funciona bem, até considerarmos outro cenário.
02:37
What if 00 was the corrupted disk, and 01 and 10 were on?
40
157496
5542
E se 00 fosse o disco corrompido, e 01 e 10 estivessem ligados?
02:43
Here, the sum of the lit disks is 11.
41
163329
3459
Neste caso, a soma dos discos acesos é 11.
02:46
But we need to change this to a sum of 00 with the flip of one switch.
42
166788
5583
Precisamos mudar isso para uma soma de 00 apertando um botão.
02:53
We have four options: turning switch 00 on gives us 11.
43
173163
4750
Temos quatro opções: Ligar 00 nos dá 11.
02:58
Turning 01 off takes us back to 10,
44
178121
3292
Desligar 01 nos traz de volta a 10,
03:01
and turning 10 off gives 01.
45
181413
3750
e desligar 10 dá 01.
03:05
None of those work.
46
185163
1791
Nenhuma dessas é o que queremos.
03:06
Turning switch 11 on gives us 110 by standard binary addition.
47
186954
5834
Ligar 11 nos dá 110, numa soma binária padrão.
03:12
But we don’t really want three digit numbers.
48
192788
2750
Mas não queremos números de três dígitos.
03:15
So what if— to keep the result a two digit number—
49
195621
3542
Então, e se— para mantermos o resultado como um número de dois dígitos—
03:19
we break the rules a bit and let this sum equal 22.
50
199163
4458
quebrarmos um pouco as regras e deixarmos a soma ser 22?
03:23
That’s not a binary number, but if we regard 2s as the same as 0s,
51
203829
4792
Não é um número binário, mas se supormos que 2s são iguais a 0s,
03:28
that does indicate the correct disk.
52
208621
2625
ele indica o disco correto.
03:31
So this suggests a strategy:
53
211871
2375
Portanto, isso sugere a seguinte estratégia:
03:34
look at the sum of all the lighted disks we see,
54
214246
3667
Olhar a soma de todos os discos ligados,
03:37
regarding 2s as 0s.
55
217913
2375
considerando 2s como 0s.
03:40
If it’s already the correct result, flip 00,
56
220288
3458
Se o resultado estiver correto, ligue 00,
03:43
and if not, find the switch that will make the sum correct.
57
223746
3917
e, caso não, ache o botão que fará a soma estar correta.
03:48
You can see for yourself that any starting configuration
58
228079
3250
Você mesmo pode ver que qualquer configuração inicial,
03:51
can sum to any number from 00 to 11 with a flip of a switch.
59
231329
5334
com o apertar de um botão, pode chegar a qualquer número de 00 a 11.
03:56
The reason this works is related to a concept called parity.
60
236871
4417
A razão disso funcionar está relacionado a um conceito chamado paridade.
04:01
Parity tells you whether a given value is even or odd.
61
241663
4208
Paridade diz se um determinado valor é par ou ímpar.
04:06
In this case, the values whose parity we’re considering
62
246538
3375
Neste caso, os valores cuja paridade estamos considerando
04:09
are the number of 1s in each digit place of our binary sums.
63
249913
4875
são o número de 1s em cada dígito no lugar das nossas somas binárias.
04:14
And that’s why we can say that 2 and 0, both even numbers,
64
254996
4333
E é por isso que podemos dizer que 2 e 0, ambos números pares,
04:19
can be treated as equivalents.
65
259329
2417
podem ser tratados como equivalentes.
04:22
By adding or subtracting 00, 01, 10, or 11,
66
262329
5792
Ao adicionar ou subtrair 00, 01, 10 ou 11,
04:28
we can change the parity of either, both, or neither digit,
67
268121
4667
podemos mudar a paridade de qualquer um, de ambos, ou de nenhum dos dois dígitos,
04:32
and create the disk number we want.
68
272788
2625
e criar o número do disco que queremos.
04:36
What’s incredible about this solution is that it works for any mainframe
69
276121
4208
O incrível desta solução é que ela funciona para qualquer mainframe
04:40
whose disks are a power of two.
70
280329
2417
cujos discos são uma potência de dois.
04:43
With 64 you could turn each activated disk into a 6-bit binary number
71
283163
5625
Com 64, você poderia transformar cada disco ligado
num número binário de 6 bits
04:48
and sum the 1s in each column,
72
288788
2458
e somar os 1s em cada coluna,
04:51
regarding any even sum as the same as 0 and any odd sum as 1.
73
291246
5958
considerando qualquer soma par como 0 e qualquer soma ímpar como 1.
04:57
1,048,576 disks would be daunting, but entirely doable.
74
297621
6958
1.048.576 discos seria difícil, mas possível.
05:05
Luckily, your mainframe is much smaller.
75
305038
2500
Felizmente, seu mainframe é bem menor.
05:07
You make the valiant sacrifice and your team rushes in,
76
307538
3500
Você faz seu valente sacrifício e o antivírus aparece,
05:11
destroying the corruption and freeing the system.
77
311038
3125
destruindo a corrupção e liberando o sistema.
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