別の話を1つはさむつもりだったのですが、たまたま機会が巡ったので。機会というのは、ゲームブックにおけるコンピュータ以前・以後、とは?という吉田先生の話題で、最初の取り掛かりとしては《「フローチャートやパラグラフ選択」という形式自体がコンピュータプログラムから着想されたもの》ということでした*1。
コンピュータプログラムとして制御構造を記述することについては、またいつもの話からはじめてしまいます。バロック音楽の頃から、音楽というストーリーを記述する楽譜はDa CapoとFineのような制御構造を持っていて、奏者(プレイヤー)がそれを解釈して、反復回数を任意にアレンジしながら音楽を演奏していたそうです。ある条件では繰り返して(Da Capo)、ある条件に達するとそれは終わりの分岐(Fine)へ進む。人間の記号的な思考様式にこういう制御構造がどうして紛れ込んできたのかずっと興味をもっています。
真か偽か、条件分岐に関わるブール代数が生まれたのは19世紀のことですが、それより昔のバロックの時代から、こうした条件分岐の記述は見られたといってよいと思います。
こちらもデジタルコンピュータが生まれるよりも前、1921年に提案されたProcess Chartでは、生産プロセスのフローを記述するためのノードと線を用いた記法が生まれていました*2。Process Chartはプロセスマネジメントにおける図解化の元祖であり、生産や業務のプロセスを図にすることで問題の発見と改善を促すことが狙いとなります。1921年の論文ではまだ明示的な分岐の概念は見られず、同時並行で進むプロセスの線が分かれて書かれることがあるだけでした。その後、1947年にアメリカ機械学会によってFlow Process Chartとして標準化されたときには、同時並行で進むプロセスの線が「Inspection」(検査)のアクティビティを伴うことによって、チェック項目別の処理が記述できるようになっています*3。これは一種の分岐といえるでしょうが、そもそも機械制御を目的とした設計図ではなくプロセスにおける人間と機械の活動(アクティビティ)を分析することが目的なので、いわゆるコンピュータ分野におけるフローチャートと同一視はできないところがあります*4。
コンピュータ分野では、1947年にフォン・ノイマンらはプログラム内蔵方式のデジタルコンピュータにおけるプログラムの流れをノードと矢印を用いたFlow Diagramで記述しました。特に、コンピュータが数学的問題を解く際に必要とする反復処理を実現するためには条件分岐が必須であるとして、図の中に条件分岐を示すAlternative Boxを導入しました*5。コンピュータの分岐命令とコンピュータのプログラム設計のためのフローチャートの元祖は同時に生まれたといって差支えないでしょう。ただしこれは計算機の動作だけを記述するチャートであって、人間が選択肢を選んで分岐してゆくゲームブックの姿とはまだ異なっているといえます。誕生当初のデジタルコンピュータは対話的でなかったため、人間が処理の途中で分岐を選ぶ余地はほとんどありませんでした。
人間とコンピュータが対話しながら処理を進められるようになったのは前々回述べたようにタイムシェアリングシステムの登場からで、1961年以降、遅くとも1964年のProject MACではコンピュータ側から「○○を入力してください」とプロンプトを出すプログラムがあったことを確認できます。そして1966年には人と対話するプログラムであるELIZAが広く世に知られることになりました(前回登場したあのイライザにちなんだ名前です)。
コンピュータから人間に質問できる時代になったのがいつであるかは定めておきたいと思います。そうすると、1964年のProject MAC、1966年に知られるようになったELIZA、という流れの上に、1967年にレーモン・クノーが「あなたまかせのお話」でやったことはすっと繋がってきて思えます。
1 三つの元気なお豆さんの話を聞きたいかい? 「はい」なら,4へ 「いいえ」なら,2へ
クノーはブール代数のことも意識していたようですが、ここでは形式として「対話」が用いられていることに注目したいと思います。
人間が行為者として参与するフローまたはプロセスにおける制御構造の記述は、楽譜のなかにもフローチャートのなかにも、つまりコンピュータ以前の文化的社会的生活のなかにわりとみられたわけです。そうすると、コンピュータがゲームブックにもたらしたものとは、まず、言語を用いた人工物(書籍)との対話だった、としてみたく思えます。
文章をパラグラフによって切り刻むことは、実際、書籍というものを、メモリ空間にアドレスの刻まれたコンピュータと同じような人工物へ、変えてしまうことでした。
*1:《ゲームブックという形式(形態)はコンピュータ以前にはありませんでした。原理的にはそれ以前にもありえたはずですが、実際に存在していませんでした。理由は「フローチャートやパラグラフ選択」という形式自体がコンピュータプログラムから着想されたものだからです。コンピュータから書物への影響。》— YOSHIDA Hiroshi 吉田寛『デジタルゲーム研究』発売中 (@H_YOSHIDA_1973) 2024年5月12日
*2:Frank B. Gilbreth, "PROCESS CHARTS" https://www.thegilbreths.com/resources/Gilbreth-Process-Charts-1921.pdf
プロセスマネジメントにおける図解化の歴史については、BOURNE and WEAVER, "The origins of schedule management: the concepts used in planning, allocating, visualizing and managing time in a project" https://journal.hep.com.cn/fem/EN/10.15302/J-FEM-2018012
プロセスの図解はギブリスのProcess Chart以前にもたくさん存在していることが、次のページで紹介されています。User:Mdd/History of flowcharting - Wikipedia ギブリスのチャートはのちのアメリカ機械学会(ASME)による標準化につながるものとして価値があると思われます。
*3:https://babel.hathitrust.org/cgi/pt?id=mdp.39015039876274&seq=1
*4:フローチャートとUMLにおけるアクティビティ図との違いのようなものです
*5:Goldstine and Neumann, "Planning and Coding of Problems for an Electronic Computing Instrument" https://www.ias.edu/sites/default/files/library/pdfs/ecp/planningcodingof0103inst.pdf