The Chasm | Think Like A Coder, Ep 6

446,987 views ・ 2020-01-30

TED-Ed


ဗီဒီယိုကိုဖွင့်ရန် အောက်ပါ အင်္ဂလိပ်စာတန်းများကို နှစ်ချက်နှိပ်ပါ။

Translator: sann tint Reviewer: Myo Aung
00:21
Ethic, Hedge, and Octavia stand on the edge of a bottomless ravine.
0
21937
4675
Ethic Hedge နဲ့ Octavia တို့ဟာ အသူတစ်ရာ နက်တဲ့ ချောက်ကမ်းပါမှာ ရပ်နေတယ်။
00:26
It’s the only thing between them and the tower
1
26612
2690
ဒါကတော့ သူတို့နဲ့ အစွမ်းထက်တဲ့ ရှေးဟောင်းပစ္စည်း
00:29
that houses the second of three powerful artifacts.
2
29302
3648
သုံးခုအနက် နှစ်ခု ထည့်ထားတဲ့ မျှော်စင် ကြားမှာ ရှိတဲ့ တစ်ခုတည်းသောအရာပါ။
00:32
They’ve got a brief window of time to get across before the guards return.
3
32950
4980
အစောင့်တွေ ပြန်မလာခင် ဖြစ်ကူးဖို့ 
 တိုတောင်းတဲ့ အခွင့်ကောင်းတစ်ခုရှိတယ်။
00:37
With Hedge’s fuel gauge on empty he won’t be able to fly Ethic across,
4
37930
4705
Hedge ရဲ့ ဗလာဖြစ်နေတဲ့ ကိရိယာနဲ့ဆို သူဟာ Ethic ဆီ ဖြတ်ကူးနိုင်မှာ မဟုတ်တော့​
00:42
so the only option is to make a bridge.
5
42635
3630
တစ်ခုတည်းသော ရွေးချယ်စရာက တံတားတစ်ခု ဖန်တီးဖို့ပါ။
00:46
Fortunately, the floating stacks of stones nearby are bridge components—
6
46265
4655
ကံကောင်းစွာနဲ့ အနီးက အတည်မကျတဲ့ ကျောက်တုံး အဆင့်တွေက တံတားအစိတ်အပိုင်းတွေပါ။
00:50
invented by Octavia herself— called hover-blocks.
7
50920
4026
Octavia ကိုယ်တိုင် တီထွင်ထားတဲ့ ဝဲပျံနေတဲ့ ကျောက်တုံးများလို့ခေါ်ပါတယ်။
00:54
Activate a pile with a burst of energy,
8
54946
2552
စွမ်းအင်ပေါက်ကွဲတစ်ခုနဲ့အတူ အပုံကြီးကို အသက်သွင်းပါ။
00:57
and they’ll self-assemble to span the ravine as Ethic walks across.
9
57498
4516
Ethic ဖြတ်လျှောက်စဉ်မှာ ချောက်ကို တံတားခင်းဖို့ အလိုလို တပ်ဆင်သွားမယ်။
01:02
But there is, of course, a catch.
10
62014
3578
ဒါပေမဲ့ အဲဒီမှာ မြှုပ်ကွက်တစ်ခုရှိတယ်။
01:05
The hover-blocks are only stable when they’re perfectly palindromic.
11
65592
4659
ဝဲပျံနေတဲ့ ကျောက်တုံးတွေဟာ လုံးဝကို ရှေ့ပြန်နောက်ပြန်ညီနေမှ ငြိမ်မှာပါ။
01:10
Meaning they have to form a sequence
12
70251
2260
ဆိုလိုတာက ရှေ့ပြန်နောက်ပြန် ကြည့်တဲ့အခါ
01:12
that’s the same when viewed forwards and backwards.
13
72511
4263
တူညီတဲ့ အစဉ်တစ်ခုကို ပုံဖော်ဖို့လိုတာပါ။
01:16
The stacks start in random orders,
14
76774
2170
အပုံတွေက ကျပန်း အစီအစဉ်နဲ စတင်ပေမဲ့
01:18
but will always put themselves into a palindromic configuration
15
78944
3660
၎င်းတို့ တတ်နိင်ရင် အလိုလို ရှေ့ပြန်၊နောက်ပြန် ညီတဲ့
01:22
if they can.
16
82604
1290
ပုံသဏ္ဌာန် အမြဲဖြစ်နေမယ်။
01:23
If they get to a point where a palindrome isn’t possible,
17
83894
2880
ရှေ့ပြန်နောက်ပြန် မညီတော့တဲ့ နေရာတစ်ခုကို ရောက်သွားရင်တော့
01:26
the bridge will collapse,
18
86774
1551
တံတား ပြိုကျသွားမှာဖြစ်ပြီး
01:28
and whoever’s on it will fall into the ravine.
19
88325
3489
ဒီအပေါ်မှာ ရှိသူတိုင်းဟာ ချောက်ကို ကျသွားမှာပါ။
01:31
Let’s look at an example.
20
91814
1638
နမူနာတစ်ခု ကြည့်ရအောင်။
01:33
This stack would make itself stable.
21
93452
2460
ဒီအပုံက သူ့ဘာသာဆို ငြိမ်နေမှာပါ။
01:35
First the A blocks hold themselves in place.
22
95912
3000
ပထမဆုံး A အတုံးတွေဟာ အလိုလို နေရာတကျ ရှိပါတယ်။
01:38
Then the B’s.
23
98912
1070
နောက်တော့ B အတုံးတွေ။
01:39
And finally the C would nestle right between the B’s.
24
99982
3690
နောက်ဆုံးမှာတော့ C ဟာ B တွေရဲ့ကြားမှာ တင်နေလိမ့်မယ်။
01:43
However, suppose there was one more A.
25
103672
3450
ဒါပေမဲ့ A တစ်ခု ထပ်ရှိတယ် ဆိုပါစို့။
01:47
First two A blocks form up, then two B’s,
26
107122
3120
ပထမ A နှစ်တုံး ဖြစ်ပေါ်ပြီး နောက် B တုံးဆိုပေမဲ့
01:50
but now the remaining C and A have nowhere to go,
27
110242
3370
ကျန်နေတဲ့ C နဲ့ A တို့က သွားစရာ မရှိတော့
01:53
so the whole thing falls apart.
28
113612
2460
အကုန်လုံး ပြိုကျသွားတယ်။
01:56
The Node of Power enables Hedge to energize a single stack of blocks.
29
116072
4670
Node of Power က အတုံးတွေရဲ့ တစ်ခုတည်းသော အပုံကို အားရှိစေဖို့ Hedge ကို ကူပေးတယ်။
02:00
What instructions can Ethic give Hedge to allow him to efficiently find
30
120742
4334
တည်ငြိမ်တဲ့ ရှေ့ပြန်နောက်ပြန်ညီတဲ့ အပုံတစ်ပုံကို Hedge အချိန်တိုတိုနဲ့တွေ့ကာ
02:05
and power a stable palindromic stack?
31
125076
3051
မောင်းနှင်ဖြစ်ဖို့ သူ့ကို Ethic က ဘာညွှန်ကြားချက်တွေ ပေးနိုင်လဲ။
02:08
Pause now to figure it out for yourself.
32
128127
9970
အခု ခဏရပ်ပြီး ကိုယ်တိုင် အဖြေရှာကြည့်ပါ။
02:18
Examples of palindromes include ANNA, RACECAR, and MADAM IM ADAM.
33
138097
5461
ရှေ့ပြန်နောက်ပြန် ညီတာတွေရဲ့ ဥပမာတွေမှာ ANNA, RACECAR နဲ့MADAM IM ADAM တို့ပါတယ်။
02:23
Counting the number of times a given letter appears in a palindrome
34
143558
3730
ရှေ့ပြန်နောက်ပြန် ညီပုံရတဲ့ ပေးထားတဲ့ စာလုံးတစ်လုံးရဲ့ အရေအတွက်ကို ရေတွက်တာက
02:27
will reveal a helpful pattern.
35
147288
2532
အထောက်အကူရတဲ့ ပုံစံတစ်ခုကို ဖော်ပြမှာပါ။
02:29
Pause now to figure it out for yourself.
36
149820
4831
အခု ခဏရပ်ပြီး ကိုယ်တိုင် အဖြေရှာကြည့်ပါ။
02:34
Let’s first look at a naïve solution to this problem.
37
154651
3490
ဒီပုစ္ဆာအတွက် ခပ်တုံးတုံး အဖြေတစ်ခုအဖြစ် အရင်ဆုံး ကြည့်လိုက်ရအောင်။
02:38
A naïve solution is a simple, brute-force approach that isn’t optimized—
38
158141
4708
ခပ်တုံးတုံး အဖြေတစ်ခုဟာ ရိုးရိုးအဖြေတစ်ခု၊ အကောင်းဆုံးလုပ်မထားတဲ့ ပကတိအား နည်းလမ်းပါ
02:42
but will get the job done.
39
162849
1980
ဒါပေမဲ့ အလုပ်ကို ပြီးမြောက်စေမှာပါ။
02:44
Naïve solutions are helpful ways to analyze problems,
40
164829
3491
ခပ်တုံးတုံး အဖြေတွေဟာ ပုစ္ဆာတွေကို စိစစ်ဖို့ ကူညီတဲ့ နည်းလမ်းတွေဖြစ်ပြီး
02:48
and work as stepping stones to better solutions.
41
168320
3434
ပိုကောင်းတဲ့ အဖြေတွေအတွက် လှေကားထစ်တွေ အဖြစ် လုပ်ဆောင်ပါတယ်။
02:51
In this case, a naïve solution is to approach a pile of blocks,
42
171754
3770
ဒီဖြစ်ရပ်မှာ ခပ်ရိုးရိုး အဖြေတစ်ခုဟာ ကျောက်တုံးပုံတစ်ခုပုံကို ချဉ်းကပ်ဖို့ပါ။
02:55
try all the arrangements,
43
175524
1500
အစီအစဉ်အားလုံးကို စမ်းကြည့်ပြီး
02:57
and see if one is a palindrome by reading it forward and then backwards.
44
177024
4727
ရှေ့တစ်ပြန်၊နောက်တစ်ပြန်ဖတ်ပြီး ရှေ့နောက်ညီတာတစ်ခု ရှိမရှိ ကြည့်ဖို့ပါ။
03:01
The problem with this approach
45
181751
1480
ဒီနည်းလမ်းနဲ့ ပြဿနာက
03:03
is that it would take a tremendous amount of time.
46
183231
2493
အချိန်ပမာဏ အများကြီး ယူရမှာပါ။
03:05
If Hedge tried one combination every second,
47
185724
2850
Hedge ဟာ စက္ကန့်တိုင်း အတွဲတစ်ခုကို စမ်းသပ်ကြည့်တယ်ဆိုရင်
03:08
a stack of just 10 different blocks would take him 42 days to exhaust.
48
188574
5198
အတုံး ၁၀ မျိုးသာရှိတဲ့ အဆင့်တစ်ခုဟာ ပြီးပြည့်စုံဖို့ ၄၂ ရက် ကြာလိမ့်မယ်။
03:13
That’s because the total time is a function of the factorial
49
193772
3830
အကြောင်းကတော့ စုစုပေါင်းအချိန်ဟာ အဲဒီမှာရှိတဲ့ အတုံးတွေရဲ့အရေအတွက်
03:17
of the number of blocks there are.
50
197602
2142
မြှောက်ဖော်ကိန်းရဲ့ မှီကိန်းတစ်ခုဖြစ်လို့ပါ။
03:19
10 blocks have over 3 million combinations.
51
199744
3600
၁၀ တုံးဆီမှာ ပေါင်းစပ်မှုမျိုးစုံ ၃ သန်းကျော် ရှိတယ်။
03:23
What this naïve solution shows is that we need a much faster way
52
203344
4280
ဒီခပ်တုံးတုံး အဖြေက ပြသတာက အတုံး တစ်ပုံဟာ ရှေ့ပြန်နောက်ပြန်ညီတာတစ်ခုက
03:27
to tell whether a pile of blocks can form a palindrome.
53
207624
3593
ပုံဖော်ပေးနိုင်၊လား ပြောဖို့ အများကြီး ပိုမြန်တဲ့နည်းလမ်းတစ်ခု လိုတာကိုပါ။
03:31
To start, it may be intuitively clear that a pile of all different blocks
54
211217
4716
စတင်ဖို့ မတူတဲ့ အတုံးတွေအားလုံးရဲ့ အပုံတစ်ပုံဟာဘယ်တော့မှ တစ်ခုတည်းမဖြစ်တာ
03:35
will never form one.
55
215933
1420
အလိုလို ရှင်းနေလောက်တယ်။ ဘာကြောင့်လဲ။
03:37
Why?
56
217353
790
03:38
The first and last blocks can’t be the same if there are no repeats.
57
218143
5281
ပထမဆုံးနဲ့ နောက်ဆုံး အတုံးတွေဟာ ထပ်မကျော့ဘူးဆိုရင် အတူညီနိုင်ဘူး။
03:43
So when can a given sequence become a palindrome?
58
223424
5012
ဒီတော့ ပေးထားတဲ့ အစဉ်တစ်ခုဟာ ဘယ်အခါမှာ ရှေ့ပြန်နောက်ပြန်ညီလာလဲ။
03:48
One way to figure that out is to analyze a few existing palindromes.
59
228436
4480
ဒါကို မှန်းဆကြည့်ဖို့ နည်းလမ်းတစ်ခုက ရှိနေတဲ့ ရှေ့နောက်ညီမှုတွေကို စိစစ်ဖို့ပါ။
03:52
In ANNA, there are 2 A’s and 2 N’s.
60
232916
3254
ANNA မှာ A နှစ်ခု၊ N နှစ်ခုရှိတယ်။
03:56
RACECAR has 2 R’s, 2 A’s, 2 C’s, and 1 E.
61
236170
4886
RACECAR မှာ R နှစ်ခု၊ A နှစ်ခု၊ C ခု နဲ့ E တစ်ခုရှိတယ်။
04:01
And MADAM IM ADAM has 4 M’s, 4 A’s, 2 D’s, and 1 I.
62
241056
6730
ပြီးတော့ MADAM IM ADAM မှာ M ၄ ခု၊ D ၂ ခုနဲ့ I တစ်ခုရှိတယ်။
04:07
The pattern here is that most of the letters occur
63
247786
3140
ဟောဒီ ပုံစံကတော့ အကြိမ်တွေရဲ့ စုံကိန်းတစ်ခု
04:10
an even number of times,
64
250926
1774
ဖြစ်ပေါ်စေတဲ စာလုံးအများစုပါ။
04:12
and there’s at most 1 that occurs just once.
65
252700
3280
၁ ဟာ အများဆုံး တစ်ကြိမ်ပဲဖြစ်ပေါ်တယ်။
04:15
Is that it?
66
255980
1110
ဟုတ်တယ်မို့လား။
04:17
What if RACECAR had 3 E’s instead of 1?
67
257090
3260
RACECAR မှာ E က ၁ ခု အစား ၃ ခုရှိတယ်ဆိုရင်ရော။
04:20
We could tack the new E’s onto the ends and still get a palindrome,
68
260350
3710
E အသစ်တွေကို အဆုံးတွေမှာ ဆက်တွဲပြီး ရှေ့နောက်ညီတာတစ်ခု ရနိင်ပါသေတယ်။
04:24
so 3 is ok.
69
264060
1840
ဒီတော့ ၃ ခုက အဆင်ပြေပါတယ်။
04:25
But make that 3 E’s and 3 C’s, and there’s nowhere for the last C to go.
70
265900
6064
ဒါပေမဲ့ E သုံးခု၊ C သုံးခု သေချာစေပြီး နောက်ဆုံး C ကို သွားနေရာမရှိပါစေနဲ့။
04:31
So the most generalized insight is that
71
271964
2720
ဒီတော့ ယေဘုယျအကျဆုံး အတွင်းသဘောက
04:34
at most one letter can appear an odd number of times,
72
274684
4096
စာလုံးတစ်လုံး အများဆုံး ပေါ်စေတာက မ အကြိမ် အရေအတွက်တစ်ခုဆိုပေမဲ့
04:38
but the rest have to be even.
73
278780
3066
ကျန်တာကတော့ စုံ ဖြစ်ဖို့လိုတယ်။
04:41
Hedge can count the letters in each stack and organize them into a dictionary,
74
281846
4314
Hedge ဟာ အဆင့်တိုင်းထဲက စာလုံးတွေကို ရေပြီး အဘိဓာန်လို့ စီစဉ်နိုင်တယ်။
04:46
which is a tidy way of storing information.
75
286160
2725
ဒါက သိမ်းထားတဲ့ သတင်းအချက်အလက်ရဲ့ သေသပ်တဲ့နည်းလမ်းတစ်ခုပါ။
04:48
A loop could then go through and count how many times odd numbers appear.
76
288885
4579
ဒီနောက် ကျော့ကွင်းတစ်ခုဟာ ပြီးပြတ်သွားပြီး မ ကိန်းတွေပေါ်တဲ့ အကြိမ်ပေါင်းကို ရေတယ်။
04:53
If there are less than 2 odd characters, the stack can be made into a palindrome.
77
293464
5500
မ အက္ခရာ ၂ လုံးထက် နည်းရင် အဆင့်ကို ရှေ့နောက်ညီတာတစ်ခုအဖြစ် လုပ်လို့ရပါတယ်။
04:58
This approach is much, much faster than the naïve solution.
78
298964
3720
ဒီနည်းလမ်းက ခပ်တုံးတုံး အဖြေထက် အများကြီးကို ပိုမြန်ပါတယ်။
05:02
Instead of factorial time, it takes linear time.
79
302684
3420
မြောက်ဖော်ကိန်း အချိန်အစား အစဉ်လိုက် အချိန် ကြာပါတယ်။
05:06
That’s where the time increases
80
306104
1570
အဲဒီမှာရှိတဲ့ အတုံးအရေအတွက်ကို
05:07
in proportion to the number of blocks there are.
81
307674
2710
လိုက်ပြီး အချိန်တိုးလာတဲ့ နေရာပါ။
05:10
Now write a loop for Hedge to approach the piles individually,
82
310384
3990
အပုံတွေကို တစ်ခုချင်း ချဉ်းကပ်ဖို့ Hedge အတွက် ကျော့ကွင်းတစ်ခုကို အခု ရေးပြီး
05:14
and stop when he finds a good one, and you’ll be ready to go.
83
314374
4155
ကောင်းတာတစ်ခုကို သူတွေ့တဲ့အခါ ရပ်လိုက်ပါ။ သွားဖို့ အသင့်ဖြစ်ပါလိမ့်မယ်။
05:18
Here’s what happens:
84
318529
1389
ဟောဒီမှာ ဖြစ်ပျက်သွားတာပါ။
05:19
Hedge is fast, but there are so many piles it takes a long time.
85
319918
4046
Hedge ဟာ လျင်မြန်ပေမဲ့ အပုံတွေက သိပ်များလွန်းတော့ အချိန်အကြာကြီး ယူရတယ်။
05:23
Too long.
86
323964
1356
ကြာကို ကြာလွန်းတာပါ။
06:17
Ethic and Hedge are safe.
87
377897
1680
Ethic နဲ့ Hedge ဟာ ဘေးကင်းပေမဲ့
06:19
But Octavia is not so lucky.
88
379577
2423
Octavia ကတော့ ကံသိပ်မကောင်းရှာဘူး။
ဤဝဘ်ဆိုဒ်အကြောင်း

ဤဆိုက်သည် သင့်အား အင်္ဂလိပ်စာလေ့လာရန်အတွက် အသုံးဝင်သော YouTube ဗီဒီယိုများနှင့် မိတ်ဆက်ပေးပါမည်။ ကမ္ဘာတစ်ဝှမ်းမှ ထိပ်တန်းဆရာများ သင်ကြားပေးသော အင်္ဂလိပ်စာသင်ခန်းစာများကို သင်တွေ့မြင်ရပါမည်။ ဗီဒီယိုစာမျက်နှာတစ်ခုစီတွင် ပြသထားသည့် အင်္ဂလိပ်စာတန်းထိုးများကို နှစ်ချက်နှိပ်ပါ။ စာတန်းထိုးများသည် ဗီဒီယိုပြန်ဖွင့်ခြင်းနှင့်အတူ ထပ်တူပြု၍ လှိမ့်သွားနိုင်သည်။ သင့်တွင် မှတ်ချက်များ သို့မဟုတ် တောင်းဆိုမှုများရှိပါက ဤဆက်သွယ်ရန်ပုံစံကို အသုံးပြု၍ ကျွန်ုပ်တို့ထံ ဆက်သွယ်ပါ။

https://forms.gle/WvT1wiN1qDtmnspy7