2008/09/22

機械への命令とエレベータの意志

画像はWikimedia Commonsからスタンフォード大学にあるOTIS製エレベータの奇妙なボタン。

通常、人間が命令したコマンド通りに機械は動く。
現代のようにソフトウェアの進歩とその搭載が進む中においては、条件によって異なる処理を行うのは当たり前であるが、まだまだ一コマンドは一動作にのみ対応している場合も多い。
たとえば、車を人間の意志に沿って前へ進めようとすると、次のステップを踏むことになる。
(エンジンはすでにかかり、サイドブレーキもリリースされているものとする)
  1. ギアをドライブにする (前に進める状態にする)
  2. ブレーキを離す (強制停止を解除する)
  3. アクセルを踏む (前に進む)
更に、続けて逆進、後に進みたい場合は次のようになる。
  1. ブレーキを踏む (強制停止する)
  2. ギアをバックにする (後に進める状態にする)
  3. アクセルを踏む (後に進む)
いずれも一つ一つのステップを人間側で踏んでやる必要がある。
1.を省略していきなり2.のギアを入れると下手すると車が壊れるか事故を起こしてしまう。
車が人間の意志を読み取って、勝手にブレーキを踏んで、ギアをバックに入れたりはしないのである。
一つのコマンドは一つの動作にしか対応していないから人間が機械に合わせてやる必要がある。

そこで、エレベータについて考えてみる。
エレベータに乗る前に上向きのボタン(▲)か下向きのボタン(▼)を押す。これは、エレベータに
  • 上に行きたい。
または、
  • 下に行きたい
と機械への命令(コマンド)ではなく、人間側の意志を伝えている。
とたとえば上に行きたい場合は、上のボタンを押すことで次の命令を出すことになる。
  • 私は上に行きたい。 (細かい命令はしない。どうしたらいいかは自分で考えること。)
つまり、もう少し細かく条件分けすると、エレベータ側は命令を次のように解釈することになる。
  • その階にいるならば、扉を開けなさい
  • もし、下にいるなら上に来なさい。そして扉を開けなさい
  • そうではなく、もし、上にいるなら下に来なさい。そして扉を開けなさい
エレベータの位置を人間が判断して、状況に応じて命令するのではない。
人間はエレベータがどこにどんな状態であるのかを把握する必要はない。

複数のエレベータがあるところでは、エレベータ間で具合のいいように調整しながら運行管理する。これをエレベータの群管理と言う。
ところが、エレベータを待っている人間の「早く来い」などの要求や「こんなにエレベータがあるのに何で1台だけしか動かないの?」などの疑問にははあまり応えきれていないように感じる。
設置するビルによって状況(設置台数、階数、頻度、使用者数、時間、速度、運行コストなどなど)が変わるので最適解はケースバイケース、学習機能が搭載されたエレベータもあるようだが究極の解は出ていないようだ。

立場をエレベータの身に置き換えてみる。
すると、これまで自分に属するボタンが押されない限りは動く必要がなかった。自分の受け持ちボタンを見ていれば良かった。単純労働だが人間の直接の意志を理解できれば良かった。エレベータはローカルの世界で生きていた。
しかし今は違う。
群管理されたエレベータは、人間からの直接の命令(コマンド)だけでなく、他のエレベータに属するボタンが自分の動作に影響する。
自分と違う世界の出来事により上がったり下がったりさせられている、と感じているのではないか。
エレベータのグローバル化。

エレベータに意志があれば、自分の運命は何か見えざるものに勝手気ままに操られていると感じるのではないだろうか。

0 件のコメント:

コメントを投稿

zenback