Can you solve the computer virus riddle? - James Tanton

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

TED-Ed


אנא לחץ פעמיים על הכתוביות באנגלית למטה כדי להפעיל את הסרטון.

תרגום: Ido Dekkers עריכה: zeeva livshitz
00:06
Your antivirus squad is up against a particularly sadistic bit
0
6788
4208
חבורת האנטי וירוס שלכם מתמודדת מול פיסה סדיסטית
00:10
of malicious code that’s hijacked your mainframe.
1
10996
3208
של קוד זדוני שחטף את השרת המרכזי שלכם.
00:14
What you’ve learned from other infected systems— right before they went dark—
2
14579
4292
מה שלמדתם ממערכות אחרות שנדבקו -- ממש לפני שהן נכבו --
00:18
is that it likes to toy with antivirus agents in a very peculiar way.
3
18871
5083
זה שהוא אוהב להתעסק עם סוכני האנטי וירוס בדרך מאוד מסויימת.
00:24
It corrupts one of the 4 disks that run your mainframe,
4
24538
3625
הוא משבש את אחד מארבעת הדיסקים שמריצים את השרת שלכם,
00:28
represented by lights showing which are on and which off.
5
28163
3625
שמיוצגים על ארבע נורות דלוקות או כבויות.
00:32
Then it selects one member of the antivirus squad— this’ll be you—
6
32412
4500
אז הוא בוחר חבר אחד בחבורת האנטי וירוס -- זה יהיה אתם --
00:36
and brings them into the mainframe.
7
36912
2167
ומביא אותם לשרת.
00:39
It tells them which disk it corrupted,
8
39079
2375
הוא אומר להם איזה דיסק הוא שיבש,
00:41
allows the agent to switch a single disk on or off,
9
41454
4500
ומאפשר לסוכן לשנות מצב של דיסק אחד לכבוי או דלוק,
00:45
then immediately de-rezzes the agent.
10
45954
3083
ואז מייד מוחק את הסוכן.
00:49
Your squad can make an all-out attack to break into the mainframe
11
49579
3625
החבורה שלכם יכולה לעשות מיתקפה ישירה לפרוץ לשרת
00:53
and destroy one disk before they’re wiped out.
12
53204
3167
ולהשמיד דיסק אחד לפני שהם ימחו.
00:56
If they destroy the corrupted one, the malware will be defeated.
13
56537
3584
אם הם ישמידו את הפגום, הנוזקה תובס.
01:00
Any others, and the virus will erase the entire system.
14
60121
3708
כל אחד מהאחרים, והוירוס ימחקו את כל המערכת.
01:04
The lights are only visible within the mainframe,
15
64413
2708
האורות נראים רק בתוך השרת,
01:07
so you won’t know until you get there which, if any, are on.
16
67121
4125
אז לא תדעו עד שתגיעו לשם איזה, אם בכלל, דלוקים.
01:11
How can you communicate, with your single action,
17
71621
3250
איך אתם יכולים לתקשר, עם הפעולה היחידה שלכם,
01:14
which of the 4 disks has been corrupted?
18
74871
2583
איזה מארבעת הדיסקים הושחת?
01:17
Pause here to figure it out for yourself. Answer in 3
19
77454
2709
עיצרו פה כדי להבין בעצמכם. תשובה עוד 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
המצב הוא רמז גדול לפיתרון אחד.
01:28
Using binary code— the base two numbering system that only uses 1s and 0s—
23
88579
5667
בשימוש בקוד בינארי -- מערכת מיספור בבסיס שתיים שמתשמשת רק ב 1 ו 0 --
01:34
we can represent each of the 4 disks with a 2-bit binary number
24
94538
4500
אנחנו יכולים לייצג כל אחד מ4 הדיסקים עם מספר בינארי בן 2 ביטים
01:39
ranging from 00 for zero to 11 for three.
25
99038
4416
שנע מ 00 לאפס עד 11 לשלוש.
01:44
What we’re looking for now is some sort of mathematical operation
26
104163
4041
מה שאנחנו מחפשים עכשיו היא סוג של פעולה מתמטית
01:48
that can take the lit disks as input, and give the corrupted disk as an output.
27
108204
5709
שיכולה לקחת את הדיסקים הדלוקים כקלט, ולתת את הדיסק המושחת כפלט.
01:54
Let’s consider one possibility.
28
114496
1917
בואו נשקול אפשרות אחת.
01:56
Say that the corrupted disk was this one,
29
116413
2708
נגיד שהדיסק המושחת הוא זה,
01:59
and when you come in, no lights are on.
30
119121
2917
וכשאתם נכנסים, אף אור לא דלוק.
02:02
You could turn 11 on to indicate that disk.
31
122288
4000
תוכלו להדליק את 11 כדי לסמן את הדיסק הזה.
02:06
Okay, what if you came in and 11 was already on?
32
126954
4000
אוקיי, מה אם נכנסתם ו 11 כבר היה דלוק?
02:11
You have to switch one light.
33
131329
1875
אתם חייבים לשנות אור אחד.
02:13
Which seems like the most innocuous to change?
34
133621
2875
איזה נראה הכי לא מזיק לשנות?
02:16
Probably 00, in that if you were to add 00 and 11,
35
136788
4916
כנראה 00, בכך שאם נוסיף 00 ו 11,
02:21
you’d still get 11.
36
141704
1709
עדיין יהיה לכם 11.
02:24
So maybe the key is to think of addition of binary numbers,
37
144288
4333
אז אולי המפתח הוא לחשוב על חיבור של מספרים בינאריים,
02:28
with the sum of the lit disks communicating the corrupted disk number.
38
148621
4583
עם הסכום של הדיסקים הדלוקים שמתקשרים את מספר הדיסק המושחת.
02:33
This works great, until we start with a different hypothetical.
39
153496
4000
זה עובד מעולה, עד שאנחנו מתחילים עם הנחה אחרת.
02:37
What if 00 was the corrupted disk, and 01 and 10 were on?
40
157496
5542
מה אם 00 היה הדיסק המושחת, ו 01 ו 10 היו דלוקים?
02:43
Here, the sum of the lit disks is 11.
41
163329
3459
פה, הסכום של הדיסקים הדלוקים הוא 11.
02:46
But we need to change this to a sum of 00 with the flip of one switch.
42
166788
5583
אבל אנחנו צריכים לשנות את זה לסכום של 00 עם שינוי של מתג אחד.
02:53
We have four options: turning switch 00 on gives us 11.
43
173163
4750
יש לנו ארבע אפשרויות: לשנות את מתג 00 ונקבל 11.
02:58
Turning 01 off takes us back to 10,
44
178121
3292
כיבוי 01 לוקח אותנו חזרה ל 10,
03:01
and turning 10 off gives 01.
45
181413
3750
וכיבוי 10 נותן 01.
03:05
None of those work.
46
185163
1791
אף אחד מאלה לא יעבוד.
03:06
Turning switch 11 on gives us 110 by standard binary addition.
47
186954
5834
הדלקת מתג 11 נותן לנו 110 לפי חיבור בינארי סטנדרטי.
03:12
But we don’t really want three digit numbers.
48
192788
2750
אבל אנחנו לא באמת רוצים מספרים של שלוש ספרות.
03:15
So what if— to keep the result a two digit number—
49
195621
3542
אז מה אם -- כדי לשמור על התוצאה מספר בעל שתי ספרות --
03:19
we break the rules a bit and let this sum equal 22.
50
199163
4458
אנחנו שוברים את החוקים מעט ונותנים לסכום הזה להיות 22.
03:23
That’s not a binary number, but if we regard 2s as the same as 0s,
51
203829
4792
זה לא מספר בינארי, אבל אם נתייחס ל 2 אותו דבר כמו 0,
03:28
that does indicate the correct disk.
52
208621
2625
זה מסמן את הדיסק הנכון.
03:31
So this suggests a strategy:
53
211871
2375
אז זה מציע אסטרטגיה:
03:34
look at the sum of all the lighted disks we see,
54
214246
3667
הביטו בסכום של כל הדיסקים הדלוקים שאנחנו רואים,
03:37
regarding 2s as 0s.
55
217913
2375
כשמתייחסים ל 2 כ 0.
03:40
If it’s already the correct result, flip 00,
56
220288
3458
אם זו כבר התוצאה הנכונה, נהפוך את 00,
03:43
and if not, find the switch that will make the sum correct.
57
223746
3917
ואם לא, נמצא את המתג שיהפוך את הסכום לנכון.
03:48
You can see for yourself that any starting configuration
58
228079
3250
אתם יכולים לראות בעצמכם שכל תצורה התחלתית
03:51
can sum to any number from 00 to 11 with a flip of a switch.
59
231329
5334
יכולה להסתכם לכל מספר מ 00 ל 11 עם שינוי של מתג.
03:56
The reason this works is related to a concept called parity.
60
236871
4417
הסיבה שזה עובד קשורה לרעיון שנקרא זוגיות.
04:01
Parity tells you whether a given value is even or odd.
61
241663
4208
זוגיות אומרת לכם אם ערך מסויים הוא זוגי או אי זוגי.
04:06
In this case, the values whose parity we’re considering
62
246538
3375
במקרה הזה, הערכים שהזוגיות שלהם נשקלו
04:09
are the number of 1s in each digit place of our binary sums.
63
249913
4875
הם מספר ה 1 בכל מיקום של ספרה של הסכום הבינארי שלנו.
04:14
And that’s why we can say that 2 and 0, both even numbers,
64
254996
4333
ולכן אנחנו יכולים להגיד ש 2 ו 0, שניהם מספרים זוגיים,
04:19
can be treated as equivalents.
65
259329
2417
ואפשר להתייחס אליהם כשווים.
04:22
By adding or subtracting 00, 01, 10, or 11,
66
262329
5792
על ידי חיבור או חיסור 00, 01, 10 או 11,
04:28
we can change the parity of either, both, or neither digit,
67
268121
4667
אנחנו יכולים לשנות את הזוגיות של אחת, שתיהן או אף אחד מהספרות,
04:32
and create the disk number we want.
68
272788
2625
וליצור את מספר הדיסק שאנחנו רוצים.
04:36
What’s incredible about this solution is that it works for any mainframe
69
276121
4208
מה שמדהים בנוגע לפתרון הזה זה שהוא עובד לכל שרת
04:40
whose disks are a power of two.
70
280329
2417
שהדיסקים שלו הם חזקה של שתיים.
04:43
With 64 you could turn each activated disk into a 6-bit binary number
71
283163
5625
עם 64 תוכלו להפוך כל דיסק פעיל למספר בינארי של 6 ביטים
04:48
and sum the 1s in each column,
72
288788
2458
ולסכם את ה 1 בכל עמודה,
04:51
regarding any even sum as the same as 0 and any odd sum as 1.
73
291246
5958
בהתייחס לכל סכום זוגי אותו דבר כ 0 וכל סכום אי זוגי כ 1.
04:57
1,048,576 disks would be daunting, but entirely doable.
74
297621
6958
1,048,576 דיסקים יהיו מאיימים, אבל ניתנים לפיתרון לגמרי.
05:05
Luckily, your mainframe is much smaller.
75
305038
2500
למרבה המזל, השרת שלכם קטן בהרבה.
05:07
You make the valiant sacrifice and your team rushes in,
76
307538
3500
אתם עושים את ההקרבה האמיצה והצוות שלכם ממהר פנימה,
05:11
destroying the corruption and freeing the system.
77
311038
3125
משמידים את הנוזקה ומשחררים את המערכת.
על אתר זה

אתר זה יציג בפניכם סרטוני YouTube המועילים ללימוד אנגלית. תוכלו לראות שיעורי אנגלית המועברים על ידי מורים מהשורה הראשונה מרחבי העולם. לחץ פעמיים על הכתוביות באנגלית המוצגות בכל דף וידאו כדי להפעיל את הסרטון משם. הכתוביות גוללות בסנכרון עם הפעלת הווידאו. אם יש לך הערות או בקשות, אנא צור איתנו קשר באמצעות טופס יצירת קשר זה.

https://forms.gle/WvT1wiN1qDtmnspy7