[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:31.59,0:00:36.44,Default,,0000,0000,0000,,エシックとヘッジは\N巨大な塔の1階にいます Dialogue: 0,0:00:37.30,0:00:38.98,Default,,0000,0000,0000,,エネルギーのバリアによって Dialogue: 0,0:00:38.98,0:00:44.33,Default,,0000,0000,0000,,2つめのアイテム「創造の石」から\N隔てられています Dialogue: 0,0:00:52.67,0:00:57.58,Default,,0000,0000,0000,,手に入れるには 3つのエネルギーの流れに乗って\N塔を登る必要があります Dialogue: 0,0:00:57.58,0:01:03.52,Default,,0000,0000,0000,,一歩前に出るやいなや\N60秒のカウントダウンが始まります Dialogue: 0,0:01:07.36,0:01:11.66,Default,,0000,0000,0000,,部屋の奥には その中に\Nエネルギーを保持できる― Dialogue: 0,0:01:11.66,0:01:14.74,Default,,0000,0000,0000,,目に見えない塔がそびえています Dialogue: 0,0:01:14.74,0:01:18.86,Default,,0000,0000,0000,,60秒が過ぎると エネルギーが勢いよく\N上から降ってきて Dialogue: 0,0:01:18.86,0:01:21.15,Default,,0000,0000,0000,,1ユニットずつ満たしていきます Dialogue: 0,0:01:21.15,0:01:25.50,Default,,0000,0000,0000,,力場によって エネルギーが前後から\N漏れないようになっているのです Dialogue: 0,0:01:25.50,0:01:27.82,Default,,0000,0000,0000,,始まるまでの60秒の間に Dialogue: 0,0:01:27.82,0:01:32.72,Default,,0000,0000,0000,,エシックとヘッジはどれくらいのエネルギーを\N降らせるかを決めなければなりません Dialogue: 0,0:01:32.72,0:01:34.67,Default,,0000,0000,0000,,3回の挑戦のたびに Dialogue: 0,0:01:34.67,0:01:38.20,Default,,0000,0000,0000,,塔のくぼみをちょうど満たす\Nエネルギー量を求めるのです Dialogue: 0,0:01:38.20,0:01:42.11,Default,,0000,0000,0000,,成功すれば エネルギーに乗って\N上へと進むことができます Dialogue: 0,0:01:42.11,0:01:46.65,Default,,0000,0000,0000,,でも量を間違えると\Nエネルギーの昇降機は働かず Dialogue: 0,0:01:46.65,0:01:48.13,Default,,0000,0000,0000,,下に落ちてしまいます Dialogue: 0,0:01:48.13,0:01:51.35,Default,,0000,0000,0000,,壁にある図に\N例が示されています Dialogue: 0,0:01:51.35,0:01:55.62,Default,,0000,0000,0000,,この形の場合は 2ユニット分の\Nエネルギーが入ります Dialogue: 0,0:01:55.62,0:02:00.80,Default,,0000,0000,0000,,この形の場合は 4ユニット分―\N左に3つ 右に1つです Dialogue: 0,0:02:00.80,0:02:03.42,Default,,0000,0000,0000,,この場合も 4ユニット分です Dialogue: 0,0:02:03.42,0:02:06.69,Default,,0000,0000,0000,,なぜなら 右端に入ったエネルギーは\Nこぼれ出てしまうからです Dialogue: 0,0:02:06.69,0:02:08.81,Default,,0000,0000,0000,,降り注ぐエネルギーは Dialogue: 0,0:02:08.81,0:02:13.54,Default,,0000,0000,0000,,周囲に支えるものがなければ\Nあふれてしまうのです Dialogue: 0,0:02:13.54,0:02:19.00,Default,,0000,0000,0000,,ヘッジはブロックの列を1列ずつ可視化して\N高さを測ることができますが Dialogue: 0,0:02:19.00,0:02:22.81,Default,,0000,0000,0000,,全体の構造を一度に\N見ることはできません Dialogue: 0,0:02:22.81,0:02:25.78,Default,,0000,0000,0000,,エシックがヘッジを\Nどのようにプログラミングすれば Dialogue: 0,0:02:25.78,0:02:29.59,Default,,0000,0000,0000,,それぞれの塔がくぼみに保持できる\Nエネルギー量を把握できるでしょう? Dialogue: 0,0:02:29.59,0:02:33.12,Default,,0000,0000,0000,,ビデオをいったん止めて\N自分で考えてみましょう Dialogue: 0,0:02:38.80,0:02:41.64,Default,,0000,0000,0000,,ひとつの考え方は こうです Dialogue: 0,0:02:41.64,0:02:44.64,Default,,0000,0000,0000,,それぞれの空の箱が\Nエネルギーを保持できるのは Dialogue: 0,0:02:44.64,0:02:48.87,Default,,0000,0000,0000,,その左方にも 右方にも\N壁がある場合です Dialogue: 0,0:02:48.87,0:02:51.60,Default,,0000,0000,0000,,その左方にも 右方にも\N壁がある場合です Dialogue: 0,0:02:51.60,0:02:56.38,Default,,0000,0000,0000,,でも これを各箱について確認すると\N長い時間がかかってしまいます Dialogue: 0,0:02:56.38,0:03:01.18,Default,,0000,0000,0000,,1列まとめて考えることは\Nできないでしょうか? Dialogue: 0,0:03:01.18,0:03:05.15,Default,,0000,0000,0000,,例えば この場合は何ユニット分\N保持できるでしょう? Dialogue: 0,0:03:05.15,0:03:10.39,Default,,0000,0000,0000,,[ビデオをいったん止めて\N自分で考えてみましょう] Dialogue: 0,0:03:10.39,0:03:13.76,Default,,0000,0000,0000,,先程の例で 問題を\N分析してみましょう Dialogue: 0,0:03:13.76,0:03:15.91,Default,,0000,0000,0000,,ブロックは5列あります Dialogue: 0,0:03:15.91,0:03:20.48,Default,,0000,0000,0000,,左端の列は 一番高いので\Nエネルギーを保持できません Dialogue: 0,0:03:20.48,0:03:23.20,Default,,0000,0000,0000,,2列目は3ユニット分\N保持できます Dialogue: 0,0:03:23.20,0:03:27.24,Default,,0000,0000,0000,,両側にある4段のブロックに\N囲まれているからです Dialogue: 0,0:03:27.24,0:03:32.19,Default,,0000,0000,0000,,エネルギーがいっぱいになる高さ4から Dialogue: 0,0:03:32.19,0:03:36.45,Default,,0000,0000,0000,,ブロックの高さ1を引いて\N3という答えになります Dialogue: 0,0:03:36.45,0:03:41.91,Default,,0000,0000,0000,,3列目も同様で 左に4段 右に4段あり\N高さが3なので Dialogue: 0,0:03:41.91,0:03:46.54,Default,,0000,0000,0000,,4引く3で1ユニット保持できます Dialogue: 0,0:03:46.54,0:03:51.01,Default,,0000,0000,0000,,4列目と5列目は\N右手に自分より高いものがないので Dialogue: 0,0:03:51.01,0:03:53.47,Default,,0000,0000,0000,,エネルギーは保持できません Dialogue: 0,0:03:53.47,0:03:57.24,Default,,0000,0000,0000,,この考え方を\Nアルゴリズムにすることができます Dialogue: 0,0:03:57.24,0:04:01.02,Default,,0000,0000,0000,,エネルギー量を求めたい列を基準にして Dialogue: 0,0:04:01.02,0:04:05.44,Default,,0000,0000,0000,,ヘッジは1列ずつ見ていき\N左方向で一番高い列を探し Dialogue: 0,0:04:05.44,0:04:08.16,Default,,0000,0000,0000,,それから右方向でも\N一番高い列を探します Dialogue: 0,0:04:08.16,0:04:12.96,Default,,0000,0000,0000,,その2つの低い方が\Nエネルギーを貯められる高さです Dialogue: 0,0:04:12.96,0:04:16.09,Default,,0000,0000,0000,,この高さが\N列自体の高さよりも高いならば Dialogue: 0,0:04:16.09,0:04:18.67,Default,,0000,0000,0000,,そこから列の高さを差し引きます Dialogue: 0,0:04:18.67,0:04:23.63,Default,,0000,0000,0000,,すると その答えが その列に\N保持できるエネルギー量になります Dialogue: 0,0:04:23.63,0:04:27.31,Default,,0000,0000,0000,,エネルギーを貯められる高さが\N列自体の高さ以下なら Dialogue: 0,0:04:27.31,0:04:29.61,Default,,0000,0000,0000,,エネルギーはこぼれてしまいます Dialogue: 0,0:04:29.61,0:04:33.18,Default,,0000,0000,0000,,ヘッジはループを使って\Nこれをすべての列に適用できます Dialogue: 0,0:04:33.18,0:04:38.73,Default,,0000,0000,0000,,左端の列から右に向かって\N1列ずつ調べていくのです Dialogue: 0,0:04:38.73,0:04:41.43,Default,,0000,0000,0000,,列ごとに同じ手順を踏みます Dialogue: 0,0:04:41.43,0:04:45.55,Default,,0000,0000,0000,,左方向に一番高い列を探し\N右方向に一番高い列を探し Dialogue: 0,0:04:45.55,0:04:49.62,Default,,0000,0000,0000,,どちらか低い方から\N列自体の高さを引いて Dialogue: 0,0:04:49.62,0:04:53.29,Default,,0000,0000,0000,,その答えが正の数なら\N総和にその分を加算します Dialogue: 0,0:04:53.29,0:04:56.99,Default,,0000,0000,0000,,ヘッジはループを列の数だけ\N繰り返します Dialogue: 0,0:04:56.99,0:05:00.95,Default,,0000,0000,0000,,これで上手くいくのですが\Nサイズが大きいと時間がかかります Dialogue: 0,0:05:00.95,0:05:05.49,Default,,0000,0000,0000,,ヘッジは各列について左方向と右方向に\Nたどる手順を繰り返すためです Dialogue: 0,0:05:05.49,0:05:10.28,Default,,0000,0000,0000,,列がN個あると\NN列すべてをN回参照することになります Dialogue: 0,0:05:10.28,0:05:12.26,Default,,0000,0000,0000,,もっと速い方法はあるでしょうか? Dialogue: 0,0:05:12.26,0:05:15.61,Default,,0000,0000,0000,,ひとつの時間短縮法はこうです\N手順を進める前に Dialogue: 0,0:05:15.61,0:05:17.47,Default,,0000,0000,0000,,ヘッジは左端から始めて Dialogue: 0,0:05:17.47,0:05:21.42,Default,,0000,0000,0000,,各列に対する「左側で一番高い列」を\N前もって調べておけます Dialogue: 0,0:05:21.42,0:05:25.22,Default,,0000,0000,0000,,この場合は まず2\N最初の列のほうが高いので 再び2 Dialogue: 0,0:05:25.22,0:05:27.92,Default,,0000,0000,0000,,それから4、4、4、と続きます Dialogue: 0,0:05:27.92,0:05:30.74,Default,,0000,0000,0000,,それから「右側で一番高い列」も調べ Dialogue: 0,0:05:30.74,0:05:36.96,Default,,0000,0000,0000,,今度は右から左へ\N1、3、4、4、4となります Dialogue: 0,0:05:36.96,0:05:40.72,Default,,0000,0000,0000,,結果として メモリ上に\Nこんな表が完成します Dialogue: 0,0:05:40.72,0:05:46.14,Default,,0000,0000,0000,,それから ヘッジはループをもう一回りさせ\Nさっきと同じ計算式を使い Dialogue: 0,0:05:46.14,0:05:50.16,Default,,0000,0000,0000,,各列に保持できるエネルギーを\N計算できます Dialogue: 0,0:05:50.16,0:05:53.66,Default,,0000,0000,0000,,計算済みの左右の高さの\N小さい方から Dialogue: 0,0:05:53.66,0:05:56.79,Default,,0000,0000,0000,,列自体の高さを引けばいいのです Dialogue: 0,0:05:56.79,0:06:02.29,Default,,0000,0000,0000,,N列をN回参照する代わりに\NN列を3回参照するだけでよく Dialogue: 0,0:06:02.29,0:06:04.71,Default,,0000,0000,0000,,これは線形時間です Dialogue: 0,0:06:04.71,0:06:08.03,Default,,0000,0000,0000,,この解法をさらに最適化する方法も\Nありますが Dialogue: 0,0:06:08.03,0:06:10.56,Default,,0000,0000,0000,,ここでは これで十分でしょう Dialogue: 0,0:06:10.56,0:06:12.61,Default,,0000,0000,0000,,エシックとヘッジは\N力を合わせます Dialogue: 0,0:06:14.99,0:06:19.26,Default,,0000,0000,0000,,最初の問題は楽勝で\N塔を上へと進みます Dialogue: 0,0:06:21.57,0:06:23.99,Default,,0000,0000,0000,,2つめは ちょっと手強いです Dialogue: 0,0:06:33.05,0:06:37.05,Default,,0000,0000,0000,,3つめは 大難問で\Nブロックが何十列もあります Dialogue: 0,0:06:37.05,0:06:41.37,Default,,0000,0000,0000,,時間が刻々と過ぎますが\Nエシックのプログラムは高速で Dialogue: 0,0:06:41.37,0:06:44.62,Default,,0000,0000,0000,,ぎりぎりのところで\Nハンドルの位置を合わせます Dialogue: 0,0:06:49.02,0:06:52.78,Default,,0000,0000,0000,,エネルギーに乗って 2人は\N創造の石のありかへと導かれます Dialogue: 0,0:06:55.64,0:07:01.07,Default,,0000,0000,0000,,最初のアイテムの時と同じように映像が現れ\N何年も前の記憶が蘇ります Dialogue: 0,0:07:01.07,0:07:03.60,Default,,0000,0000,0000,,世界を動かす機械が\Nすべてを変えてしまい Dialogue: 0,0:07:03.60,0:07:06.79,Default,,0000,0000,0000,,エシックはロボット主任技術者として Dialogue: 0,0:07:06.79,0:07:09.22,Default,,0000,0000,0000,,目にする現実に\N不安を感じるようになりました Dialogue: 0,0:07:09.22,0:07:12.07,Default,,0000,0000,0000,,そしてブラッドバリアが人々を\N囲い込み始めたとき Dialogue: 0,0:07:12.07,0:07:14.66,Default,,0000,0000,0000,,何かが決定的におかしいと\N気づいたのでした Dialogue: 0,0:07:14.66,0:07:16.98,Default,,0000,0000,0000,,そこでエシックは\N3つのアイテムを作り Dialogue: 0,0:07:16.98,0:07:21.32,Default,,0000,0000,0000,,「力」「創造性」「記憶」を\N人々に取り戻させる力を付与しました Dialogue: 0,0:07:21.32,0:07:24.24,Default,,0000,0000,0000,,そしてアイテムを3つの共同体に\N隠したのです Dialogue: 0,0:07:24.24,0:07:26.54,Default,,0000,0000,0000,,人々にその使い方を教える前に Dialogue: 0,0:07:26.54,0:07:28.55,Default,,0000,0000,0000,,政府はエシックのもくろみに気づき Dialogue: 0,0:07:28.55,0:07:32.03,Default,,0000,0000,0000,,彼女や他のプログラマーを\Nロボットに逮捕させてしまいました Dialogue: 0,0:07:32.03,0:07:35.30,Default,,0000,0000,0000,,世界を動かす機械を使って\Nエシックが最後に作ったのは Dialogue: 0,0:07:35.30,0:07:38.36,Default,,0000,0000,0000,,無知の及ぼす力から\Nこの古代の装置を守るため Dialogue: 0,0:07:38.36,0:07:42.38,Default,,0000,0000,0000,,それを巨大な迷路に\N封じ込めるロボットで Dialogue: 0,0:07:42.38,0:07:45.43,Default,,0000,0000,0000,,そのロボットをヘッジと名付けたのです Dialogue: 0,0:07:51.80,0:07:56.01,Default,,0000,0000,0000,,警告もなしに エネルギーの昇降機は\N突然消えてしまいました