裂谷|用程式設計的方式思考,第六集
-
0:09 - 0:11[用程式設計的方式思考]
-
0:13 - 0:16[地點:198 森林]
-
0:18 - 0:20[第六集 裂谷]
-
0:22 - 0:27艾希克、海吉、奧特薇雅
站在無底深谷的邊緣。 -
0:27 - 0:29他們和高塔之間就只有這個深谷,
-
0:29 - 0:33三個強大工藝品中的
第二個就在這座塔內。 -
0:33 - 0:38他們在守衛回來之前,
還有一點時間可以設法越過深谷。 -
0:38 - 0:43海吉的燃料已經快用盡,
他無法帶艾希克飛過去。 -
0:43 - 0:46剩下的唯一選擇,就是造橋。
-
0:46 - 0:51幸運的是,附近有一疊疊的浮石,
是可造橋的元件—— -
0:51 - 0:55它們是奧特薇雅自己的發明
——叫做懸浮塊。 -
0:55 - 0:57用能量激發其中一疊,
-
0:58 - 1:02它們就會自行組合,跨越深谷,
讓艾希克可以走過去。 -
1:02 - 1:05但,當然,沒這麼簡單。
-
1:06 - 1:10懸浮塊只有在完全
對稱的時候才會穩定。 -
1:10 - 1:13意即,它們必須形成一個序列,
-
1:13 - 1:17順著看跟逆著看
都要完全一樣才行。 -
1:17 - 1:19每一疊開始的順序都是隨機的,
-
1:19 - 1:24但在可以的情況下,
都會自行排成對稱的形式。 -
1:24 - 1:27如果出現無法達成對稱的情況,
-
1:27 - 1:28橋就會崩垮,
-
1:28 - 1:31橋上的人就會落入深谷中。
-
1:32 - 1:33我們來看一個例子。
-
1:33 - 1:36這一疊懸浮塊會自行穩定下來。
-
1:36 - 1:40A 懸浮塊會先就位。再到 B。
-
1:40 - 1:44最後是 C,在兩個 B 之間。
-
1:44 - 1:47然而,如果有再多一個 A,
-
1:47 - 1:50兩個 A 會先排好,
接著是兩個 B, -
1:50 - 1:54但,現在就剩下一個 C
及一個 A,無處可去, -
1:54 - 1:56這個結構就會崩垮。
-
1:56 - 2:01力量球會讓海吉能夠
用能量激發其中一疊懸浮塊。 -
2:01 - 2:05艾希克要給海吉什麼樣的指令,
才能讓他有效率地找到 -
2:05 - 2:09一疊穩定的對稱懸浮塊,
並用能量激發它們? -
2:09 - 2:13[若你想要嘗試解題,請在此暫停。]
-
2:18 - 2:23對稱的例子包括 ANNA、
RACECAR、MADAM IM ADAM。 -
2:24 - 2:27計算一個字母出現在
對稱排列中的次數, -
2:27 - 2:30能找出有幫助的模式。
-
2:30 - 2:35[若你想要嘗試解題,請在此暫停。]
-
2:35 - 2:38針對這個問題,咱們先來
看一個天真的解決方案。 -
2:38 - 2:43天真的解決方案是簡單、
用蠻力、沒有最佳化的方式—— -
2:43 - 2:45但能完成任務。
-
2:45 - 2:48天真的解決方案
可以協助分析問題, -
2:48 - 2:52且可以當作墊腳石,
以想出更好的解決方案。 -
2:52 - 2:54在這裡,天真的解決方案是
-
2:54 - 2:57先選一疊懸浮塊,
嘗試所有的排列組合, -
2:57 - 3:01再透過正向及逆向閱讀的方式,
看看是否有一種組合是對稱的。 -
3:02 - 3:06這個方法的問題
是要花很大量的時間。 -
3:06 - 3:09假設海吉嘗試一種
組合需要一秒鐘, -
3:09 - 3:14若一疊中有十種不同的懸浮塊,
就要花四十二天試盡所有組合。 -
3:14 - 3:17因為需要的總時間
-
3:17 - 3:20會隨懸浮塊數目的乘階而增加。
-
3:20 - 3:23十個懸浮塊就會有三百萬種組合。
-
3:23 - 3:28天真的解決方案告訴我們,
我們需要一種更快的方法, -
3:28 - 3:31來辨別哪一疊懸浮塊
能夠形成對稱排列。 -
3:31 - 3:34一開始,直覺上很清楚,
一疊懸浮塊中, -
3:34 - 3:38若每塊的字母都不同,
就不可能形式對稱排列。為什麼? -
3:38 - 3:43若沒有重覆的字母,第一個
和最後一個懸浮塊就不會相同。 -
3:43 - 3:48所以,什麼情況下一疊懸浮塊
能夠形成對稱的排列? -
3:48 - 3:53找出答案的方式之一,
就是分析幾個既有的對稱排列。 -
3:53 - 3:56在 ANNA 中,
有兩個 A、兩個 N。 -
3:56 - 4:01RACECAR 有兩個 R、
兩個 A、兩個 C、一個 E。 -
4:01 - 4:04MADAM IM ADAM
有四個 M、 -
4:04 - 4:07四個 A、兩個 D、一個 I。
-
4:08 - 4:10這裡的模式是,有出現的字母
-
4:10 - 4:13大部分都以雙數出現,
-
4:13 - 4:17最多只有一個字母會出現一次。
是這樣嗎? -
4:17 - 4:20如果 RACECAR 有三個 E,
而不是一個呢? -
4:20 - 4:24我們可以把新增加的兩個 E
補在兩端,仍然會對稱, -
4:24 - 4:26所以三個也可以。
-
4:26 - 4:29但如果有三個 E 和三個 C,
-
4:29 - 4:32最後一個 C 就沒地方放了。
-
4:32 - 4:35所以,最一般化的洞見是,
-
4:35 - 4:39最多只能有一個字母
出現的次數是單數, -
4:39 - 4:41其他字母的出現次數都要是雙數。
-
4:42 - 4:46海吉可以去計算每一疊懸浮石
當中的字母數,整理成字典, -
4:46 - 4:49這是種很整齊的資訊儲存方法。
-
4:49 - 4:54接著可以用迴圈來計算
單數出現了幾次。 -
4:54 - 4:59若一疊當中的單數字母不到兩個,
它就可以形成對稱排列。 -
4:59 - 5:03這個方法比天真的
解決方案快非常多。 -
5:03 - 5:06需要的時間不是
階乘的,是線性的。 -
5:06 - 5:10也就是說,需要的時間
和懸浮塊的數目成正比。 -
5:10 - 5:15現在只要為海吉寫一個迴圈,
讓他分別接近每一疊懸浮塊。 -
5:15 - 5:19在他找到可用的一疊之後就停止,
這樣你就可以準備出發了。 -
5:19 - 5:20結果,發生的狀況是:
-
5:20 - 5:24海吉動作很快,但有太多疊了,
他花了很長的時間。 -
5:24 - 5:26太久了。
-
6:18 - 6:20艾希克和海吉安全了。
-
6:20 - 6:22但奧特薇雅卻沒這麼幸運。
- Title:
- 裂谷|用程式設計的方式思考,第六集
- Speaker:
- 艾力克斯羅森索
- Description:
-
這是《用程式設計的方式思考》動畫系列的第六集。這十集的故事以一位女孩艾希克為主角,與她的機器人夥伴海吉一起嘗試拯救世界。他們踏上旅途,要收集三樣工藝品,在過程中還得破解一連串的程式謎題。
完整課程連結:https://ed.ted.com/lessons/the-artists-think-like-a-coder-ep-6
課程設計:艾力克斯羅森索
導演:Kozmonot Animation Studio - Video Language:
- English
- Team:
- closed TED
- Project:
- TED-Ed
- Duration:
- 06:24
Marssi Draw approved Chinese, Traditional subtitles for The Chasm | Think Like A Coder, Ep 6 | ||
Marssi Draw edited Chinese, Traditional subtitles for The Chasm | Think Like A Coder, Ep 6 | ||
H_L Au accepted Chinese, Traditional subtitles for The Chasm | Think Like A Coder, Ep 6 | ||
H_L Au edited Chinese, Traditional subtitles for The Chasm | Think Like A Coder, Ep 6 | ||
H_L Au edited Chinese, Traditional subtitles for The Chasm | Think Like A Coder, Ep 6 | ||
H_L Au edited Chinese, Traditional subtitles for The Chasm | Think Like A Coder, Ep 6 | ||
Lilian Chiu edited Chinese, Traditional subtitles for The Chasm | Think Like A Coder, Ep 6 | ||
Lilian Chiu edited Chinese, Traditional subtitles for The Chasm | Think Like A Coder, Ep 6 |