恐ろしい追っ手を振り切った後
エシックと ヘッジと 新たな味方のレマは
洞窟のようなコントロールルームに
たどり着きました
ここには最後のアイテム
記憶の石があり
力場で浮遊しながら
スーパーコンピュータを動かしています
エシックが力場を停止させようとすると
レマがそれを止めます
レマが言うには 10年前に
彼女は研究の仕事を割り当てられ
世界を動かす機械を使って 皆を
幸せにするものを作るよう言われたのでした
何度も失敗を繰り返した後
レマはある化合物を発見しました
口にすると やる気が出て楽しくクリエイティブで
愛情豊かな 最高の自分になれるものです
すぐに生産が始まりました
やがてハクセンボーグから
国中に供給される食品に
この化合物が
混ぜ込まれるようになりました
最初の1年は天国のようでしたが
2年目はそうでも
ありませんでした
物忘れや 倦怠感や 自分以外に関心を失う
といった副作用が表れ始めたのです
3年目になると
政府が崩壊し
ロボットが自己完結したプロセスとして
全てを管理するようになりました
その頃には レマにはどうしようもないほど
事態は進行していました
人々はこの化合物に
依存するようになり
摂取することを拒否した少数の人々が
事態を変えるためレジスタンスを結成しました
レマが治療薬を発見するのに
10年の歳月がかかりました
この工場には治療薬を作るのに
必要なものが全て揃っていますが
記憶の石に手をかけた瞬間に
警報が発動し
ロボットに
追われることになります
その前に工場の設定を
治療薬製造用に変更すれば
人々を救うことができます
レマは工場の再編法を
すでに考案していましたが
問題は その解読が
ちょっと難しいことでした
レマの図面には
治療薬を作る製造過程が
全て示されていました
「硝酸を加える」から
「強く振る」への矢印は
硝酸を加えるのが 振る前でなければ
ならないことを示しています
ひとつでも
順番を間違えると
治療薬は効かないか
もっと悪いことになります
循環参照はありません
つまり ステップAが
ステップBを必要とするとき
ステップBも結果的にステップAを
必要とするようなことはありません
ここでエシックとヘッジの
腕の見せ所です
レマはヘッジに 込み入った図面を
逐次的なステップへと
変換してもらう必要があります
それが工場に実行させる
作業手順になります
これを中央コンピュータに
インプットできれば
工場は指示通りに
再編されます
情報を表の形で格納できる
ヘッジの能力がここで役立ちます
では 工場を再編する
正しい作業手順を作るには
ヘッジをどうプログラムしたら
よいでしょう?
ビデオをいったん止めて
自分で考えてみましょう
ヘッジはループと変数と条件文を使え
情報を表に保持できる
①大きな図式を一連の手順に変換する
②各手順はリストに一度だけ現れる
③A→Bは「AはBより先」の意味
④図式中に循環参照はない
まずは この問題を
機械ではなく 人間の目線で
考えてみるといいでしょう
この図を見て 最初が
「ボウルを見つける」だと分かるのは
そこに向かう矢印がないからです
次にすべき作業を見つけるには
図にどんな印を付けると良いでしょう?
ビデオをいったん止めて
自分で考えてみましょう
解法まで 3秒
解法まで 2秒
解法まで 1秒
レマが描いたような図のことを
有向非循環グラフといいます
「グラフ」とは 様々な要素と
要素間の関係を表したものです
「有向」というのは 矢印で表される方向が
重要だということです
この例では AからBには進みますが
BからAには進みません
「非循環」というのは
循環する経路が存在しないということです
もし循環があれば この問題は
解決不能だったので 幸いでした
このグラフを人間の目線でたどるには
シンプルなやり方があります
自分に向いた矢印のないステップが
出発点になります
それを実行したら そのステップと
そこから伸びている矢印を消します
再び 自分に向いた矢印のない
ステップを探し
同じことを すべてのステップが
片付くまで繰り返します
ロボットにとっては
処理しにくいことが2つあります
まず どうやって経過を
記録するのか?
次に 複数の選択肢が
ある場合にどうするのか?
1つ目の問題については
機械が情報を格納する便利な方法である
表を使うことです
この場合は ヘッジに縦の列と
横の行の 両方の見出しに
各ステップを書き込ませます
それから 1行ずつ
確認していきます
図で矢印が「混ぜる」に
向いているものは どれでしょう?
「振る」と「滴定する」です
ヘッジは それぞれの列に
印を付けます
全ての行を同様に確認していくと
こんな表ができるでしょう
もちろん全体の表は
ずっと大きいはずです
人間の目線と同じように
ヘッジのスタート地点も
自分に向いた矢印のない
ステップを探すことです
一切 印がついていない行が
それにあたります
それが2つ以上ある場合は
アルファベット順で若い方を
選ぶのが便利ですが
他の方法でも上手くいきます
次に ヘッジはそのステップを
手順リストに追加し
表からそのステップの行と列を
削除することで
そのステップが依存先である
依存関係を取り除き
最初の状態に戻ります
このグラフには
循環参照している部分がないので
この状態に達する度に 少なくとも1つは
自分に向かう矢印のないステップがあるはずです
アルファベット順で一番若いものを
手順リストに追加して
そのステップの行と列を表から削除し
ループの始めに戻ります
これでループ部分ができたので
表に何も残らない状態になるまで
すべての要素について これを繰り返せばよいのです
ヘッジはグラフの中を
行ったり来たりして
やがて 作業手順を生成し始めます
これを使って エシックが
組み立てラインを設定します
3人の協力によって
あっという間に 何千人分もの
治療薬が作り出されました
エシックが とうとう力場から
記憶の石をつかみ取ると
警報が鳴り出します
瞬く間に ロボットたちに
囲まれてしまいます
エシックが驚きながら落下してゆく中で
記憶の石は彼女の記憶だけでなく
謎を解明するための
最後の欠落した部分を明らかにします
エシックがヘッジを作ったのは
あるひとつの目的のため―
腐敗した政府から
世界を動かす機械を守る迷路を
作るためでした
でもエシックは急ぐあまりに
決定的な誤りを犯しました
ヘッジにその迷路の大きさを指示して
ループを終わらせるための
条件を設定し忘れたのです
そこでヘッジは 限界まで
迷路を広げ続けました
やがて 葛藤が生じました
迷路を作らなければならないのに
人々を傷つけたり
ブラッドバリアを越えないでは
続けられなくなったのです
いずれも できないよう
プログラムされていることです
そこで土地をさまよいながら
解決策を探しているうちに
力の石 創造の石
そして記憶の石に
行き着いたのです
ヘッジは3つのアイテムが揃って
発揮される真の力―
自意識を芽生えさせる力に
気づきました
3つが揃えば 自分で
プログラムを書き換えて
世界全体を巨大な迷路にするという
使命を叶えることができるのです
簡単なことではありません
それぞれの石には ロボットに利用されないように
安全装置が備えられているのですから
でも ヘッジが
ちょうどいい人間を見つけて
使命を果たすための冒険に
連れ出すことができたなら...
話は変わってきます
まったく違った話に—