プログラマーのように考える 第8話「難所」
-
0:22 - 0:25塔から落下したエシックとヘッジは
-
0:25 - 0:29エネルギーの急流に
飲み込まれてしまいます -
0:31 - 0:37この急流はブラッドバリアから
ハクセンボーグまで延々と続いています -
0:37 - 0:39ハクセンボーグでは
街中にあふれる工場で -
0:39 - 0:41ロボットが生産されているほか
-
0:41 - 0:47エシックが探し求める3つ目のアイテム
記憶の石も隠されています -
0:47 - 0:50一日中 そして一晩中流されるうちに
-
0:50 - 0:542人はブロックと鋼鉄でできた
渓谷にたどり着きました -
0:59 - 1:02ついに谷底へ真っ逆さまかと
思った その時 -
1:02 - 1:03ロープに助けられました
-
1:07 - 1:112人を助けてくれたのは
そこで待ち受けていたレマでした -
1:11 - 1:15森林の塔でエシックが
創造の石を手に入れた時 -
1:15 - 1:19国じゅうの通信が
回復したため -
1:19 - 1:24抵抗運動のリーダーのアディーラは
すぐに仲間に呼びかけ始め -
1:24 - 1:26中でも重要だったのがレマでした
-
1:26 - 1:32ハクセンボーグの街で機械を止めようと
取り組んでいる有能な科学者です -
1:32 - 1:36あいにく無線通信は
ロボットにも知られてしまい -
1:36 - 1:41ロボットたちは街の中心にある
最後のアイテムを守るべく -
1:41 - 1:43防御態勢に入りました
-
1:43 - 1:49アイテムに到達する道はただひとつ
「分かれ道の難所」を抜ける必要があります -
1:49 - 1:55ハクセンボーグの地下の暗闇に広がる
光るコンベヤーの迷路です -
1:55 - 1:57現在地点からスタートして
-
1:57 - 2:01一定距離を進むと
道が二手に分かれます -
2:01 - 2:05どの道も同じように
繰り返し枝分かれしていきます -
2:05 - 2:07道は何千もあります
-
2:07 - 2:13アイテムへと至るのはたったひとつ
それ以外の道の先にあるのは破滅です -
2:13 - 2:18幸い 創造の石のおかげで
ヘッジには不思議な力が備わりました -
2:18 - 2:21自分の小さなコピーを
生み出せるのです -
2:21 - 2:26コピーにできることは2つ
親に情報を送ることと -
2:26 - 2:30自分の小さなコピーを
生み出すことです -
2:30 - 2:34生み出された子や さらにその子にも
同じことができ -
2:34 - 2:37何世代でも作ることができます
-
2:37 - 2:42警備の手が迫っており
エシックには限られた時間しかありません -
2:42 - 2:47安全な道を見つけるには
ヘッジをどうプログラムしたらよいでしょう? -
2:47 - 2:54ビデオをいったん止めて
自分で考えてみましょう -
2:54 - 2:55ヒントまで 3秒
-
2:55 - 2:56ヒントまで 2秒
-
2:56 - 2:57ヒントまで 1秒
-
2:58 - 3:03プログラマーには「再帰」という
とっておきの道具があります -
3:03 - 3:08再帰というのは一連の指示が
自らの呼び出しを含んでいることを言います -
3:08 - 3:11言葉を定義するのに
その言葉自体を使うようなものです -
3:11 - 3:16言葉の定義には良くなくとも
プログラミングではとても役立ちます -
3:16 - 3:20再帰では反復が行われますが
ループとは違います -
3:20 - 3:24ループでは ある指示を
何度も繰り返し実行しますが -
3:24 - 3:29再帰では ある指示を実行し始めて
完了する前にその指示をまた実行し始め -
3:29 - 3:33それが完了する前にまた実行し始める
という具合に繰り返されます -
3:33 - 3:37何らかの最終状態に到達するまで
これが繰り返されます -
3:37 - 3:41それから一層一層 内から外へ
情報が受け渡されていき -
3:41 - 3:44一番外まで来たら終了します
-
3:44 - 3:49再帰は 問題がそれ自身と
似た部分から構成されている -
3:49 - 3:52自己相似的構造を
持つ場合に有用です -
3:52 - 3:56例えば 足を踏み入れる者を
抹殺するように設計された -
3:56 - 4:00どこかの防御システムがそうです
-
4:00 - 4:02ビデオをいったん止めて
自分で考えてみましょう -
4:02 - 4:03ヒントまで 3秒
-
4:03 - 4:04ヒントまで 2秒
-
4:04 - 4:05ヒントまで 1秒
-
4:05 - 4:08エシックに与えられた難題は
表面的には不規則に見えますが -
4:08 - 4:12実は再帰を使った
非常に簡単な解決法があります -
4:12 - 4:17その方法を見つけるために
まず一番簡単な形を考えてみましょう -
4:17 - 4:20迷路に2つしか
道がなかったらどうでしょう? -
4:20 - 4:25ヘッジがコピーを送り出せば
間違った方へ行ったものは破壊されます -
4:25 - 4:28アイテムにたどり着いた
もうひとつのコピーは -
4:28 - 4:32たどった道を報告できるので
どちらが正しい道であろうと -
4:32 - 4:35ヘッジは正しい答えを
受け取れます -
4:35 - 4:38これを再帰の「基本ケース」と言います
-
4:38 - 4:42今度は迷路が出発点から2回
枝分かれするとしましょう -
4:42 - 4:45それぞれの分かれ道で
ヘッジのコピー -
4:45 - 4:48これを 枝 T1、T2 としておきますが
-
4:48 - 4:53それが さらにコピーを作り
葉 L1~L4 ができます -
4:53 - 4:56葉のうち3つは破壊されます
-
4:56 - 5:00アイテムに到達したものが
正しい答えを送り返しますが -
5:00 - 5:02受け取るのはその親だけです
-
5:02 - 5:06分かれ道で待っている
枝 T1、T2 のどちらかが -
5:06 - 5:08無線で報告を受けたなら
-
5:08 - 5:11そちらがアイテムへと続く
道だということです -
5:11 - 5:15ヘッジの視点から
正しい答えを伝えるには -
5:15 - 5:17枝は自分がどちらへ向かったかと
-
5:17 - 5:21無線で報告された道筋を
教えればいいのです -
5:21 - 5:25分かれ道がいくつあろうと
同じやり方でいけます -
5:25 - 5:28無線で聞いた答えが
-
5:28 - 5:32その地点からアイテムへと
向かう道筋であり -
5:32 - 5:34自分がどの道筋をたどったか
付け加えれば -
5:34 - 5:37どうやってそこに行けるかを
親に伝えられます -
5:37 - 5:44ヘッジのコピーたちが従うべきこの手順を
「パスファインダー」と名付けましょう -
5:44 - 5:47① アイテムに到達したら
-
5:47 - 5:51左右のどちらの道を通ったかを
親に伝えること -
5:51 - 5:55② 分かれ道に来たら
コンベヤーから降りて -
5:55 - 5:58新しいコピーを左右の道に送り出し
-
5:58 - 6:01どちらにもパスファインダーを
実行させること― -
6:01 - 6:03ここで再帰を使っているわけです
-
6:03 - 6:08最後の指示が行われるまで
それが何度も繰り返されます -
6:08 - 6:13③ 最後に なにか情報が報告されたら
親に報告し -
6:13 - 6:17このとき 左右どちらの道を
たどったかと -
6:17 - 6:19聞いた情報をすべて繰り返すこと
-
6:19 - 6:22パスファインダーは
プログラマーが -
6:22 - 6:26関数とか サブルーチンとか 手続きと
呼んでいるものの例です -
6:26 - 6:30どの名前で呼ぶにせよ
考え方は同じです -
6:30 - 6:34簡単に再利用できるよう
名前を付けられた一連の指示ということで -
6:34 - 6:37自分で自分を使うこともできます
-
6:37 - 6:40この場面では ぴったりの方法です
-
6:40 - 6:45たった3つの指示で
すべての道筋を網羅できるのです -
6:46 - 6:48さて どうなるでしょう
-
7:10 - 7:16警備の手がすぐそこに迫った時
エシックとレマは変装します -
7:16 - 7:20ロボットたちを混乱させて
ヘッジのために時間稼ぎをするのです -
7:31 - 7:36ついに 無線でヘッジに
道順が送られてきました -
7:36 - 7:40コンベヤーに飛び乗って
命からがら逃げ出す3人を -
7:40 - 7:44監視ロボットたちが
全速力で追って行きます
- Title:
- プログラマーのように考える 第8話「難所」
- Speaker:
- アレックス・ローゼンタール
- Description:
-
アニメシリーズ『プログラマーのように考える』の第8話。全10話から成るこのシリーズは、エシックという女の子とロボットの相棒ヘッジが世界を救うために頑張るお話です。2人は3つのアイテムを集める冒険に出発しますが、その途中プログラミングのパズルを解きながら進まなければなりません。
講師:アレックス・ローゼンタール 監督:Kozmonot Animation Studio
*このビデオの教材:https://ed.ted.com/lessons/the-gauntlet-think-like-a-coder-ep-8 - Video Language:
- English
- Team:
- closed TED
- Project:
- TED-Ed
- Duration:
- 08:01
Yasushi Aoki approved Japanese subtitles for The Gauntlet | Think Like A Coder, Ep 8 | ||
Yasushi Aoki accepted Japanese subtitles for The Gauntlet | Think Like A Coder, Ep 8 | ||
Yasushi Aoki edited Japanese subtitles for The Gauntlet | Think Like A Coder, Ep 8 | ||
Moe Shoji edited Japanese subtitles for The Gauntlet | Think Like A Coder, Ep 8 | ||
Yasushi Aoki declined Japanese subtitles for The Gauntlet | Think Like A Coder, Ep 8 | ||
Yasushi Aoki edited Japanese subtitles for The Gauntlet | Think Like A Coder, Ep 8 | ||
Yasushi Aoki edited Japanese subtitles for The Gauntlet | Think Like A Coder, Ep 8 | ||
Yasushi Aoki edited Japanese subtitles for The Gauntlet | Think Like A Coder, Ep 8 |