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

430,906 views ・ 2020-02-27

TED-Ed


لطفا برای پخش فیلم روی زیرنویس انگلیسی زیر دوبار کلیک کنید.

Translator: Mahrokh Mirani Reviewer: Masood Mousavi
00:31
Ethic and Hedge are on the ground floor of a massive tower.
0
31587
5701
«اِتیک» و «هِج» در طبقه‌ی پایینِ یک برج بسیار بلند ایستاده‌اند.
00:37
Barriers of energy separate them from their quest’s second goal:
1
37288
4657
میله‌های انرژی مانع از رسیدن آن دو به هدف دومشان می‌شوند:
00:41
the Node of Creation.
2
41945
2000
یعنی مخزن خلقت.
00:52
To reach it, Ethic must use three energy streams to climb the tower.
3
52667
4742
برای رسیدن به آن «اِتیک» باید از سه آبشارِ انرژی بالا برود و به بالای برج برسد.
00:57
As soon as she steps forward a timer will begin counting down from 60 seconds.
4
57409
5950
به‌محض آنکه جلو می‌آید، یک زمان‌سنج شروع به شمارش معکوس ۶۰ ثانیه می‌کند.
01:07
At the back of the room there’s a basin made of invisible towers
5
67359
4300
در انتهای اتاق، ظرفی از جنسِ ستون‌های نامرئی قرار دارد
01:11
that can hold energy between them.
6
71659
3076
که می‌تواند انرژی را در میان خود نگه دارد.
01:14
After one minute, a torrent of energy will pour down from above,
7
74735
4130
پس از یک دقیقه، سیلی از انرژی از بالا روی آن ریخته می‌شود.
01:18
filling one unit at a time,
8
78865
2150
که ظرف را خانه به خانه پر می‌کند،
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
در طول ۶۰ ثانیه،
01:27
Ethic and Hedge must decide exactly how many units of energy will fall.
11
87625
5098
«اِتیک» و «هِج» باید تصمیم بگیرند که دقیقاً چند واحد انرژی خواهد ریخت.
01:32
For each of the three challenges,
12
92723
1700
این آزمون ۳ بار تکرار می‌شود،
01:34
they must choose the amount that will fill the basin exactly.
13
94423
3665
و آن‌ها هر بار باید تصمیم بگیرند که ظرف، دقیقاً چند واحد انرژی نگه می‌دارد.
01:38
If they do so, the energy will propel them further upwards.
14
98088
3850
اگر درست تصمیم بگیرند، انرژی به آن‌ها کمک می‌کند بالاتر بروند.
01:41
But if they get the amount at all wrong, the energy lift will fail,
15
101938
4620
اما اگر اشتباه کنند، انرژی تخلیه می‌شود،
01:46
dropping them.
16
106558
1490
و آن‌ها را پایین می‌اندازد.
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
این چیدمان از ستون‌ها دقیقاً ۲ واحد انرژی را در خود نگه می‌دارد.
01:55
This configuration will capture 4— 3 here, and 1 here.
19
115618
5117
این چیدمان، ۴ واحد، ۳ واحد اینجا، و یکی اینجا.
02:00
And this one will also capture 4,
20
120735
2540
این‌یکی هم ۴ واحد،
02:03
because any energy on the right would spill out.
21
123275
3413
به خاطر آنکه انرژی از سمت راست، بیرون می‌ریزد.
02:06
The energy will rain down in such a way
22
126688
2220
انرژی مانند باران از بالا می‌بارد،
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
«هِج» می‌تواند هر بار یک ستون را مرئی کند، و ارتفاع آن را اندازه بگیرد.
02:18
but he can’t look at the whole structure all at once.
25
138865
3860
اما نمی‌تواند همه‌ی چیدمان را در آنِ واحد نشان دهد.
02:22
How does Ethic program Hedge to figure out
26
142725
2805
«اِتیک» چگونه باید «هِج» را برنامه‌ریزی کند،
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
اکنون فیلم را نگه دارید، و خودتان به این مسئله فکر کنید.
02:38
Here’s one way of thinking about what’s happening:
29
158805
2830
یک روش برای فکر کردن به مسئله این است:
02:41
each unoccupied cell will hold energy
30
161635
2915
هر خانه‌ی خالی، تنها در صورتی می‌تواند انرژی را نگه دارد که،
02:44
if and only if there is a wall eventually to its left,
31
164550
4240
نهایتاً یک دیوار جایی در سمت چپش،
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
اما اگر «هِج» بخواهد تک تک خانه‌ها را چک کند، زمان زیادی لازم است.
02:56
So what if he were to consider a whole column of blocks at a time?
34
176322
4863
اما چه می‌شد اگر او می‌توانست به تمام یک ستون به‌یک‌باره فکر کند؟
03:01
How many units of energy can this hold, for instance?
35
181185
3840
مثلاً این شکل چند واحد انرژی را می‌تواند نگه دارد؟
03:05
Pause now to figure it out for yourself.
36
185025
5364
شما بگویید...
03:10
Let’s analyze the problem by looking at our example.
37
190389
3370
بیایید مسئله را با نگاه کردن به این مثال بررسی کنیم:
03:13
There are 5 columns of blocks here.
38
193759
2155
در اینجا، ۵ ستون داریم.
03:15
The leftmost one can’t hold any energy, because there’s nothing higher than it.
39
195914
4570
چپ‌ترین ستون نمی‌تواند انرژی نگه دارد زیرا خانه‌ی خالی ندارد.
03:20
The 2nd stack can have 3 units above it,
40
200484
2634
دومین ستون، ۳ واحد خالی دارد،
03:23
as they would be trapped between these two 4 block stacks.
41
203118
4126
زیرا در دو طرفش این دو ستون قرار دارند.
03:27
We get 3 units by taking the height where the energy would level off— 4,
42
207244
4942
با داشتن ارتفاع انرژی‌ای که در ظرف می‌ماند یعنی ۴، و کم کردن ارتفاع ستون، یعنی ۱،
03:32
and subtracting the height of the stack— so that’s 4 minus 1.
43
212186
4160
می‌فهمیم ۳ واحد انرژی در این ستون قرار می‌گیرد.
03:36
The 3rd stack is similar— 4 to the left, 4 to the right, and it’s 3 high,
44
216346
5462
ستون سوم نیز همین‌طور- ۴ واحد سمت چپ، ۴ واحد سمت راست، و ارتفاع ستون که ۳ است،
03:41
so it’ll hold 4 minus 3 equals 1 unit.
45
221808
4729
پس ۴ منهای ۳ یعنی ۱ واحد انرژی نگه می‌دارد.
03:46
The 4th stack and 5th stacks have nothing higher than them to the right,
46
226537
4420
بالای ستون چهارم و پنجم، خانه‌ی خالی‌ وجود ندارد که سمت راستش هم دیواری باشد،
03:50
so they can’t hold any energy.
47
230957
2470
پس نمی‌توانند هیچ انرژی‌ای نگه‌دارند.
03:53
We can adapt this idea into an algorithm.
48
233427
3818
ما می‌توانیم این روش را به یک الگوریتم تبدیل کنیم.
03:57
Considering one column at a time as the point of reference,
49
237245
3780
اگر هر بار یک ستون را در نظر بگیریم،
04:01
Hedge can look to the left stack by stack to find the height of the tallest one,
50
241025
4411
«هِج» می‌تواند ستون‌های سمت چپ را یکی یکی نگاه کند و بلندترین را پیدا کند.
04:05
look to the right to find the height of the tallest one,
51
245436
2720
سپس در سمت راست، بلندترین ستون را پیدا کند.
04:08
and take the smaller of the two as the height the energy can fill up to.
52
248156
4677
و از بین این دو، ستون کوتاه‌تر را به‌عنوان حداکثر ارتفاع انرژی انتخاب کند.
04:12
If the result is higher than the column in question,
53
252833
3130
اگر این مقدار از ارتفاع ستون ظرف بیشتر باشد،
04:15
subtract the height of the original column,
54
255963
2574
ارتفاع ستون ظرف را از آن کم کند،
04:18
and the result will be the number of units that column can hold.
55
258537
5097
تا بفهمد چند واحد انرژی در ستون نگه داشته می‌شود.
04:23
If it's equal to or below the level of the column in question,
56
263634
3560
اگر حداکثر ارتفاع انرژی بدست آمده از ارتفاع ستون کمتر یا با آن برابر باشد،
04:27
the energy would spill off.
57
267194
2203
انرژی بیرون می‌ریزد.
04:29
Hedge can apply that to an entire basin with a loop
58
269397
3520
«هِج» می‌تواند این کار را با تکرار روی تمام ظرف اجرا کند.
04:32
that starts on the left-most column and moves right, one column at a time.
59
272917
5745
برای این کار، از ستون سمت چپ آغاز می‌کند و ستون به ستون به سمت راست می‌رود.
04:38
For each column, he’ll run the same steps— look all the way left for the tallest,
60
278662
5009
برای هر ستون این مراحل را تکرار می‌کند: بلندترین ستون سمت چپ را پیدا کن،
04:43
do the same to the right, take the lower height of the two,
61
283671
3560
این کار را برای سمت راست هم انجام بده، از بین این دو ستون کوتاه‌تر را انتخاب کن
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
اگر پاسخ مثبت شد، آن را به جمع کل انرژی‌های تاکنون اضافه کن.
04:53
His loop will repeat as many times as there are columns.
64
293178
3670
تا زمانی که ستونی وجود داشته باشد، این مراحل مانند حلقه‌ای تکرار می‌شود.
04:56
That will work, but it’ll take a long time for a large basin.
65
296848
3950
این روش درست عمل می‌کند، اما اگر ظرف بزرگ باشد زمان زیادی می‌برد.
05:00
At every step Hedge repeats the action of looking left and looking right.
66
300798
4530
در هر گام، «هِج» به تمام ستون‌های سمت چپ و تمام ستون‌های سمت راست نگاه می‌کند.
05:05
If there are N stacks, he’ll look at all N stacks N times.
67
305328
4952
اگر N ستون داشته باشیم، او به هر یک از N ستون، N بار نگاه می‌کند.
05:10
Is there a faster way?
68
310280
1980
راه سریع‌تری وجود دارد؟
05:12
Here’s one time saver: before doing anything else,
69
312260
3348
یک راه برای ذخیره زمان این است: «هِج» قبل از هر کار دیگری،
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
و جدولی از بلندترین ستونی که تابه‌حال دیده ایجاد کند.
05:21
Here that would be 2, 2 again, since the first was higher,
72
321338
3760
در اینجا جدول می‌شود: ۲، باز هم ۲، چراکه ستون اول بلندتر بود،
05:25
then 4, 4, 4.
73
325098
2750
بعد ۴، ۴ و ۴.
05:27
He can then find the highest right-most stacks
74
327848
2780
بعد از آن می‌تواند بلندترین ستون از سمت راست را پیدا کند،
05:30
by doing the same going right-to-left: 1, 3, 4, 4, 4.
75
330628
6254
تنها لازم است همان کار را از راست به چپ انجام دهد: ۱ و ۳ و ۴ و ۴ و ۴.
05:36
In the end he’ll have a table like this in his memory.
76
336882
3840
در آخر او جدولی مثل این در حافظه‌اش خواهد داشت.
05:40
Now, Hedge can take one more pass to calculate how much energy there will be
77
340722
5239
حالا «هِج» تنها با یک بار طی کردن ستون‌ها می‌تواند مقدار انرژی را محاسبه کند.
05:45
above every stack with the same equation from before:
78
345961
4040
مانند قبل، هنگام رسیدن به هر ستون،
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
و آن را از ارتفاع ستون کم کند.
05:56
Instead of looking at N stacks N times, he’ll look at N stacks just 3 times—
81
356708
5585
در این صورت به‌جای آنکه به N ستون، N بار نگاه کند، به N ستون ۳ بار نگاه کرده است
06:02
which is what’s called linear time.
82
362293
2280
که به آن زمان «خطی» می‌گوییم.
06:04
There are ways to optimize the solution even further,
83
364573
3241
روش‌هایی هست که راه حل را از این هم سریع‌تر کنیم،
06:07
but this is good enough for our heroes.
84
367814
2750
اما تا همین‌جا برای قهرمانان ما کافی است.
06:10
Ethic and Hedge work as one.
85
370564
1770
«اِتیک» و «هِج» با هم تلاش می‌کنند.
06:14
The first cascade is a breeze, and they rise up the tower.
86
374992
3844
اولین آبشار خیلی آسان است و به‌راحتی از آن بالا می‌روند.
06:21
The second is a little tougher.
87
381573
2010
دومین مسئله کمی سخت‌تر است.
06:33
The third is huge, with dozens of stacks of blocks.
88
393051
3860
سومین مسئله، خیلی سخت است، با تعداد خیلی زیادی ستون.
06:36
The timer ticks down towards zero, but Ethic’s program is fast.
89
396911
4433
زمان‌سنج، تا صفر می‌شمارد. اما برنامه‌ی «اِتیک» سریع عمل می‌کند.
06:41
She gets the wheel in position just in time,
90
401344
2964
او درست در لحظه‌ی آخر فرمان را در جای درستش قرار می‌دهد،
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
مثل مخزن اول، در اینجا هم تصاویری به او نشان داده می‌شود: خاطراتی از سال‌های گذشته
07:01
The world machine changed everything,
93
421067
2120
«ماشین جهان»، همه‌چیز را تغییر داد.
07:03
and Ethic, in her position as chief robotics engineer,
94
423187
3669
و «اِتیک» که مهندس ارشد رباتیک بود،
07:06
grew troubled by what she saw.
95
426856
2050
به خاطر چیزی که دید به دردسر افتاد.
07:08
When the Bradbarrier went up to keep the people in,
96
428906
3040
وقتی حصاری بلند، مردم را زندانی کرد،
07:11
she knew something was seriously wrong.
97
431946
2640
او می‌دانست یک مشکل جدی پیش آمده است.
07:14
So she created three artifacts
98
434586
2090
برای همین، او سه مخزن درست کرد
07:16
with the ability to restore people’s power, creativity, and memory,
99
436676
4545
که توانایی برگرداندن قدرت، خلاقیت و حافظه‌ی مردم را داشتند.
07:21
and smuggled them to three communities.
100
441221
2910
و آن‌ها را در سه جای مختلف پنهان کرد.
قبل از آنکه بتواند به مردم بگوید چگونه از آن‌ها استفاده کنند،
07:24
Before she could tell people how to use them,
101
444131
2318
07:26
the government discovered her efforts and sent bots to arrest her
102
446449
3510
حکومت از کارهای او باخبر شد و ربات‌هایی برای دستگیری او
07:29
and the other programmers.
103
449959
1930
و برنامه‌نویس‌های دیگر فرستاد.
07:31
The last thing Ethic used the world machine to create
104
451889
3320
آخرین چیزی که «اِتیک» توسط «ماشین جهان» ساخت،
07:35
was a robot that would protect the ancient device
105
455209
2790
رباتی بود که فناوری باستانی را در یک مارپیچ غول‌آسا نگه دارد
07:37
from the forces of ignorance by enclosing it in a giant maze.
106
457999
4330
تا بتواند در مقابل نیروهای ناشناس از آن محافظت کند.
07:42
She named her creation Hedge.
107
462329
2414
و نام آن را «هِج» گذاشت.
07:51
Without warning, the energy lift flickers, then fizzles out.
108
471801
3830
در این هنگام، آسانسور انرژی ناگهان قطع و وصل شد، و سپس خاموش شد.
درباره این وب سایت

این سایت ویدیوهای یوتیوب را به شما معرفی می کند که برای یادگیری زبان انگلیسی مفید هستند. دروس انگلیسی را خواهید دید که توسط معلمان درجه یک از سراسر جهان تدریس می شود. روی زیرنویس انگلیسی نمایش داده شده در هر صفحه ویدیو دوبار کلیک کنید تا ویدیو از آنجا پخش شود. زیرنویس‌ها با پخش ویدیو همگام می‌شوند. اگر نظر یا درخواستی دارید، لطفا با استفاده از این فرم تماس با ما تماس بگیرید.

https://forms.gle/WvT1wiN1qDtmnspy7