The Artists | Think Like A Coder, Ep 5

438,594 views ・ 2020-01-13

TED-Ed


Vui lòng nhấp đúp vào phụ đề tiếng Anh bên dưới để phát video.

Reviewer: Dinh Lieu Vu
00:22
Dawn and the train are both breaking when Ethic and Hedge arrive in the woods.
0
22840
5488
Bình minh ló rạng và chiếu sáng đoàn tàu
khi Ethic và Hedge vừa tới được khu rừng.
00:28
The adventurers have recovered the first artifact—
1
28328
2880
Họ đã lấy lại được hiện vật đầu tiên—
00:31
the Node of Power—
2
31208
1497
Viên Đá Sức Mạnh—
00:32
and have come to the 198forest in search of the second.
3
32705
4030
và đi tới khu rừng 198 để tìm kiếm hiện vật thứ hai.
00:36
Here they’re welcomed by the director of the colony, Octavia.
4
36735
5111
Tại đây họ được đón chào bởi người chỉ huy ở đó, Octavia.
00:41
She established this treehouse sanctuary
5
41846
2600
Cô ấy đã thành lập ra nơi trú ẩn ở trên cây
00:44
after the robots freed everyone from having to work.
6
44446
2969
sau khi người máy đã tự làm hầu hết các công việc.
00:47
It was meant to be a haven where people could follow their passions,
7
47415
3290
Đó là một thiên đường nơi mà
mọi người có thể theo đuổi đam mê,
00:50
take up crafts, and find fulfillment.
8
50705
2370
làm nghề thủ công, và hoàn thiện nó.
00:53
Which they did… at first.
9
53075
2263
Thứ mà họ đã làm…ngày trước.
00:55
Some years ago everyone forgot the point.
10
55338
2510
Cách đây vài năm mọi người đã lãng quên việc này.
00:57
They abandoned arts and crafts
11
57848
1630
Họ bỏ mặc nghệ thuật và đồ thủ công,
00:59
and instead just painted and exhibited pictures of themselves
12
59478
3200
thay vào đó họ liên tục tự vẽ tranh
01:02
over, and over, and over.
13
62678
2600
và trưng bày chúng.
01:05
The location of the second artifact is no secret;
14
65278
2610
Vị trí của hiện vật thứ hai không khó tìm;
01:07
it’s in a tower, guarded by a garrison of bots,
15
67888
3460
nó ở trên một tòa tháp, được canh gác bởi người máy,
01:11
a bottomless ravine, and who knows what other traps.
16
71348
4150
ở giữa một hẻm núi không đáy,
và ai mà biết được sẽ còn cái bẫy nào khác nữa.
01:15
As soon as the tower went up with the node inside,
17
75498
3158
Ngay khi tòa tháp nhô lên với viên đá bên trong,
01:18
human communication across the land went dark.
18
78656
3922
giao tiếp của con người khắp mọi nơi dần kém đi.
01:22
Octavia’s been after it for years,
19
82578
2050
Octavia đã theo sát hàng năm trời,
01:24
but try as she might, the defenses thwart her.
20
84628
4245
nhưng cô ấy đã bị ngăn cản bởi hệ thống phòng thủ.
01:28
In order to even get to the tower, the team will need a distraction.
21
88873
4258
Để có thể lên được tòa tháp, nhóm cần phải đánh lạc hướng.
01:33
Octavia has an idea:
22
93131
1849
Octavia có một ý hay:
01:34
stir up the people through some well-intentioned vandalism.
23
94980
4131
kích động mọi người
thực hiện hành động phá hoại với chủ ý tốt.
01:39
The residents’ paintings are all squares that come in different sizes,
24
99111
3832
Tất cả những bức vẽ đều là những ô vuông,
01:42
all an odd number of pixels across.
25
102943
3608
có cạnh đều là một số lẻ các điểm ảnh.
01:46
Helper-bots pick up the finished portraits
26
106551
2412
Người máy giúp việc sẽ thu gom những bức tranh
01:48
and hang them in public places for everyone to admire.
27
108963
3848
và trưng bày ở nơi công cộng cho mọi người chiêm ngưỡng.
01:52
There’s a slim margin of time when Hedge can access the paintings.
28
112811
4190
Hedge sẽ có một chút thời gian để làm việc với các bức vẽ.
Nếu nó đánh dấu X lên một bức tranh nào đó,
01:57
If he were to deface each one with an X,
29
117001
3361
02:00
the people would blame the helper-bots,
30
120362
2439
mọi người sẽ phê bình người máy giúp việc,
02:02
creating just the distraction the team needs.
31
122801
3410
gây ra sự chú ý.
02:06
If only it were so easy.
32
126211
2300
Giá mà mọi thứ dễ dàng.
02:08
Hedge can’t just paint an X—
33
128511
2230
Nhưng Hedge không thể tự vẽ kí tự X—
02:10
his painting processor requires very specific instructions.
34
130741
4121
bộ xử lý của Hedge cần được chỉ dẫn hết sức cụ thể.
02:14
Treating the paintings as square grids,
35
134862
2630
Nhờ xử lý việc tô vẽ dưới dạng lưới các hình vuông,
02:17
he can fill in one pixel, or little square, at a time.
36
137492
4000
nó có thể tô màu trên một điểm ảnh, hay một ô vuông nhỏ.
02:21
He can move forwards and make 90 degree turns over the canvas,
37
141492
3720
Hedge sẽ tiến về phía trước, xoay 90 độ đi vòng quanh bức vẽ,
02:25
but can’t move diagonally.
38
145212
2728
nhưng không thể di chuyển chéo.
02:27
How does Ethic program Hedge to paint an X over each portrait?
39
147940
4802
Vậy làm thế nào mà Ethic có thể lập trình Hedge để nó vẽ được kí tự X?
02:32
Pause now to figure it out for yourself.
40
152742
8528
Tạm dừng một lúc để chúng ta có thể hình dung.
02:41
Here’s a hint.
41
161270
1530
Và đây là gợi ý.
02:42
Try drawing a square grid like this,
42
162800
2702
Hãy thử vẽ trên một lưới hình vuông,
02:45
and simulating Hedge’s path over it.
43
165502
2950
và mô phỏng đường đi của Hedge.
02:48
What patterns can you find to guide him?
44
168452
2556
Vậy có phương pháp nào mà có thể chỉ dẫn Hedge?
Tạm dừng một lúc để chúng ta có thể hình dung.
02:51
Pause now to figure it out for yourself.
45
171008
4790
02:55
The challenge here is to craft a set of instructions
46
175798
2599
Thách thức ở đây là đưa ra một tập hợp chỉ dẫn
02:58
that will work for any square grid.
47
178397
2791
mà sẽ đem lại hiệu quả trên ô lưới hình vuông.
03:01
Fortunately, one of the strengths of programming
48
181188
2570
May thay,
một trong những điểm mạnh của lập trình
03:03
is the flexibility to solve not just one problem,
49
183758
2980
là tính linh hoạt mà xử lý cùng lúc toàn bộ những vấn đề
03:06
but a whole class of them all at once.
50
186738
3110
có chung đặc điểm.
03:09
It often helps to start with one case, and work towards the general.
51
189848
4801
Thông thường sẽ bắt đầu từ một trường hợp,
và tìm ra điểm chung.
03:14
Let’s say we had this square.
52
194649
1970
Giả sử ở hình vuông này.
03:16
Hedge can measure the length of its sides and store that number as a variable.
53
196619
4479
Hedge có thể đánh giá độ dài của các cạnh
và lưu lại thành biến.
03:21
Now, what we need is a plan for how Hedge will paint an X,
54
201098
4585
Giờ thì, chúng ta cần lên kế hoạch chỉ dẫn Hedge cách vẽ kí tự X,
03:25
pixel by pixel.
55
205683
1540
trên từng điểm ảnh.
03:27
There’s more than one right answer for how to do this;
56
207223
2952
Có nhiều cách để giải quyết vấn đề này;
03:30
let’s look at two.
57
210175
1483
hãy xem xét hai cách sau.
03:31
First, what if Hedge went row by row, like a typewriter?
58
211658
3638
Đầu tiên, sẽ ra sao nếu Hedge
đi từng hàng một, giống như máy đánh chữ?
03:35
If it’s a 9 pixel by 9 pixel painting,
59
215296
3023
Nếu đó là bức vẽ có cạnh là 9 điểm,
03:38
in the first row he’d paint, skip 7, and then paint again.
60
218319
4309
thì hàng đầu nó sẽ vẽ một điểm, bỏ qua 7 ô, rồi vẽ ô cuối.
03:42
In the second row he’d skip the first, paint, skip 5, and paint.
61
222628
4818
Ở hàng thứ hai nó sẽ bỏ ô đầu,
vẽ ô tiếp theo, và bỏ đi 5 ô, rồi vẽ ô thứ 8.
03:47
And so on.
62
227446
1330
Và cứ tiếp tục như vậy.
03:48
The pattern here is that for each row the pixels skipped at the beginning
63
228776
4242
Công thức đó áp dụng với mỗi hàng các điểm ảnh bị bỏ qua ở đầu hàng
sẽ tăng thêm một,
03:53
go up by one,
64
233018
1410
03:54
and the pixels skipped in the middle go down by 2.
65
234428
3650
và các điểm ảnh bị bỏ qua ở giữa sẽ giảm xuống hai.
03:58
Things get more complicated when Hedge reaches the center.
66
238078
3080
Mọi thứ sẽ dần trở nên phức tạp khi Hedge vào tới trọng tâm.
04:01
Here there’s a row with just one pixel painted.
67
241158
3041
Ở dòng này chỉ có một ô được tô màu.
04:04
Then the whole thing reverses—
68
244199
1969
Rồi mọi thứ lại đảo ngược—
04:06
the number of pixels skipped goes down by one each time on the left,
69
246168
4123
số điểm ảnh bị bỏ qua ở bên trái sẽ giảm đi một với mỗi dòng,
04:10
and up by two each time in the middle.
70
250291
3366
và các ô bị bỏ qua ở giữa sẽ tăng thêm hai.
04:13
Instructing Hedge to do this with a series of loops will work
71
253657
3454
Việc này đỏi hỏi Hedge sẽ phải duyệt qua một loạt các vòng lặp
04:17
and is a perfectly fine solution.
72
257111
2439
và là một giải pháp hoàn hảo.
04:19
The main drawback is that this requires quite a bit of logic—
73
259550
3601
Hạn chế của giải pháp này đó là đòi hỏi khá nhiều logic—
04:23
knowing what to do in the middle, when to reverse the process,
74
263151
3020
biết làm gì khi ở trọng tâm, khi nào cần đảo ngược,
04:26
and exactly how to reverse it.
75
266171
2690
và đảo ngược như thế nào.
04:28
So how might we approach this
76
268861
1784
Vậy làm thế nào để có thể tiếp cận theo một cách
04:30
so that the logic remains consistent from start to finish?
77
270645
3916
mà logic vẫn nhất quán từ đầu tới cuối?
04:34
The key insight is to look at a grid as a series of concentric squares.
78
274561
5488
Mấu chốt ở đây là ô vuông lớn gồm một loạt các hình vuông đồng tâm.
04:40
Each square follows the same pattern—
79
280049
2640
Các hình vuông đều tuân theo công thức—
04:42
painted pixels in the corners, and unaltered pixels in between.
80
282689
4222
tô những điểm ảnh ở góc, và bỏ qua các điểm ở giữa.
Vậy thì chỉ cần tìm ra cách
04:46
So if we can figure out a way to paint one nested square,
81
286911
3418
để vẽ trên một hình vuông được lồng ghép từ các hình vuông kia,
04:50
transition to the next, and repeat, we can paint them all.
82
290329
4435
rồi di chuyển dần vào trong, và lặp đi lặp lại, thế là xong.
04:54
Painting the outermost one is easy.
83
294764
2361
Vẽ ô vuông bên ngoài là dễ nhất.
04:57
Start in a corner and paint that pixel.
84
297125
2489
Bắt đầu tô điểm ảnh của mỗi góc.
04:59
If we call the length of the painting n,
85
299614
2440
Nếu gọi độ dài của bức vẽ là n,
05:02
fly forward n minus 1 spaces.
86
302054
2750
nhảy về phía trước một khoảng cách bằng n -1.
05:04
Paint another pixel, and turn right.
87
304804
2500
Tô màu vào ô, rồi quay phải.
05:07
Now do the whole thing again… and again.
88
307304
3530
Giờ làm tương tự như vậy, thêm một lần… hai lần.
05:10
Now move forward one less space, turn right, fly forward once,
89
310834
5195
Giờ tiến lên một khoảng bằng n - 2, quay phải, tiến lên một ô,
05:16
and Hedge will be in the next concentric square
90
316029
3170
và giờ thì Hedge sẽ ở bên trong hình vuông đồng tâm tiếp theo
05:19
and ready to repeat the whole process.
91
319199
2785
và sẵn sàng lặp lại trình tự cũ.
05:21
Each square is n minus 2 pixels smaller than the last in length and width,
92
321984
5742
Mỗi một hình vuông con
có cạnh n nhỏ hơn 2 điểm ảnh so với hình trước đó,
05:27
and we can follow this spiral pattern all the way to the center
93
327726
3920
và chúng ta có thể tuân theo công thức vòng xoắn ốc này
cho tới khi tới được trọng tâm hình vuông
05:31
with a loop and a variable that tracks how far Hedge should fly.
94
331646
5147
mà chỉ với một vòng lặp và một biến để giúp Hedge di chuyển.
05:36
Is one of these methods better than the other?
95
336793
2240
Trong hai cách, thì cách nào hay hơn?
05:39
It really depends on what you value.
96
339033
2064
Việc đó dựa vào đánh giá của chúng ta.
05:41
The strength of the spiral is the simplicity of finding a pattern
97
341097
3430
Điểm mạnh của thuật toán xoắn ốc là tính đơn giản
05:44
and reusing the same logic from start to finish.
98
344527
3040
khi tìm ra công thức chung để sử dụng từ đầu tới cuối.
05:47
The advantage of the typewriter approach
99
347567
2100
Lợi thế của thuật toán máy đánh chữ
05:49
is that it’s a more generalized solution,
100
349667
2290
là giải pháp mang tính tổng quát,
05:51
meaning it can be adapted much more simply to fill in any pattern.
101
351957
4070
có nghĩa là nó sẽ phù hợp để vẽ bất kì hình dạng nào.
05:56
For Ethic’s sake, either will do just fine.
102
356027
3271
Đối với Ethic thì loại nào cũng ổn.
05:59
So here’s what happens.
103
359298
1830
Và đây là những gì sảy ra.
06:01
Hedge rapidly defaces all of the portraits.
104
361128
3109
Hedge nhanh chóng đánh dấu X lên toàn bộ bức tranh.
06:04
And within moments
105
364237
1110
Và trong phút chốc
06:05
cries of anguish break out all over the forest.
106
365347
3671
tiếng kêu la đã phá vỡ sự tĩnh lặng của khu rừng.
Người máy đồn trú ở tòa tháp đã bỏ lại các chốt chặn
06:09
The garrison guarding the tower abandon their posts
107
369018
2980
06:11
to calm the agitated people,
108
371998
1970
chạy đến để trấn tĩnh mọi người,
06:13
and Ethic, Hedge, and Octavia slip through—
109
373968
2990
nhân lúc đó Ethic, Hedge, và Octavia lén chạy qua—
06:16
and nearly slip into the depths of the gorge
110
376958
3040
và súy nữa họ đã trượt chân xuống vực sâu của hẻm núi
06:19
standing between them and the tower.
111
379998
2889
nơi tòa tháp ở giữa.
Về trang web này

Trang web này sẽ giới thiệu cho bạn những video YouTube hữu ích cho việc học tiếng Anh. Bạn sẽ thấy các bài học tiếng Anh được giảng dạy bởi các giáo viên hàng đầu từ khắp nơi trên thế giới. Nhấp đúp vào phụ đề tiếng Anh hiển thị trên mỗi trang video để phát video từ đó. Phụ đề cuộn đồng bộ với phát lại video. Nếu bạn có bất kỳ nhận xét hoặc yêu cầu nào, vui lòng liên hệ với chúng tôi bằng biểu mẫu liên hệ này.

https://forms.gle/WvT1wiN1qDtmnspy7