ハッカー倫理に準拠した人工知能のアーキテクチャ設計

スポンサーリンク

Accel Brain; Console×

派生問題:Time is money!

人件費の高い国で生活しているアーキテクトやデータサイエンティストにとって、最大の資産は自己自身である。こうした労働者は毎年1000万程度は収入を得る。言わばアーキテクトやデータサイエンティストは、自己自身の労働力を「証券」として指し示すことによって、企業から定期的に給与や報酬という「利払い」を受け取るのである。あらゆる証券と同様に、労働者は自己自身の現在価値を評価することができる。人間は、自らを「金融商品」として観察することができるのである。

こうした人的資本としての「人間」概念は、開発プロジェクトやR&Dのプロジェクトが、工学的な活動であるばかりか、経済的なコミュニケーションであることも明らかとする。あるプロジェクトに参入しているアーキテクトやデータサイエンティストたちは、自覚しているかどうかはともかくとしても、経済活動としてプロジェクトに参入していることになる。特定のプロジェクトに参加するか否かの意思決定は、機会損失のリスクを引き受けなければ成り立たない。つまり、あるプロジェクトに参入していれば、他のプロジェクトに参入することは困難となる。そのプロジェクトよりも別のプロジェクトの方が報酬の大きいプロジェクトであるのならば、それだけ機会損失は大きくなる。

したがって、自己自身を「金融商品」と見立てる労働者にとって、「時は金なり(Time is money!)」は死活問題となる。我々は時間をコスト(cost)として支払うことで、その対価(performance)を得ている。この費用対効果(cost performance)はプロジェクトの様相に左右される。そもそも収益が期待できないサービスの開発であれば、そこに参入している労働者が得られる対価も期待できない。一方、専門技術や専門知識が高いアーキテクトやデータサイエンティストは、契約次第では、少ない時間的なコストの投資からより多くの報酬を得ることもできるであろう。いずれの場合も、「コストマネジメント(cost management)」は重要な問題となる。そのプロジェクトを管理するプロジェクトマネージャーの能力次第では、参入しているメンバーは、自己管理として、自ら支払うコストを管理しなければならない。

問題解決策:Earned Value Management

Earned Value Analysis(EVA)を利用したEarned Value Management(EVM)は、ある種の「データドリブン」な意思決定に結び付けられる開発プロジェクトの進捗分析を可能にしている。

計画コスト:PV(人時)

計画コストを表すPVは、Planed Valueの略で、プロジェクト初期の見積もりを意味する。EVAのフレームワークでは、この見積もりの方法に制限は無い。例えば次のような「三点見積り法(Three-point estimate)」で計算することもできる。

三点見積り法の定式

$$PV = \frac{4 \times m + p + o}{6}$$

ここで、mは最頻値(Mode)、pは悲観値(Pessimistic value)、oは楽観値(Optimistic value)を表し、各値は次のような意味を持つ。

最頻値 プロジェクトがいつも通りのペースで進捗した場合の想定。
楽観値 プロジェクトが全て思い通りに進捗した場合の想定。
悲観値 プロジェクトが全く思い通りに進捗しなかった場合の想定値。

「他のプロジェクトとの兼ね合い」を考慮して計算するのではなく、あくまで当該プロジェクトそれ自体の工数として見積もる。「他のプロジェクトとの兼ね合い」を考慮して計算すべきなのは、「リードタイム」や「工期」であって、「工数」ではない。

実績コスト:AC(人時)

実績コストを表すACは、Actual Costの略で、プロジェクトにおける各タスクを達成する際に費やした人的リソースを意味する。単位に制限は無い。「人日」では1日8時間計算する者もいれば、1日12時間計算する者もいるため、厳密な分析を実践したい場合は「人時」で計算するのが適切であろう。

出来高:EV(人時)

出来高を表すEVは、Earned Valueの略で、実際の業務によって達成した成果の水準を意味する。「あるタスクの出来高」というのは、「そのタスクを達成することで得られる利益」となる。この概念は後述する「スケジュールの予実差異」と「コストの予実差異」を区別する上で有用になるキー概念となる。

出来高の概念を表す例え話をしてみよう。財政学的な話を単純化して言えば、1000円札を製造して得られるのは1000円の利益であると言える。しかし、製造にはコストが掛かる。例えば電気代や人件費は必須だ。一方、ソフトウェアでは、何かを開発して得られる利益は測り難い。そこでEVMの方法では、便宜上「出来高」を計画工数に比例すると見做す。例えば計画工数が3人日(24人時)のタスクを完了した際は、単価が1人日(8人時)で4万円として計算するなら、「出来高」も12万円と見做す。

簡略化して言えば、あるタスクを達成した際に得られる出来高はそのタスクの計画コストの関数となる。全タスクを達成した際に得られるのは、そのプロジェクト全体を完遂することで得られる利益であって、それが全計画コストの関数であると見做される。

完成時の総計画コスト:BAC

完成時の総計画コストを表すBACは、Budget At Completionの略で、プロジェクトが完了した時点での総計画コストを意味する。

スケジュール差異:SV

スケジュール差異を表すSVは、Schedule Varianceの略で、出来高と計画コストの差異意味する。このスケジュール差異は、プロジェクトの進捗状況を比較可能にする。EVAの実践者は、この指標を観察することで、リスケジュールの判断基準を定量評価することが可能になる。

SV > 0 現時点で、計画よりも前倒しで進捗している。
SV = 0 現時点で、計画通り進捗している。
SV < 0 現時点で、計画より遅延して進捗している。
SVの定式

$$SV = EV – PV$$

スケジュール効率指数:SPI

スケジュール効率指数を表すSPIは、Schedule Performance Indexの略で、スケジュールの予実差異を指標として表わす概念となる。この指標は、割合で示すことによって、同プロジェクトの他のタスクや、他のプロジェクトの同様のタスクとの「比較」を可能にする。この関連からSPIもまた、リスケジュールの判断基準として機能する。

SPI > 1 現時点で、計画より前倒しで進捗している。
SPI = 1 現時点で、計画通り進捗している。
SPI < 1 現時点で、計画より遅延して進捗している。
SPIの定式

$$SPI = \frac{EV}{PV}$$

コスト差異:CV

コスト差異を表すCVは、Cost Varianceの略で、出来高と実績コストの差異意味する。この指標もまたリスケジュールの判断基準として機能する。

CV > 0 現時点で、予算以内で各タスクを進捗させている。
CV = 0 現時点で、予算通りに各タスクを進捗させている。
CV < 0 現時点で、予算超過状態で各タスクを進捗させている。
CVの定式

$$CV = EV – AC$$

コスト効率指数:CPI

コスト効率指数を表すCPIは、Cost Performance Indexの略で、コストの予実差異を指標として表わす概念となる。割合で示すことによって、同プロジェクトの他のタスクや、他のプロジェクトの同様のタスクとの「比較」を可能にする。この関連からCPIもまた、リスケジュールの判断基準として機能する。

CPI > 1 現時点で、予算より下回るコストで各タスクを進捗させている。
CPI = 1 現時点で、予算通りのコストで各タスクを進捗させている。
CPI < 1 現時点で、予算を超過したコストで各タスクを進捗させている。
CPIの定式

$$CPI = \frac{EV}{AC}$$

完成時の総実績コスト:EAC

完成時の総実績コストを表すEACは、Estimate At Completionの略で、現在の作業効率で進捗した場合に、プロジェクト完了時までに発生する総合の実績コストを意味する。言い換えればEACは、現在の「速度」で進捗した場合に要する実績コストの予測値を表す。

EACの定式

$$EAC = AC (BAC – EV) \times \left(\frac{1}{CPI}\right)$$

計画時と完成時のコスト差異:VAC

計画時と完成時のコスト差異を表すVACは、Variance At Completionの略で、計画コストと実績コストの予実差異意味する。

VACの定式

$$VAC = BAC – EAC$$

進捗状況の比較

桑原高雄の『抜群にプロジェクトを成功させる技術 PMBOKの科学的理解で培う実践力』によれば、プロジェクトの進捗状況を分析する際の判断基準は以下のようになる。

SPIの範囲 CPIの範囲 進捗状況 影響範囲 対応内容(例)
1.00 ~ 1.00 ~ 計画通り なし なし
0.95 ~ 0.99 0.95 ~ 0.99 安全 開発チームのみで局所的に対応できる範囲。 主にクリティカルパスのタスクにおいて、下記のような対応を採る。
・ファストトラッキング(作業分割及び並列処理化)
・クラッシング(人員の追加投入)
・残業
・休日出勤
0.90 ~ 0.94 0.90 ~ 0.94 要注意 プロジェクト関係者内で対応できる範囲。
~ 0.89 ~ 0.89 危険 クライアントやユーザーを含めて対応しなければならない範囲。 役割分担の見直し
・定義した要件の見直し
・納期の見直し

フィードバック制御法としてのEVM

特にCPIの指標を観測すれば、「プロジェクトの速度」が定量的に評価できる。速度が足りなければ、遅延する見込みと判断して、アサインメンバーやロールの見直し、最の場合はリスケジュールを検討することができる。逆に速度が十分なタスクの場合は、それ以上リソースを投入せず、別の速度の不十分なタスクにリソースを再配分する。EVMは、こうしたメトリクス化とフィードバックによる開発プロセスの方向付けを可能にしてくれる。

EVAに準拠した観察者は、プロジェクトを目標を達成するためのコミュニケーションシステムとして記述できる。計画したワークパッケージを実行していくのは、所要工数の見積もりや必要な作業内容の予測に基づいた制御、すなわちフィードフォワード制御となる。無論そうした予測に基づいた制御は、見積もり値の誤差や想定外の出来事によって、計画通りには進まない。予測と実態の間には乖離が生じる。この予実差異が許容範囲を超えれば、プロジェクトのコミュニケーションシステムは瓦解する。そこで、この予実差異が許容範囲を超えないように、定期的にフィードバック制御を実行することになる。計画と実態の予実差異が一定の閾値を超過した時、実態を計画に誘導するための制御となるのが、負のフィードバック制御である。

このフィードフォワード制御フィードバック制御区別は、開発プロセスに依存しない形式である。ウォーターフォール型の開発プロセスでは、フィードフォワード制御が支配的になる。その際、プロジェクトはより未来時間を先取りした予測を実行しようとする。しかしそのために、負のフィードバック制御の機会が失われる。予実差異が大きくなっても、調整が間に合わなくなる。一方、RUPやアジャイルは逆にフィードバック制御を頻繁に実行する。それによって、制御の負担は増大するものの、機敏な軌道修正が可能になる。

プロジェクトマネジメントにおける予言の自己破壊

負のフィードバック制御によるプロジェクトマネジメントは、プロジェクトが瓦解する予測に基づいた現状改善である。そのためEVAの実践者たちは、しばしばEVMが、プロジェクトマネジメントにおける「自己破壊的な予言(self-defeating prophecy)」を伴わせると考えた。

「プロジェクトマネジメントにおける予測が自己破壊的な予言(self-defeating prophecy)になるのは尤もなことである。こうした予測は良き組織化に結び付くかもしれない。大きな偏差は常にマネジメントの注意を惹き付けて、行動を正す結果を招く。小さな偏差は常に放任される。こうした偏差の定量化と強調表示によって、EVMはプロジェクトやワークパッケージにおける関心を最も注目するべき対象へと方向付けるのである。」
Anbari, F. T. (2003). Earned value project management method and extensions. Project management journal, 34(4), 12-23., 引用はp.20より。

しかしこの認識の盲点となっているのは、「自己成就的な予言(Self-fulfilling prophecy)」と「自己破壊的な予言」の区別である。可能性のある予言は二つでも、出来事として生起するのはいずれか一方だ。どちらの予言が結実するのかは未規定であって、偶発的である。いずれの予言も実現可能ではあるが、必然ではない。プロジェクトの予実管理は、フィードバックループで制御されているものの、実際には偶発性に曝された状態で進捗していく。プロジェクトに参入する行動や、プロジェクトを管理する行動は、いずれも証券投資と同じように、不確実な状況下でのリスクの伴う意思決定として成り立っているのである。

機能的等価物の探索:期待効用理論

伝統的な経済学は、不確実な状況下での意思決定を「期待効用理論(expected utility theory)」や「ゲーム理論(Game thoery)」といった規範的なアプローチで分析してきた。しかしこうした規範理論では、現実世界の人間行動を表現できない。そればかりか、こうした理論の公理体系を侵犯する例外的な人間行動は数多く観測されている。そこで認知科学や心理学は、人間行動の記述を重視することで、規範的なアプローチの欠点を埋め合わせる記述的なアプローチとして、「プロスペクト理論(Prospect theory)」を提出するようになる。

期待効用概念の意味論は、18世紀の前半からダニエル・ベルヌーイによって記述されるようになった。ベルヌーイによれば、数学者が「リスク」という概念を主題にし始めて以来、期待値に関しては次のような命題が一般的に認識されるようになった。

曰く、期待値は生起する各収益にそれが生起する回数を掛け合わせて、その積の合計を生起する事象の総数で割ることによって算出される。この理論では、同じ確率の全ての事象を考察することが要求される。もしこの規則を受容するなら、この理論の枠組みにおいて実行すべきなのは、全ての選択肢の数を数え上げて、それを確率の等しい事象に分類することで、最後に対応する等級に分類するだけである。

しかし、同一のリスクに遭遇した二人の観察者のいずれか一方だけが自分の欲望を十分に満たそうとする場合、二人が予期するリスクが等価値であると考えなければならない理由は何も無い。各個人にとっての効用(utility)は、価値評価を実行する個人の独自の環境に依存している。このため、たとえ同じ金額の利得であっても、その利得は富豪よりも貧民にとって、より重要となるであろう。ベルヌーイのリスク概念は、普遍的なのではなく、観察者の認識にも依存して規定される値ということになる。もし全ての観察者が同一のリスクに対して同一の信念を持つのなら、リスク資産の取引はありそうもない現象となる。

生起する各期待収益にそれが生起する回数を掛け合わせ、その積の合計を生起する事象の総数で割れば、効用の平均を算出できる。この効用に対応する収益が当該リスクが同値となる。それ故、効用を考慮せずにリスクの値を測定することはできない。同じ収益が期待できても、各観察者の効用に対する認識に差異が伴う以上、同一のリスクが認識されることはありそうもない。

富や財の増大は、常に効用の増大をもたらす。だがその効用の増大は、それが得られる以前に保有していた富や財の量に反比例する。例えば同じ100万円を報酬として得られる場合でも、富豪と貧民とでは、全く異なる効用を想定するであろう。普段から数千万のキャッシュフローに触れている者にとって、100万円の入金は些末な出来事に過ぎない。一方、一文無しの貧民にとっての100万円は、富豪の想像を絶するほどの効用を持つはずだ。

ゲーム理論的な再記述

1947年に出版されたジョン・フォン・ノイマンとオスカー・モルゲンシュテルンの『ゲーム理論経済的行動(Theory of Games and Economic Behavior)』の第二版では、この期待効用理論の数学的証明が試行されている。この記述は後にミクロ経済学者ハル・ヴァリアンの再記述によって整理されている。彼らと共に消費者の経済活動を想定すると、ある状態における消費活動と他の状態におけるそれを比較することが如何にして可能になるのかは、問題となるそれらの状態が実際に発生する確率(probability)に依存する。このため、不確実性に曝された状況下での効用関数は、消費の水準のみならず、確率関数としても記述できなければならない。

相互に完全に排他的な二つの事象を想定する。第一の事象と第二の事象における消費を$$c_1, c_2$$として、各事象が生じる確率を$$\pi_1, \pi_2$$とする。二つの事象は相互に完全に排他的であるため、$$\pi_2 = 1 – \pi_1$$となる。この時、消費の効用関数は $$u(c_1, c_2, \pi_1, \pi_2)$$と表現できる。二つの財が相互に完全に代替的である場合、不確実性の状況下では、それぞれの財が消費される確率で重みを付けることができる。

$$u(c_1, c_2, \pi_1, \pi_2) = \pi_1c_1 + \pi_2c_2$$

一般的に、これは「期待値(Expected value)」と呼ばれる。次に、効用が各事象における消費のある関数$$v(c_1)$$と$$v(c_2)$$の加重平均で表現されると共に、その重みが各事象の生じる確率である効用関数を記述するなら、次のような関数になる。

$$u(c_1, c_2, \pi_1, \pi_2) = \pi_1v(c_1) + \pi_2v(c_2)$$

この関数を特に「期待効用関数(expected utility function)」と呼ぶ。$$v(c_n) = c_n$$の時、この関数期待値と等価になる。

「リスク回避」と「リスク愛好」と「リスク中立」の差異

期待効用関数は、リスクに対する観察者の認識を形式的に区別することを可能にする。ヴァリアンのミクロ経済学的な記述に倣い、次のような単純な選択問題(a simple choice problem)のギャンブル(gamble)を想定しよう。10ドルの財を保有している消費者が50%の確率で5ドルを勝ち取り、また50%の確率で5ドルを失う。このギャンブル期待値は、$$\frac{1}{2} \times 15 + \frac{1}{2} \times 5 = 10$$となるため、10ドルに他ならない。だが期待効用関数は次のような加重平均となる。

$$\frac{1}{2}u(15) + \frac{1}{2}u(5)$$

仮にこの消費者が「リスク回避(risk averse)」の方針を採る場合、期待効用関数は以下のような凹型となる。

Varian, Hal R. (2010) Intermediate Microeconomics: A Modern Approach, Eighth Edition, W. W. Norton & Company, New York, London., p.227より掲載。

この曲線が叙述しているのは、財や富の増加に従って効用関数の接戦の傾きが小さくなるということだ。この時、ギャンブル期待効用期待値の効用よりも小さくなる。

$$u\left(\frac{1}{2}15 + \frac{1}{2}5\right) = u(10) > \frac{1}{2}u(15) + \frac{1}{2}u(5)$$

一方、この消費者が「リスク愛好(risk lover)」の方針を採る場合、期待効用関数は以下のような凸型となる。

Varian, Hal R. (2010) Intermediate Microeconomics: A Modern Approach, Eighth Edition, W. W. Norton & Company, New York, London., p.228より掲載。

つまり富や財の増加と共に効用関数の接戦の傾きは大きくなる。この場合、ギャンブル期待効用期待値の効用よりも大きくなる。

$$u\left(\frac{1}{2}15 + \frac{1}{2}5\right) = u(10) < \frac{1}{2}u(15) + \frac{1}{2}u(5)$$ 他方、この消費者が「リスク中立(risk neutral)」の方針を採る場合は、効用関数は線形となる。ギャンブル期待効用はその期待値と等しくなる。

$$u\left(\frac{1}{2}15 + \frac{1}{2}5\right) = u(10) = \frac{1}{2}u(15) + \frac{1}{2}u(5)$$

リスクに対するこれら三つの方針の差異は、それぞれの観察者が同一のリスクに対して異なる意思決定を下すことを表現している。

機能的等価物の探索:プロスペクト理論

従来の期待効用理論を現実の世界に適用しようとすると、その公理体系で仮定されている前提と現実の事象との間に矛盾が生じてしまうことが、次第に明らかとなった。そこで経済学は、規範的なアプローチとして定着していた従来の期待効用理論意味論に対する代替案を探索するに至った。ダニエル・カーネマンとエイモス・トゥベルスキーが1979年に提唱した「プロスペクト理論(Prospect theory)」は、この関連から期待効用理論の代替案として提唱されている。

アレのパラドックス

規範的なアプローチとして記述されてきた期待効用理論は、しばしば現実の意思決定との間に矛盾を生み出してきた。例えば「アレのパラドックス(Allais paradox)」は、期待効用理論の反例として指摘されている。次のような意思決定過程の実験現場を想定してみよう。連続する2回の「くじ」に関するもので、どちらのくじを選ぶかを実験参加者に答えて貰う実験である。

問1

次のうち、好ましいのはどちらか。

A:100%の確率で100万ドルを貰える。

B:10%の確率で500万ドルもらえて、89%で100万ドル、1%で何も貰えない。

問2

次のうち、好ましいのはどちらか。

A:11%の確率で100万ドル貰えて、89%で何ももらえない。

B:10%の確率で500万ドル貰えて、90%で何ももらえない。

解答

ほとんどの参加者は、問1では期待値の低いAを選択する一方で、問2では期待値の高いBを選択する。これは期待効用理論矛盾する結果である。と言うのもこの意思決定過程は、期待効用理論の「独立性(independence)」の公理を反駁しているためだ。独立性の公理とは、複数の選択肢の全てに共通の属性が付加されても、元の選好関係が維持されることである。

問1の効用を定式化すると、次の関係を得る。

$$1.0 \cdot u(100) > 0.10 \cdot u(500) + 0.89 \cdot u(100) + 0.01 \cdot u(0)$$

この問1の効用の関係から、問2の効用の関係を導くことができる。

$$1.0 \cdot u(100) – 0.89 \cdot u(100) + 0.89 \cdot u(0) > 0.10 \cdot u(500) + 0.89 \cdot u(100) + 0.01 \cdot u(0) – 0.89 \cdot u(100) + 0.89 \cdot u(0)$$

$$0.11 \cdot u(100) + 0.89 \cdot u(0) > 0.10 \cdot u(500) + 0.90 \cdot u(0)$$

したがって問2においては、Bに対応する右辺よりもAに対応する左辺の効用が大きい。これは先に示した人間経験的な認識とは矛盾している。

限定合理性

ハーバート・アレグザンダー・サイモンもまた、先に示した限定合理性の概念を記述することによって、従来の期待効用理論の公理体系を問題視していた。伝統的な経済学で想定されてきた合理的な人間は、意思決定の際に、全ての選択肢を把握し、その効用確率を瞬時に計算できる存在として記述されてきた。その決定主体は全知全能のをモデルにしているようなものだ。合理的な人間は、さも必要な全ての情報を入手した上で、最適な選択肢を選択できることになる。しかしサイモンによれば、人間は限定された時間、能力、知識、情報の中で受容し得る最小限の基準である「満足化の水準(satisficing principle)」を満たすように意思決定を敢行する。

サイモンが最適化満足化区別するのは、最適化の場合、あらゆる問題解決策とその代替案がある共通の効用関数で計測可能でなければならないためである。こうした最適化の要件に対して、人間の選択能力には、もし明確な効用関数存在すれば得られるような首尾一貫性や類推性が十分には備わっていない。故に人間の意思決定過程では、最適化よりも満足化を目指さざるを得ないのである。

しかしながら、満足化理論においても、何らかの判断基準は必要になる。そこでサイモンは、認知科学や心理学に着目する。選択と要求(aspiration)の心理学の観点から観れば、満足度を計測する関数は、効用関数から区別されなければならない。何故なら満足度の関数は、効用関数とは異なり、正の値に限らず、ゼロや負の値も処理しなければならないからだ。正の値は満足の度合いを示す一方で、負の値は不満の度合いを表現する。加えて満足度の関数は、時間をパラメタとして受け入れている。サイモンによれば、もしも比較的安定的な環境の下で生活する人間の満足度を定期的に計測できるのならば、ゼロを大きく逸脱するような満足度は極めて少ない。そしてその逸脱の度合いも、時間の経過と共に、やがてはゼロに回帰する傾向を持つという。

要求は多次元的である。つまり、単に満足度と述べても、その意味論は文脈と歴史に依存する。例えば単純な勤務体系の例で考えても、労働者たちは、残業の時間という次元では不満を覚えても、給与の次元では満足を覚えている場合もあるかもしれない。この逆もあり得る。ある次元で譲歩すれば、別の次元では満足を得られる可能性もある。だが企業の制度次第では、残業をしなければ給与が減るかもしれない。こうした多次元相互の複合的な関連を想定することで、サイモンは、我々の満足度は「歴史依存的(history-dependent)」であって、他のものの見返りとして満足度を調整することは容易ではないと述べている。

こうした要求の水準は、満足化のための計算機構を提供する。ある代替案は、もしもそれがあらゆる次元で要求の水準を満たしているのなら、満足すべき案として採用される。しかし、もしもそうした代替案が発見できないのなら、新しい代替案を探索することになる。この探索が実行されている間、各次元において、要求の水準は次第に低下していく。新たに満足できる代替案が発見されるか、既存の代替案から満足できる選択肢が再認できるようになるまで、要求の水準は低下し続ける。つまり、探索は最適化の妥協と共に進むのである。だからこそサイモンは、期待効用理論における効用の最大化を満足化から区別したのである。

囚人のジレンマ

限定合理性という概念に準拠する場合、フォン・ノイマンらのゲーム理論は実務上無用の長物と化す。ゲーム理論は、合理的な意思決定主体を公理的に想定している一方で、利害対立関係にある複数の主体が存在する場合の合理的な意思決定はありそうもない現象として記述するに留まっていた。「囚人のジレンマ(prisoners’ dilemma)」を思い起こして観れば良い。このゲームでは、各プレイヤーが二つの選択肢の中から一つを選択する権利を持つ。一つは相手と協力する選択肢で、もう一つは相手を攻撃する選択肢である。双方が協力的な選択肢を選択した場合は、双方が共に中程度の報酬を受け取る。一方が協力的な選択肢を選択して他方が攻撃的な選択肢を選択した場合は、前者が大きな損失を被り、後者が大きな報酬を得る。そして双方が攻撃的な選択肢を選択した場合には、双方とも中程度の損失を被る。

こうしたゲームの状況では、合理的な戦略は存在し得ない。しかし注意しなければならないのは、この「囚人のジレンマ」の問題設定では、選択肢は二つしか与えられず、プレイヤーも二人しかいないということだ。選択肢の代替案を探索するという選択肢は、無論設けられていない。つまり各プレイヤーは、ゲームの枠組みの中に存在するあらゆる選択肢を吟味することができるのである。だからこそ各プレイヤーは、敵対するプレイヤーの選択肢を何処までも読み通そうとすることができる。そうした可能性が与えられるからこそ、ジレンマが成り立つのである。逆に言えば、時間情報や知識や能力に限りのある現実の世界では、このジレンマが起こり得ない。

サイモンも認める通り、ゲーム理論の最も大きな貢献は、プレイヤー同士が全ての選択肢を知り尽くし、互いに相手の先を際限無く読み通し得る場合にこそ、合理的な戦略が成立しなくなるということを証明した点にある。しかしこの問題は、限定合理性を前提とする現実の世界では決して遭遇しない問題である。この意味ゲーム理論機能は、ゲーム理論そのものが現実世界では機能しないことを示すことによって、合理性が如何にして可能になるのかを説明する点にこそある。

形式としてのプロスペクト

アレやサイモンらの指摘によって、従来の期待効用理論ゲーム理論に対する期待外れが認識されるようになると、規範的なアプローチとして定着していた期待効用理論意味論は、次第に別の問題解決策意味論として再記述されるようになった。

確率 $$p_i(i = 1, 2, …, n), \sum_i^n p_i = 1$$ で結果 $$x_i$$ が得られる契約行為(contract)をプロスペクト(prospect)と呼ぶ。形式的にここではプロスペクトを次のように表記する。

$$(x_1, p_1;…x_n, p_n)$$

結果xが得られる確率がpで、結果0が得られる確率が1-pであるプロスペクト$$(x, p; 0, 1-p)$$は、単純化して$$(x, p)$$と表記する。また、確実に結果xが得られる無リスクプロスペクトの場合は$$(x)$$と表記する。

プロスペクト間の選択として期待効用理論を再記述する場合、プロスペクト理論は次の三つの教義(tenets)に準拠する。

第一に、プロスペクトの全体の効用は、結果の期待効用に等しい。すなわち、
$$U(x_1, p_1;…x_n,p_n) = p_1u(x_1) + … + p_n u(x_n)$$

第二に、現在の資産がwの時、プロスペクト$$(x_1, p_1;…x_n,p_n)$$が選択される場合、次の定式が成り立つ。

$$U(w+x_1, p_1;…w+x_n,p_n) > u(w)$$

これを特に「資産統合(Asset Integration)」と呼ぶ。プロスペクトが受け入れ可能になるのは、プロスペクトを自身の資産と統合した結果として得られる効用が、それらの資産の単独での効用を超過する場合に限られる。したがって、効用関数は、損益の関数としてではなく、資産のポジションを含めた最終的な状態の関数として機能する。

第三の教義は、リスク回避の定式化に関わる。

$$u^{“} < 0$$ これは期待効用関数が凹型で、リスク回避型であることを表す。

カーネマンとトゥベルスキーは、このように期待効用関数の教義を再記述した上で、この教義を侵犯する事例を取り上げている。

問1

現在保有している金額に加えて1000ドルを受け取る。その上で次のようなギャンブルに参加する。この場合、好ましい選択肢はどちらか。

A: 50%の確率で1000ドルを得られる。

B: 100%の確率で500ドルを得られる。

問2

現在保有している金額に加えて2000ドルを受け取る。その上で次のようなギャンブルに参加する。この場合、好ましい選択肢はどちらか。

A: 50%の確率で1000ドルを失う。

B: 100%の確率で500ドルを失う。

解答

カーネマンとトゥベルスキーによれば、問1では大多数が確実に500ドルを獲得できるBを選択する一方で、問2では大多数が50%で損失がゼロとなるAを選択するという。これが矛盾した意思決定であるのは、問1と問2のプロスペクト比較することが明確化する。問1のプロスペクトはそれぞれ次のようになる。

$$(1000) + (1000, 0.5) = (2000, 0.5;1000, 0.5)$$
$$(1000) + (500) = (1500)$$

一方、問2のプロスペクトはそれぞれ次のようになる。

$$(2000) + (-1000, 0.5) = (2000, 0.5;1000, 0.5)$$
$$(2000) + (-500) = (1500)$$

つまり、問1と問2は、プロスペクト形式においては等価であることが判明する。そうであるにも拘らず、この問の回答者たちは、問1ではBを選択する一方で、問2ではAを選択した。これは、問題設定の「枠組み(frame)」によって、観察者の解の選好が変異することを示している。これは、従来の期待効用理論ゲーム理論的な記述が自明としてきた「不変性(invariance)」の公理を破っている。

価値関数と重み関数の差異

この問題設定の通称「フレーミング効果(framing effect)」は、更に問題設定観察者のリスクに対する方針にも影響を与えている。問1の観察者たちの大多数は、リスク回避的な方針を採用している。一方問2では、大多数がリスク愛好的な方針を採っている。この矛盾を記述するために、プロスペクト理論では、「価値関数(value function)」と「重み関数(weighting function)」の区別を導入している。この二つの関数は、観察者の主観的な価値を評価する際に機能する。価値関数をv、重み関数をπとするなら、次のような定式が成り立つ。

$$V(x, p;y, q) = \pi (p)v(x) + \pi(q)v(y)$$

この二つの関数区別は、従来の期待効用理論プロスペクト理論差異特徴付けている。伝統的な期待効用理論リスクある不確実な状況下での意思決定を確率概念によって評価してきたのに対して、プロスペクト理論では、評価の軸に確率の重み関数を利用しているのである。逆に言えば、従来の期待効用理論確率を重みとして利用してきたのに対して、プロスペクト理論確率の重み関数を重みとして利用する。横軸に利益と損失の区別を、縦軸にその主観的な評価を表すなら、価値関数は次のような特徴を持つ。

Kahneman, D., & Tversky, A. (1979). Prospect Theory: An Analysis of Decision under Risk. Econometrica, 47(2), 263-292., p.279より掲載。

このグラフの原点は、利益と損失の分岐点で、特に「参照点(reference point)」と呼ばれている。参照点における価値関数の出力はゼロとなる。だがこの参照点それ自体は可変である。この可変性は、問題設定のフレーミング効果に照応している。つまり問題設定の枠組みの可変性が、参照点可変性として表現されるのである。参照点は通常、現在の資産ポジションに対応する。この場合、損益は実際に獲得する金額と一致する。だが、参照点の位置と結果として得られる損益は、意思決定者の期待形式によって影響を受ける可能性がある。例えば株式投資の場合、通常は株式の購入価格が参照点となる。だが株価の水準が改訂されれば、参照点もまた変異する。

参照点可変性は、価値関数特徴変異性を表す。参照点を境界とした利得の領域では、価値関数リスク回避的な凹型を示す。一方損失の領域では、リスクを愛好する凸型となる。こうして、参照点において区別された利益と損失で選好の方針が逆転する現象を「反転効果(reflection effect)」と呼ぶ。このように区別される価値関数は、対称的ではない曲線を描く。横軸における利益よりも損失の側で、価値関数の曲線の傾きが大きくなる。この差異は縦軸の価値の評価に影響を与える。つまり観察者は、同一の金額であっても、利益よりも損失の側で大きな価値を感じ取るのである。

確率概念は重み関数の独立変数に他ならない。したがって確率の値と重み関数の出力値の間には差異が伴う場合がある。重み関数の出力値の総和は、確率とは異なり、1になるとは限らない。重み関数確率評価の非線形性を仮定するために、確率と重み関数の関連は次のようになる。

Kahneman, D., & Tversky, A. (1979). Prospect Theory: An Analysis of Decision under Risk. Econometrica, 47(2), 263-292., p.283より掲載。

重み関数は、低い確率の過大評価や高い確率の過小評価も考慮した上で設計されている。

機能的等価物の探索:発見探索的な満足化

以上のようなプロスペクト理論は、「損を切って利を上げよ(Cut loss and let profits run)」というウォール街の相場格言が、如何に困難な目標であるのかを指し示している。特に価値関数の利得と損失の非対称性は、投資家が「損切り」に失敗してしまう傾向にあるという事態が如何にして可能になっているのかを例示している。リスク回避とリスク愛好という、利得の領域と損失の領域におけるダブルスタンダードが、投資家を失敗へと導くのである。

サイモンと共に、発見探索的(heuristic)に分析するなら、この困難さについての理論は開発プロジェクトのコストマネジメントにおいても機能的に再利用できる。利を上げられない企業に在籍し続けて、高いコストのサービスの開発や分析を担当し続けるアーキテクトやデータサイエンティストたちは、「損切り」ができていない可能性がある。とはいえ、プロスペクトには主観的な評価が介在する。一見して利が無いプロジェクトに参入し続けていても、参照点次第では、あまりにもリスク回避型に傾斜し過ぎているメンバーたちだけがその企業に残留し続けるという状況もあり得るであろう。リスクを恐れるあまりに「損切り」ができていないメンバーが、その企業のそのプロジェクトに残るのである。

だが参照点次第では、現在参入しているプロジェクトに参入し続けるリスクを低く見積もるメンバーもいるかもしれない。あるいはリスク愛好型に傾斜するメンバーもいるであろう。そうしたアーキテクトやデータサイエンティストたちは、将来新たに参入することになるプロジェクトで有用となると予測できる経歴、専門技術、あるいは専門知識のような付加価値を、現在参入しているプロジェクトの現在価値として計算することもできる。このように、自己自身を「金融商品」として観察するアーキテクトやデータサイエンティストが、たとえ同一の開発プロジェクトに同一の時間をコスト(cost)として投資したとしても、そこから得られる効果(performance)には差異が生じているのである。

形式としての割引率

プロジェクトの価値体系に入り込んでくる過去未来の事象に対する我々の付与する重要度は、現在から遠ざかるに連れて、一般には急速に低下する。サイモンが述べているように、限定合理性の世界を生きる我々にとって、この事実はむしろ幸福である。もし我々の意思決定が、遠く離れた事象にもごく近い事象にも同じ度合いで依存して実践されるとすると、我々は決して行動を実践することはできない。各事象に対して「割引率(discounting rate)」を適用することによって、時間的にも空間的にも離れた事象の重要度を薄めていけば、我々の制約された計算能力で対処し得る程度にその複合性の縮減を実行することが可能になる。

経済学者たちは、未来に対するこうした割引きを利子率として表現している。将来のドルの現在価値を見出す上で利用されるのは、福利の割引率形式である。この形式により経済学者たちは、現在から一段階ずつ離れていくたびに、一定の百分率でドルを減価させていく。割引の計算を適用させれば、利子率が非常に低い場合でさえ、我々の現在の意思決定にとっては、将来のドルの価値は些末な値になる。だが利子率は、現在との関連で将来の事象の価値を割り引く別の要因から区別されなければならない。たとえ我々が遠い将来に好ましくないことが起こることがわかっていたとしても、現在における我々にはそれが対処し得ない可能性も十分あり得る。

三点見積もり法で計算される時間的なコストやEVAの出来高のような指標は、プロジェクトのワークパッケージに対してのみならず、そのプロジェクトに参入することで得られる付加価値に対しても適用されるべきである。そのプロジェクトで培われる専門技術や専門知識は、将来的に別のプロジェクトでも機能的に再利用できる経歴となり得る。だが、あらゆるシステムがそうであるように、技術や知識もまた時代遅れ(Legacy)になる可能性を持つ。オブジェクト指向分析のような抽象化のノウハウは、それ自体が抽象的であるがために、機能的な再利用可能性が高い。これに対して、その企業のローカルルールから生み出されたその企業でしか通用しない具体性が過ぎるノウハウは、将来役に立つ可能性が低いと考えられる。機械学習のモデリングやアルゴリズム設計をゼロから実践するノウハウと機械学習ライブラリのエンドユーザーが持ち得るノウハウを比較してみても、同様の結論を抽出できる。前者の技術や知識は別の様々なモデルやアルゴリズムの開発に再利用できる一方で、後者のノウハウは流行りと廃りに依存する。

「我々が将来について実行する重要な意思決定となるのは、主に支出と貯蓄に関する意思決定である。それは、現在の満足と将来の満足との間に我々の生産を如何に配分(allocate)するのかに関する意思決定である。そして、貯蓄の場合は、我々の投資対象が有する重要な属性の間に柔軟性(flexibility)を考慮しておかなければならない。何故なら、そうした柔軟性があって初めて、我々には予測し得ないが、しかし確実に起こる事象に対して、我々の投資価値を保証することになるためである。この柔軟性は、ある利用方法から他の利用方法へと変換することができるような構造の方向(direction of structures)に、我々の投資方法を変えていく。またこの柔軟性は、直ぐには時代遅れ(outmoded)にならないような基本的な知識をも変えていく。こうした知識それ自体が、変異する環境の中で、絶え間ない適応(continuing adaptation)を可能にする基盤を与える。」
Simon, Herbert Alexander. (1996) The sciences of the artificial, 3rd, MIT press., p.158より。ただし強調は筆者。

前適応的な自然漂流

変異する環境への絶え間ない適応を可能にする「柔軟性」とは、言うなれば自己自身の「変更容易性」と「機能的再利用可能性」を意味する。サイモンの言う「柔軟性」を習得するには、つまり自身をアーキテクチャとして設計することが必要になる。自らを「人工物」として設計することが、「柔軟性」という進化上の獲得物を確保する要件となるのである。

社会進化論者たちはこうした柔軟性を――無論、ダーウィニズム社会ダーウィニズムからは区別される、社会進化論の意味論に準拠した上で――「前適応(preadaptation)」に基づく「自然漂流(natural drift)」であると分析している。システム進化は、システムそれ自体が自らの構造コードを再記述することによって成り立つ。それは段階的な発展に基づく「進歩(advances)」では決してない。

生物の進化の中には、しばしば他の機能を担っていた形質進化の前提となる機能に転用されることで成り立つ進化もある。よく引き合いに出される仮説が示しているように、爬虫類から鳥類への進化には、こうした機能の転用が伴っていた。単に鳥類を爬虫類の進化形態であると考えるだけでは、この進化はあまりにも起こりそうもない現象と思えてしまうために、到底信じられなくなる。だが、元々爬虫類が羽毛を有していたと考えれば、この進化も無理なく受け入れられるようになる。この場合、爬虫類の羽毛は体温調節のために機能していたと推論できる。そして、この羽毛が飛翔するための機能として転用されることによって、空を飛ぶ鳥類の進化が本格的に現実化するようになったのである。進化論では、こうした既存の機能の転用によって可能になった進化を「前適応」と呼ぶ。

前適応に基づく自然漂流という社会進化論的な概念を発見探索的に再利用するなら、サイモンが述べた「柔軟性」が自己自身の「変更容易性」や「機能的再利用可能性」を意味するということも、より明快となる。自己自身を人工物アーキテクチャとして設計する設計者は、まさに自身が進化する上での可能性の諸条件を配備していることになる。そうした自己自身のアーキテクチャ設計時間投資する設計者は、自らの「金融商品」としての価値を高めることができるのである。

問題再設定:人工物のインターフェイス、あるいは「全体」を凌駕する「部分」

サイモンは、人工物自然物の区別を導入することで、「人工科学」を提唱した。人工物は、人工物それ自体の内部環境外部環境の接点として、すなわち「インターフェイス」として位置付けられる。内部環境がその人工物構造的な内容である一方で、外部環境はその人工物機能する環境を言い表す。もし一方の環境が他方の環境に適合しているのならば、人工物は意図された目的のために役立つ。

コンピュータは、人間が開発した人工物の中でも、とりわけ変幻自在である。正常に作動している限り、コンピュータの実行処理は基本的に機能的な諸要素を組織化した特性を持つ。基礎的な演算速度から観ても、こうした特性を推測できるであろう。例えばデータ処理の速度は、ある種の緩慢な構成要素がコンピュータには含まれていないということを暗に仄めかしている。これを抜きにして考えても、実際に作動しているコンピュータ特徴は、ハードウェアの性質とはほぼ無縁であることがわかる。コンピュータは、あくまでもその機能的な諸要素を組織化した人工物である。そうした構成要素の機能だけが、大雑把に言えば、システム全体の動作に関連しているのである。

モジュール化の規則(Rule of Modularity)」、「構成の規則(Rule of Composition)」、「拡張性の規則(Rule of Extensibility)」を標榜するUnix哲学も指し示している通り、あらゆるコンピュータは単純な基礎的諸要素から構成された小さな単位を組み立てることで設計されており、またそうあるべきとされている。しかも個々の小規模な部品は、インターフェイス越しに、ブラックボックスとして相互に参照し合う関係にある。事実、伝統的にUnixは、デバイスに依存しない単純なストリーム指向のテクストデータを読み書きするプログラムの記述を強く推奨してきた。古くからUnixにおいては、プログラムは可能な限り単純で小規模なフィルタとして機能するように設計されていた。個々のフィルタは、抽象化するならば、入力されたテクスト形式のデータを別のあり方にもあり得るテクストデータのストリームに変換して出力する。

こうしたストリーミングデータは、オブジェクト指向におけるメッセージ概念を彷彿とさせる。Unixにおける各プログラムは、フィルタとして機能すると共に、ストリーミングデータの処理部分を言わば隠蔽している。まさにこの隠蔽によって、個々のプログラムは独立性を保持するのである。クリーンなインターフェイス結合される単純な部品を設計するということは、ソフトウェアの全体としての複合性を縮減する。と言うのも、個々の部品にインターフェイスを被せてカプセル化しておけば、問題が局所化されるためである。そうすることで、全体の問題の解決へと注力して徒労に終わるリスクを侵さずに済む。

それ故、コンピュータをはじめとした人工物インターフェイス設計においては、とりわけ「小は美なり(Small is beautiful)」という発想こそが重要となる。小さなシステムには、大きなシステムには無い利点が幾つもある。Unixの思想家たちは、これを「美しい」と表現した。確かに小さなプログラムは、一つの問題を解決することに特化している。それは必要最小限のアルゴリズムしか構造化していない。巨大なプログラムは、構造的な複合性を増大させる。複合化したプログラムのソースコードは、その可読性や保守性を大きく損なわせている。そして高度に複合化したシステムは、全体最適化パラドックスを招いてしまう。これに対し、小さなプログラムは、インターフェイス仕様に基づいた機能的な再利用可能性機能的な拡張性によって、別のあり方でもあり得るプログラムとの自由な組み合わせを可能にする。この自由度が、変更容易性を実現し、変更に強い設計を可能にするのである。

「小さなプログラムは多くを為さない。これらは精々一つか二つの機能を実行するに過ぎず、それ以上のことはほとんど果たさない。しかしながら、こうした小さなプログラムを組み合わせれば、その真の力を経験することになる。全体は部分の総和以上となる。大規模で複合的な課題は簡単に処理される。コマンドライン上でそれらを簡単に導入するだけで、新しいアプリケーションを記述することも可能だ。」
Gancarz, M. (2003). Linux and the Unix philosophy. Digital Press., 引用はp.17より。

これを前提とすれば、アーキテクチャ設計において俯瞰すべきなのは、この<小さな人工物>と<小さな人工物>の<小さな接点>となる<小さなインターフェイス>である。この人工物の粒度は、無論相対的であると共に、再帰的でもある。得てして、ある相対的に大きな人工物は、別の複数の小さな人工物におけるインターフェイス上の結合によって構成されているものだ。アーキテクトの「全体」に対する俯瞰的なマクロ視点は、その「部分」に対するミクロな視点と併存していなければならないのである。

参考文献

アーキテクチャ設計に関する参考文献

Lattanze, A. J. (2008). Architecting Software Intensive Systems: A Practitioners Guide. CRC Press.

深層学習の深層アーキテクチャに関する参考文献

D.E. Rumelhart, G.E. Hinton, and R.J. Williams, “Learning representations of back-propagation errors,” Nature, 323, 533-536, 1986.

強化学習問題の枠組みにおける強化学習アーキテクチャに関する参考文献

Sutton, R. S. (1992). Reinforcement learning architectures. Proceedings ISKIT,92.
Sutton, R. S., & Barto, A. G. (1998). Reinforcement learning: An introduction. MIT press.

パターン・ランゲージ関連の参考文献

Alexander, Christopher. (1965) “A city is not a tree,” Architectural forum. Vol.122, No.1.
Alexander, Christopher, S. Ishikawa, and M. Silverstein. (1977) Pattern languages, Center for Environmental Structure 2.
Alexander, Christopher. (1979) The Timeless Way of Building, Oxford University Press, New York.
Beck, Kent., Johnson, Ralph. (1994) “Patterns generate architectures,” Object-Oriented Programming. Springer Berlin Heidelberg, pp139-149.
Beck, Kent. (1999) “Embracing change with extreme programming,” Computer 32.10. pp70-77.
Beck, Kent. (2003) Test-driven development: by example. Addison-Wesley Professional.
Buschmann, F., Henney, K., & Schimdt, D. (2007). Pattern-oriented Software Architecture: On Patterns and Pattern Language (Vol. 5). John wiley & sons.
Gamma, Erich., Helm, Richard., Johnson, Ralph., Vlissides, John. (1995) Design Patterns: Elements of Reusable Object-Oriented Software, Reading: Addison-Wesley.
Shalloway, A., & Trott, J. R. (2004). Design patterns explained: a new perspective on object-oriented design. Pearson Education.

人工科学に関する参考文献

Simon, Herbert Alexander. (1969) The sciences of the artificial, Cambridge, MA.
Simon, Herbert Alexander. (1976) Administrative behavior: a study of decision-making processes in administrative organization, 3th Edition, Free Press.
Simon, Herbert Alexander. (1977) The new science of management decision, revised edition, Englewood Cliffs.
Simon, Herbert Alexander. (1996) The sciences of the artificial, 3rd, MIT press.

全体最適化に関する参考文献

Lessig, Lawrence. (1999) CODE and other laws of cyberspace, Basic Books New York.
Lvi-strauss, Claude. (1966) “The Savage Mind,” University of Chicago Press.
Turkle, Sherry. (1984) The second self : computers and the human spirit, New York : Simon and Schuster.
Turkle, Sherry., Papert, Seymour. (1992) “Epistemological Pluralism and the Revaluation of the Concrete,” Journal of Mathematical Behavior, Vol. 11, No.1, pp.3-33.
Turkle, Sherry. (1995) Life on the screen : identity in the age of the Internet, New York : Simon & Schuster.

ラショナル統一プロセスに関する参考文献

Kruchten, P. (2001). Rational Unified Process Best Practices for Software Development Teams. Canada: rational Software.

オブジェクト指向に関する参考文献と参考資料

Coplien, J., Hoffman, D., & Weiss, D. (1998). Commonality and variability in software engineering. Software, IEEE, 15(6), 37-45.
Kay, A. C. (1996). The early history of Smalltalk. In History of programming languages—II (pp. 511-598). ACM.
Shalloway, A., & Trott, J. R. (2004). Design patterns explained: a new perspective on object-oriented design. Pearson Education.
Stroustrup, B. (1988). What is object-oriented programming?. Software, IEEE,5(3), 10-20.

ハッカー倫理に関する参考文献

Clough, Bryan., Mungo, Paul. (1992) Approaching Zero: Data Crime and the Computer Underworld, Faber and Faber; 1st ed. edition.
Gintis, Herbert. (1972) “Towards a Political Economy of Education: A Radical Critique of Ivan Illich’s Deshooling Society”, Harvard Educational Review, Vol.42, No. 1, pp.70-96.
Illich, Ivan. (1970) Deschooling Society, New York; Harrow and Row.
Illich, Ivan. (1973) Tools for Conviviality, Newyork.
Kay, Alan. (1984) “Computer Software”, Scientific American, Vol. 251, No. 3, pp41-47.
Levy, Steven. (1984) Hackers: Heroes of the computer revolution, New-York, Delta.
Levy, Steven. (2010) Hackers: Heroes of the Computer Revolution – 25th Anniversary Edition, O’Reilly Media, Inc.
Nelson, Theodor Holm. (c1992) Literary machines : the report on, and of, project xanadu concerning word processing, electronic publishing, hypertext, thinkertoys, tomorrow’s intellectual revolution, and certain other topics including knowledge, education and freedom, Sausalito, CA : Mindful Press.
Mayer-Schonberger, Viktor., Cukier, Kenneth. (2013) Big Data: A Revolution That Will Transform How We Live, Work and Think, John Murray Publishers Ltd.
Patterson, S. (2012). Dark Pools: The rise of the machine traders and the rigging of the US stock market. Crown Business.
Raymond, Eric Steven. (2001) How To Become A Hacker. URL: http://www.tuxedo.org/~esr/faqs/hacker-howto.html
Turkle, Sherry. (1984) The second self : computers and the human spirit, New York : Simon and Schuster.
Turkle, Sherry., Papert, Seymour. (1992) “Epistemological Pluralism and the Revaluation of the Concrete,” Journal of Mathematical Behavior, Vol. 11, No.1, pp.3-33.
Turkle, Sherry. (1995) Life on the screen : identity in the age of the Internet, New York : Simon & Schuster.

コストマネジメントに関する参考文献

Anbari, F. T. (2003). Earned value project management method and extensions. Project management journal, 34(4), 12-23.
Bernoulli, D. (1954). Exposition of a New Theory on the Measurement of Risk., Econometrica, 22(1), 23-36.
Kahneman, D., & Tversky, A. (1979). Prospect Theory: An Analysis of Decision under Risk. Econometrica, 47(2), 263-292.
Varian, Hal R. (2010) Intermediate Microeconomics: A Modern Approach, Eighth Edition, W. W. Norton & Company, New York, London.
Von Neumann, J., & Morgenstern, O. (1947). Theory of games and economic behavior (2nd rev. ed.). Princeton, NJ, US: Princeton University Press.
桑原高雄(著)『抜群にプロジェクトを成功させる技術 ~PMBOKの科学的理解で培う実践力~』技術評論社、2008
竹田聡(著)『証券投資の理論と実際 ―MPTの誕生から行動ファイナンスへの理論史―』学文社、2009

Unix哲学に関する参考文献

Gancarz, M. (2003). Linux and the Unix philosophy. Digital Press.
Raymond, E. S. (2003). The art of Unix programming. Addison-Wesley Professional.

歴史的背景に関する参考文献

Golumbic, M. C. (2004). Algorithmic graph theory and perfect graphs (Vol. 57). Elsevier.
Friendly, M. (2008). A brief history of data visualization. In Handbook of data visualization (pp. 15-56). Springer, Berlin, Heidelberg.
Gintis, Herbert. (1972) “Towards a Political Economy of Education: A Radical Critique of Ivan Illich’s Deshooling Society”, Harvard Educational Review, Vol.42, No. 1, pp.70-96.
Illich, Ivan. (1970) Deschooling Society, New York; Harrow and Row.
Illich, Ivan. (1973) Tools for Conviviality, Newyork.
Levy, Steven. (1984) Hackers: Heroes of the computer revolution, New-York, Delta.
Scholem, Gershom. (2011). On the mystical shape of the godhead: Basic concepts in the kabbalah. Knopf Doubleday Publishing Group.
Stanley, R. P. (1986). What Is Enumerative Combinatorics?. In Enumerative combinatorics (pp. 1-63). Springer, Boston, MA.
Turing, Alan Mathison. (1936). On computable numbers, with an application to the Entscheidungsproblem. J. of Math, 58(345-363), 5.
Turing, Alan Mathison. (1950). Computing machinery and intelligence. Mind, 59(236), 433-460.

スポンサーリンク