経営工学概論 Operations Research 山本芳嗣 3F1007, ex.5001 [email protected] http://www.sk.tsukuba.ac.jp/~yamamoto/ 平成 16 年 8 月 25 日 2 Operations Research is a method of making mistakes quickly through simulation ............................. G.J.Feeney Experience ... is the name everyone gives to their mistakes ............................. Oscar Wilde 1 第 1 章 万引きとのかけひき • 問題 • ゲーム理論への定式化 • 線形計画問題 大学周辺のコンビニで万引きがこれまで問題にならなかったのは(あるいは表沙汰にならなかっただけか な)ひとえに筑波大生の良識によるものだと思っている。しかしながら、多くのスーパー、コンビニでは万 引きによる損失をあらかじめ支出として計上し、価格に転嫁してあるとも聞く。対面式でない販売方法は万 引きを助長し、それへの対処が要求され、対処済みであることが道徳観や価値観を変容させ、さらに万引き を招くといった悪い連鎖ができている。もちろん諸外国に比べれば日本の状況はまだひどく嘆くべき程で はない。しかし、社会の趨勢が変わらなければあとは時間だけの問題である。ここではこの問題のミニチュ アを「ゲーム理論」を用いて考えてみる。ゲームといっても決して不真面目に考えようとしているのでは ない。 1.1 スーパーの開店 つくばの街の中心部にスーパー・マーケットが開店した。そこではこれから話す組織だった監視体制がと られた。 店の売場は A、B 2つに区分されている。日用雑貨品の A 売場は終日混雑しているが、B 売場は比較的 すいている。2人の平服を着た監視人を雇うとともに、T 室に据えられたモニターで両売場の状況を見張 ることにした。このように監視は A、B 両売場と T 室から行われている。一方、万引きは A、B 両売場で 行われる。T 室のモニターを盗むことはできない。 監視人は万引き逮捕の確率をだいたい計算することができる。従来の経験からすると、万引きが A 売場 で行われ、T 室で監視していた場合、犯人逮捕の確率は 0.3 である。また、A 売場で監視していた場合、そ の確率は 0.4 である。いろいろな場合の逮捕確率を表??に示す。 2人の監視人が A 売場、B 売場、または T 室で、別々にあるいは一緒に監視している場合の逮捕の確率 も容易に計算できる。T T 、すなわち2人とも T 室で監視する場合、AA (2人とも A 売場)、T A(1人 A B T A 0.3 0.4 0.5 0.2 B 0.1 0.7 表 1.1: 見積もった逮捕確率 2 第1章 TT A B 0.51 0.75 x1 AA BB x2 x3 TA TB x4 x5 AB x6 y1 万引きとのかけひき y2 表 1.2: 2 人の逮捕確率 T 室、1人 A 売場)、· · · などについての逮捕確率は全確率の公式から1 、 pT T = pT + pT − pT · pT = 2pT − p2T pT A = pT + pA − pT · pA ··· すなわち、 pT T = 0.3 + 0.3 − 0.3 × 0.3 = 0.51 pT A = 0.3 + 0.4 − 0.3 × 0.4 = 0.58 ··· である。 このような計算から表??が得られる。この表には 12 の可能な組合せ状態について、その逮捕確率が示さ れている。 1.2 監視人の悩み、万引きの悩み さて問題は次の通りである。A、B 、T の3区域を、どの様な割合で監視したらよいであろうか? たと えば、次の戦略を採ってみよう。全時間の 25 %を AA の状態、20 %を BB の状態、15 %を T B 、40 %を AB とすれば、万引きが A 売場にいた場合、その逮捕確率は、 0.64 × 0.25 + 0.19 × 0.20 + 0.37 × 0.15 + 0.46 × 0.40 = 0.4375 B 売場にいた場合には、 0.36 × 0.25 + 0.91 × 0.20 + 0.85 × 0.15 + 0.76 × 0.40 = 0.7035 となる。 以上のように監視体制にはいろいろな戦略が可能である。いまその戦略を、x1 , x2 , x3 , x4 , x5 , x6 と表すこ とにする。これらの値はいずれも正または 0 であり、その合計は 1 である。そしてこれらの値は、監視場所 の組合せ AA、BB 、T B 、AB などについて時間の配分割合の分布を表している。万引きは監視人の考えを 1 A 売場の監視人が万引きを捕まえられない確率は 1 − p 、T 室の監視人が万引きを捕まえられない確率は 1 − p である。従っ A T て、いずれの監視人も万引きを捕まえられない確率はその積 (1 − pA )(1 − pT ) となる。そうするといずれかの監視人が万引きを捕ま える確率は全事象の確率である 1 からこの積 (1 − pA )(1 − pT ) を引けばよいから 1 − (1 − pA )(1 − pT ) = pT + pA − pT · pA と なる。 1.3. 悩みには数学をどうぞ 3 全部知っているものとして、戦略 y1 , y2 をとったとする。y1 , y2 は正または 0 の値でその合計は1であり、 A、B 両売場を狙う時間の配分割合を表している。もちろんお互いのとる戦略は秘密でなければならない。 そして、一連の意志決定はランダムでなければならない。そうでなければ万引きは意外にも監視人の居場所 を次々と見破ることができるようになるだろうし、あるいはまた逆に、万引きにとっては不幸なことだが、 監視人が万引きの作戦を常に知ることができるようになるだろう! 1.3 悩みには数学をどうぞ そこで監視人も万引きも同様に賢く慎重であるとする。監視人は、万引きがどの様な行動をとろうとも少 なくとも、その逮捕確率は g であることが確実であるような戦略(x1 , x2 , x3 , x4 , x5 , x6 )をとる。同様に万 引きは監視人の動きがどうであろうとも、とらえられる確率が高くともせいぜい g にとどまることが確実 であるような戦略 (y1 , y2 ) をとる。その結果、賢く慎重な両者の間に均衡状態が生ずることになる。このよ うな状態は普通に見られることである。 この2組の頻度確率 x1 , x2 , x3 , x4 , x5 , x6 と y1 , y2 から互いにどの様な最適戦略を選ぼうとするだろうか? 用いる戦略と、両者にとって共通な逮捕限界の確率 g は、次の関係を満足しなければならない。 監視人についての関係式 x1 + x2 + x3 + x4 + x5 + x6 = 1 (頻度確率の合計は 1) x1 , · · · , x6 ≥ 0 (頻度確率はゼロ以上) 0.51x1 + 0.64x2 + 0.19x3 + 0.58x4 + 0.37x5 + 0.46x6 ≥ g (万引きが A にいた場合、監視人は少なくとも確率 g で逮捕することを希望する) 0.75x1 + 0.36x2 + 0.91x3 + 0.60x4 + 0.85x5 + 0.76x6 ≥ g (万引きが B にいた場合、監視人は少なくとも確率 g で逮捕することを希望する) 万引きについての関係式 y1 + y2 = 1 y1 , y2 ≥ 0 0.51y1 + 0.75y2 ≤ g (T T ) で監視 0.64y1 + 0.36y2 ≤ g 0.19y1 + 0.91y2 ≤ g (AA) で監視 (BB) で監視 0.58y1 + 0.60y2 ≤ g 0.37y1 + 0.85y2 ≤ g (T A) で監視 (T B) で監視 0.46y1 + 0.76y2 ≤ g (AB) で監視 監視人側の等式、不等式には変数が多く、これを解くのは困難である。しかし万引き側の数式は独立変数 を 2 個含むだけであるから、図式解法で容易に解ける(図??)。いま y2 = 1 − y1 を万引きの不等式全部に 代入すれば、 4 第1章 0 ≤ y1 ≤ 1 g ≥ 0.75 − 0.24y1 万引きとのかけひき 直線(1) g ≥ 0.36 + 0.28y1 g ≥ 0.91 − 0.72y1 直線(2) g ≥ 0.60 − 0.02y1 g ≥ 0.85 − 0.48y1 直線(4) g ≥ 0.76 − 0.30y1 直線(6) 直線(3) 直線(5) となる。これら 6 個の直線を図??に書く。この図の斜線の部分はどの点をとっても、万引き側の不等式を 満足し、可能解を表している。また g の最小値は直線(2)と(4)との交点である。これは直線(4)が負 の傾斜をしているからである。 1.0 g AA AA AA AA (1) AA AA AA (4) 0.5 (6) (5) (2) (3) 0.0 y1 図 1.1: 万引きの問題 すると、 0.36 + 0.28y1 = 0.60 − 0.02y1 1.0 1.4. 線形計画の知識を使って 5 つまり、 y1 = 4/5, y2 = 1/5 これから、g = 0.584 となる。 万引きのとるべき戦略は y1 = 4/5, y2 = 1/5 である。このとき逮捕される確率は最小になって 0.584 と なる。 1.4 線形計画の知識を使って 次に監視人の最適の戦略を求めるにあたって、説明なしに次のことを仮定する2 。2 人ゲームの理論には 2 つの基本的な性格がある。 1. 万引きに対しては上限を、監視人に対しては下限を与えるようなただ一つの値 g がある。 2. 万引きの解 (y1 , y2 ) が強い不等式(<)で満たしている制約に対応する監視人の解はゼロである。 最適解は直線(2)と(4)の交点に相当する。したがって、x1 , x3 , x5 , x6 は 0 でなければならない。すると、 0.64x2 + 0.58x4 = g = 0.584 0.36x2 + 0.60x4 = g = 0.584 これから、 x2 = 1/15, x4 = 14/15 となる。結局総時間の 1/15 を 2 人で A 売場で監視し、14/15 を 1 人が A 売場で監視し、他の 1 人が T 室 で監視すれば、万引きがどんな戦略を用いても 0.584 に等しい逮捕確率が常に確保される。一方、万引きは 総時間の 4/5 を A 売場に集中し、1/5 を B 売場に向ければ、監視人がどんな戦略をとろうとも逮捕される 確率は 0.584 を越えないことが保証される。 1.5 テレビは必要か 私の友人の1人にこの問題を示したところ、万引きと監視人が知的なのに比べて支配人がそうでもなさ そうに述べてあるのは片手落ちだといった。そしてその証拠として、支配人がスーパー・マーケットの監視 体制の効果については調べていないことを指摘した。 「もしテレビをこの監視体制から除いたら、ゲームの表は縮小される。この問題の解は図??か ら直線(2)と(6)の交点であることはすぐわかる。すなわち、 y1 = 0.69, y2 = 0.31; x2 = 0.53, x6 = 0.47, g = 0.55 だとすると、テレビは犯人逮捕の確率をわずかに 0.034 増加させるだけである。こんなささや かな効果しか得られないのに、わざわざ高い設備を用いる必要があるだろうか?このような批 判がきっと生まれるに違いない。」 2 線形計画法についての理論では良く知られた結果である。 6 第1章 万引きとのかけひき これに対する返答は次の通りである。 • 監視人が勤務時間の約半分は腰をおろしていたいという望みにあう。 • テレビカメラの心理的効果が大きい。 練習問題 縮小された表を作りテレビカメラのない監視体制のもとで、同様の問題を解きなさい。 参考文献 西田俊夫『ゲームの理論』OR ライブラリー 17(日科技連出版社) 今野浩『数理決定法入門–キャンパスの OR』現代人の数理 5(朝倉書店、1992) 1 第 2 章 ゲームとジレンマ • 食べ盛りの兄弟に喧嘩なくしてケーキを分けるには • 鞍点とナッシュ均衡 • 囚人のジレンマとただ乗り • チキンのジレンマ 2.1 ケーキを仲良く:You cut, I choose. 食べ盛りの兄弟にケーキを分けるのは母親を悩ます問題である。いくら注意深く均等に切ってやっても、 どちらかが、あるいは奇妙なことだがときには2人ともが、自分のもらった方が小さいと主張して、あげ くは兄弟喧嘩ともなりかねない。あなたが母親なら、あるいは母親から愚痴を聞かされる父親ならどうす るか。しかし、よく知られた解決法がある。それは「1人の子供に切らせて、もう1人の子供に選ばせる」 というものである。選ぶ役の子供(弟としよう)は必ず自分で大きいと思う方を取るから不満はない。(も ちろん食べ始めてからお兄ちゃんのケーキの見えないところにチョコレートがあったとか、苺が入っていた と不満を言う可能性はあるが)また、切る役の兄はそのような弟の行動を熟知しているので自分に残され た小さい分け前をできる限り大きくしようとする。つまり、できる限り均等に分けようとするものである。 これはゲームの典型的な例である。分けるべきケーキは増やすことができない。兄がその分け前を増やせ ば、弟の分け前は減る。だから、これはいわゆるゼロサムゲームである。 ゲームとして考えてみよう。兄はケーキをどの様な比率に切り分けるかの戦略を持っている。1:1、2: 1、3:2等々と厳密には無数の戦略が可能だが、ここでは単純化して「できるだけ同じ大きさに切る」戦 略と「一方を大きく切る」戦略にまとめて考えよう。弟の戦略はもちろん「大きい方を取る」戦略と「小さ い方を取る」戦略である。さて、兄弟のそれぞれ2つずつの戦略の組合わせに関して兄の得るケーキの大き さを書いてみると次の表のようになる。 できるだけ同じ大きさに切る 一方を大きく切る 大きい方を取る 小さい方を取る 半分弱 半分強 小さい方 大きい方 それぞれの場合に弟が取るケーキの大きさは明らかであろう。先ほど述べたようにこのゲームの結果は分っ てる。兄はできるだけ同じ大きさに切り、弟はわずかに大きな方を取り、兄は残されたわずかに小さい方を 取る。では、なぜそのようになるのだろうか。なにか合理的な説明が可能だろうか。兄は弟が大きい方を取 ることを知っている。つまり彼が不均等にケーキを切れば自分に残されるのは小さい切れ端であることを 知っているのである。仮に兄が物差を持出してできる限り均等にケーキを切ったとしても弟の行動は変ら ない。やはり弟は大きいと思う方を取るだろうから、兄は半分より少し(どの程度少しかは彼の努力に掛 かっている)のケーキを手に入れることになる。兄のこの考え方はミニマックス原理(あるいはマキシミン 原理)と呼ばれている。まず、兄が「一方を大きく切る」戦略を取ったと仮定したときの彼の取り分を考 えよう。そのときの弟の戦略をすべて考えて、自分にとっての最悪の事態、つまり取り分最小となる事態 2 第 2 章 ゲームとジレンマ を考えると、そのときの彼の取り分は「小さい方」である。次に「できるだけ同じ大きさに切る」戦略を 取ったときの彼の最悪の事態は「半分弱」である。2つの最悪の事態(取り分最小)の最良(最大)を取 るのが兄の1つの合理的な決定となる。兄に取ってはマキシミン(最小の最大値)が表の左上の「半分弱」 のケーキである。一方、弟にとっても同様に考えれば「大きい方を取る」戦略が彼の合理的な決定であり、 マキシミンがやはり表の左上の「半分弱」のケーキである。この例では兄のマキシミンと弟のマキシミンが 一致した。このような一致点をこのゲームの鞍点と呼ぶ。 さて、このようにケーキを 3 人以上の兄弟に公平に分配する方法は存在するのだろうか。当時ポーラン ドのワルシャワ大学にいた Steinhaus が、上で述べた方法を 3 人兄弟の問題に拡張している。それは以下 のようなものである。 1. 大きい兄ちゃんがケーキを 3 つに切り分ける。便宜上その 3 つに切り分けられた部分に番号を付けて 切れ端1,切れ端2,切れ端3と呼ぶ。 2. 小さい兄ちゃんが、3 つの切れ端の少なくとも 2 つが 1/3 以上であると思う場合には(3 つとも 1/3 以上である、つまり丁度 1/3 であると考える場合も含めて)は、弟、小さい兄ちゃん、大きい兄ちゃ んの順に好きな切れ端を選ぶ。 3. 小さい兄ちゃんが 1/3 以上であると思う切れ端が 1 つしかなく、弟が 3 つの切れ端の少なくとも 2 つ が 1/3 以上であると思う場合には、小さい兄ちゃん、弟、大きい兄ちゃんの順に好きな切れ端を選ぶ。 4. 小さい兄ちゃんも弟も、1/3 以上であると思う切れ端が 1 つしかない場合には、この 2 人の 2 人共が 1/3 よりも小さいと思う切れ端があるはずであるので、それを大きい兄ちゃんが取る。 5. 残った 2 つの切れ端をくっつけて 1 つのケーキにして、小さい兄ちゃんと弟のと間で You cut, I choose を実行する。 最後の手順によって、小さい兄ちゃんと弟の手にするケーキはぐずぐずになっているだろう。しかし、こ れが3つのグラスに注がれた年代物のワインならそんなことは気にならない。ジョージ・ガモフとマーヴィ ン・スターンの「数は魔術師」のエピローグ「道徳科」にはそのような話が載っている。 さて、この方法を一般の人数に拡張するにはその後 20 年を待たなければならなかった。しかし、Steinhaus が彼のこの方法を説明した授業に出ていた学生の Banach と Knaster は全く異なった考えに基づいて一般の 人数に拡張することに成功している。兄弟の名前を A, B, C, . . . , N として、その last-diminisher algorithm と呼ばれている簡潔な方法を説明しよう。ただし、英語の勉強のため英語で。1 A cuts from the cake an arbitrary part. B has now the right, but is not obliged, to diminish the slice cut off. Whenever he does, C has the right (without obligation) to diminish still the already diminished (or not diminished) slice, and so on up to N . The rule obliged the “last diminisher” to take as his part the slice he was the last to touch. This partner being thus disposed of, the remaining n − 1 persons start the same game with the remainder of the cake. After the number of participants has been reduced to two, they apply the classical rule of halving the remainder. さて、この簡潔さが分かっていただけただろうか、4 人兄弟の諸君。それにしても最後の人が手にするケー キはナイフの切れ目がいっぱい入っていて細切れになっているのではないかと同情する。 1 Hugo Steinhaus, “The problem of fair division,” Econometrica 16 (1948) 101-104. 2.2. 硬貨合せゲーム 2.2 3 硬貨合せゲーム さて、どのようなゲームでも鞍点があるのであろうか。次の例を見てみよう。 表 裏 表 10 -10 裏 -10 10 これは硬貨合せと呼ばれるゲームである。2人のプレイヤーがそれぞれ10円硬貨をテーブルの上に出す。 2つの硬貨の裏表がそろえば第1のプレイヤーが2枚の硬貨をもらい、そろわなければ第2のプレイヤー が2枚の硬貨をもらう。それぞれの場合について第1のプレイヤーの利得を表にしたのが上の表である。さ て、まず第1のプレイヤーのマキシミンを考えてみよう。彼が裏を出したときの彼の利得の最小値は -10 で あり、彼が表を出したときの彼の利得の最小値はやはり -10 である。従って両者の最大値は -10 となる。第 2のプレイヤーに関してミニマックスを計算すると今度は 10 となり、両者は一致しない。鞍点は存在しな いのである。このゲームでは表と裏を等確率でランダムに出すのが良い手であることが知られている。表 と裏を同じ確率でランダムに出したとすると第1のプレイヤーの利得は第2のプレイヤーのとる手に拘ら ずゼロとなる。ランダムに出す手を新しく付け加えると表は次にようになる。 表 裏 ランダム 表 10 -10 0 裏 -10 10 0 0 0 0 ランダム これには鞍点が存在する。両プレイヤーがランダム戦略を取ったときで、利得は両者ともゼロである。フォ ン・ノイマンはこのように幾つかの戦略をある確率でとるような戦略(混合戦略と呼ばれる)まで考慮する と、第1のプレイヤーの利得(損失)と第2のプレイヤーの損失(利得)が等しくなり、かつ第1のプレイ ヤーも第2のプレイヤーもそれ以上利得を大きく(損失を小さく)できないことを示した。これをミニマッ クス定理という。 次は大当り付き硬貨合せゲームである。利得表は次のとおり。 表 裏 表 10 億 -10 裏 -10 10 これはすごい。もしも表表が出れば第1のプレイヤーは10億円儲かり、第2のプレイヤーは10億円損を する。あなたが第1のプレイヤーならどうするか。もちろん10億円ほしさに表を出したいところだろう。 しかし、相手もあなたと同じ程度に合理的だとすると、彼は表を出して10億円を失おうとするはずがな い。彼はほぼ確実に裏を出す。そうするとあなたは相手に10円渡さなければならない。大当りのあるゲー ムであったのに、これでは損である。しかし、10億円の損失を避けるために相手は裏を出すしかないこと に気付けば、あなたも裏を出して10円儲けることができる。10億円は望めなくとも10円(雲泥の差だ が)儲かるわけである。しかし、待て。相手もこちらのこの戦略を読んでくるかもしれない。10円といえ どもいつもいつも負かされるのは適わないと考えてリスクを承知で表を出してくるかもしれない。それな らこのチャンスを活かさない手はないとあなたは考える。 問題 この問題について最適な混合戦略を計算せよ。 4 第 2 章 ゲームとジレンマ 2.3 ナッシュ均衡 これまで示したゲームはすべてゼロサムゲームと呼ばれているゲームである。ケーキのように2人で分 ける利得が固定されており、相手が儲かれば、自分は同じ額だけ損をし、自分が儲かれば相手は同じ額だけ 損をする。それとは対称的にゼロサムでないゲームも存在する。例えば次の利得表を見てみよう。 戦略1 戦略2 戦略1 100, 1 0, 2 戦略2 1, 0 2, 5 プレイヤーはこれまでと同様2名である。それぞれを行プレイヤー、列プレイヤーとよぼう。2人とも戦略 1、2の2種類の戦略を持っている。行プレイヤーが戦略1をとり列プレイヤーが戦略1を取ったときのそ れぞれの利得が表の左上の箱の中にかいてある。行プレイヤーは100の利得を得、列プレイヤーは1の 利得を得る。残りの戦略の組合わせについても箱の左の数字が行プレイヤーの利得で、右の数字が列プレ イヤーの利得を表している。もはやゼロサムではない。 ここで双方とも戦略2を取ったとしよう。ゲームが終わったあと行プレイヤーに「あなたの取った戦略 2は正解だったと思いますか」とインタビューしてみる。「列プレイヤーのやつが同じ手を打ってくるのな ら、俺の選ぶべき手はやっぱり戦略2だな。だって、戦略1をとっていたとすると俺の利得は2から0に下 がってしまうからね。だから、戦略2は正解だった」と答えるだろう。同じように列プレイヤーにインタ ビューすると彼は「相手の行プレイヤーがさっきと同じ手を打ってくるとすると、私の選ぶべき手は戦略2 しかないよ。だって、戦略1をとっていたとすると私の利得は5から0に下がってしまうからね。だから、 戦略2は正解だったね」と答えるだろう。 このように戦略2同士の組合わせは、相手が戦略を変えない限り変える必要が無いという意味で安定な 戦略の組合わせである。このようなものをナッシュの均衡解という。 ジョン・ナッシュはゼロサムでないゲームにも混合戦略まで考慮に入れるとナッシュの均衡解が存在する ことを示した。しかし、その均衡解はときとして奇妙なものであることを次に示してみよう。 2.4 囚人のジレンマ あなたはルパン4世である。かねてより狙っていた世界最大のダイヤを多数の警備員とそれにまさる数 の烏の警戒するロンドン搭より盗みだすのに成功した。いま、それを売り払うべく悪名高いミスターXと 交渉が成立した。彼の提案はどこか山奥でダイヤと札束のつまったアタッシュケースを交換しようと言うも のである。彼はしかし信用ならない人物である。これまで同様の取り引きでアタッシュケースから札束なら ぬ銃をとりだして、ダイヤと金を一人占めしたとの噂がしきりである。そこで、あなたは彼に次の提案をし た。あなたはダイヤを福島県の磐梯山麓に隠す。すでに五色沼のあたりがよさそうだとあなたは隠し場所の 目星をつけている。ミスターXは金を茨城県の奥久慈山麓に隠す。それから携帯電話で双方の隠し場所を 教えあう。それから双方が相手の隠し場所に出向いてダイヤなり、金なりを手に入れると言うものである。 幸いミスターXはこの提案を受入れた。約束の日、磐梯山麓にダイヤを隠そうとしたとき、あなたにこのま まダイヤを隠さずに奥久慈へ向かうのも悪くないとの考えが閃く。ミスターXにはこの場所を何食わぬ顔で (電話だから顔は見えないが)教えておけばよい。彼が騙されたことを知ったときにはあなたは金とダイヤ を抱えて既に成田から飛び立っていられる。磐梯からは磐越道、常磐道と乗りついで急いでも成田までは2 時間半はかかる。悪くない。 しかし、もしかしてミスターXも同じ様なことを考えているかもしれない。この取り引きはミスターXに とっても、ダイヤを処分する闇のルートに通じていないあなたにとっても旨味のある取り引きである。2人 とも成立させたいと思っている。しかし、ダイヤと金の両方をせしめる誘惑はやはり大きい。 2.4. 囚人のジレンマ 5 ミスターXは約束を守る ミスターXは裏切る 取り引き成立 何も手に入らない 金とダイヤ一人占め 骨折り損 あなたは約束を守る あなたは裏切る 仮にミスターXが約束を守ると仮定してみよう。そのときあなたは約束を守るよりも裏切った方が得をす る。では、ミスターXが裏切る場合はどうだろう。その場合にもあなたは裏切る方がよい。あなたの行為は 奥久慈のミスターXに影響を与えないのだからあなたはいつも裏切った方が良いことになる。つまり裏切 ることが合理的な行動である。しかし、ミスターXもきっとあなたと同じことを考えるに違いない。そう すると彼の合理的な戦略も裏切ることとなる。「双方とも裏切」がナッシュ均衡である。また、これ以外に ナッシュ均衡は存在しない。その結果、あなたもミスターXも骨折り損のくたびれ儲けとなる。 取り引きをしている2人ともが取り引きの成立を望んでいるにも拘らず合理的な判断によってナッシュ均 衡が選ばれ、その結果2人とも裏切ることになる。どうしてだろうか。これは本当に合理的な決定と言える のだろうか。 このゲームの元になったのはタッカーが 1950 年に作った囚人のジレンマである。2人の男が警察に掴 まっている。共犯の容疑である。警察は離れた取り調べ室にいる2人に次のような司法取り引きを持ちか ける。 1. 両方とも自白しなければ別の軽微な罪でともに1年の禁固刑とする。 2. 両方とも自白すればともに2年の禁固刑とする。 3. 片方が自白して、もう片方が自白しなければ、自白した男は釈放され、自白しなかった男は3年の禁 固刑とする。 つまり 取り引きを拒否 仲間を裏切る 取り引きを拒否 1年、1年 3年、0年 仲間を裏切る 0年、3年 2年、2年 が2人の男たちに示された。ルパン4世とミスターXの話と同じように合理的な判断によって2人の男は 仲間を裏切り、ともに禁固2年を言い渡されるのであろうか。 裏切を支持する議論はこうである。「自分の選択が相手の選択に影響を及ぼすことはない。だから相手が どちらを選ぶにしても、裏切を選んでおいたほうがよい。2人とも協調して警察との取り引きを拒否でき るのに、裏切るなんてと反論するのなら、相手は裏切るときには裏切るんだということを思いだせばよい。 相手の選択は自分の選択とは無関係だ。相手の裏切が分ったとき裏切っておいてよかったときっと思うは ずだ」 一方、協調して警察との取り引きを拒否することを支持する議論はこうである。「2人の立場は全く同じ だ。自分だけ裏切って自分の立場を良くしようと考えるのは間違っている。2人とも等しく合理的であると 仮定すると、相手は自分と同じ戦略を取ると考えるのが妥当だ。相手が自分のクローンか、自分が相手のク ローンだと思えばよい。つまり、自分が裏切れば相手も裏切って、最悪の事態になる。自分が協調すれば相 手も協調する。だから、選ぶべきは協調しかない」 さてさてどちらの意見が説得力に勝るだろうか。ここで聖書のマタイによる福音書7章の一節を引用し ておこう。 . . . 人をさばくな。自分がさばかれないためである。あなたがたがさばくそのさばきで、自分も さばかれ、あなたの量るそのはかりで、自分にも量り与えれるであろう。. . . だから、何事でも 人々からしてほしいと望むことは、人々にもそのとおりにせよ。これが律法であり予言者である 6 第 2 章 ゲームとジレンマ 囚人のジレンマは2人の間のジレンマであった。その非現実的な設定によってこのようなことは日常起こ らないと思っているかもしれない。しかし、それは多数のプレイヤーの参加するゲームとして日常的に見る ことができる。「ただ乗り (free rider)」と呼ばれているこの現象の例を幾つか示そう。 日本の鉄道の駅は改札があって、切符を持たないで乗車することは難しい。バスにしても同じである。し かしヨーロッパ大陸の多くの国の駅に改札はない。その代わり車中で検札がある。しかしその検札も、短距 離の列車、地下鉄、路面電車ではそれほど頻繁に行なわれるわけではないし、特に夜間は手薄になる。もち ろん見つかった際の多額な罰金が無賃乗車の抑止力となっている。しかし、夜遅く帰宅する際にガランとし た駅で、切符を買わないで乗ってしまおうかという誘惑が起こるのは避けがたい。自分が切符を買わずに乗 ろうが、乗るまいが列車は運行されるし、自分の体重は列車の重量に較べれば無視できるから、運行に費 やされるエネルギーは変らない。「自分1人ぐらい」という思いである。しかし、その思いは容易に誰にで も共有される。皆が同じことをすれば公共交通機関は赤字を抱え、やがて料金値上げが避けられなくなる。 そうして高くなった料金をあなたも払わなければならなくなる。かくしてこのゲームの利得表はつぎのよ うにまとめることができる。 自分は切符を買う 他の皆は切符を買う 他の皆は切符を買わない 乗車賃+料金据え置き 乗車賃+料金値上げ 料金据え置き 料金値上げ 自分は切符を買わない 避暑にでかけたリゾート地で無人の野菜販売所が目についた。あなたは自然食志向で是非とも買ってみ たい。誰も見ていないな。このままお金を置かないで大根を失敬してしまおうか。自分1人くらいそうして も農家の収益に大きな影響はないはずだ。 湖の周りに工場が何軒か操業している。いずれも湖の水を利用して操業し、廃液を湖に流している。それ ぞれの工場は廃液処理をするかしないかの選択枝を持っている。我が社だけ廃液処理をしなくても湖の水 質はさして変るまい。それに廃液処理の費用が浮く。このように考えて多くの工場が処理をしなければやが て湖の汚染が進み、その水を利用することもできなくなるであろう。 なかなか使いやすくて役にたつシェアウェアソフトが手に入った。READ.ME には登録して10ドル払 うように書いてある。払えばソフト起動時に出る支払催促は出なくなるが、それも我慢できないほど煩わ しいわけでもない。なにより外国まで送金するのが面倒だ。自分一人が払っても払わなくても同じだ。誰に 迷惑を掛けるわけではない。このまま使い続けよう。 2.5 チキンゲームのジレンマ chicken を手元の辞書で引くと 1. ひな鳥;鶏のひな、ひよこ;鶏肉、かしわ、チキン 2. 子供;若い人;女の子、いい女;若い売春婦 3. ホモの少年;臆病者、青二才、ひよっこ;被害者、いいカモ などとある。チキンゲームはこのなかの臆病者に由来する。まず、真っ直ぐな道路を選んで車で出かける。 その道路の両端にゲームに参加する2人が向い合った車に乗ってエンジンをかける。車はそれぞれの右タイ ヤを中央の白線に乗せたまま、フルスピードで接近する。衝突の危険が増す中、先に中央線から車をよけた 方はすれ違いざまに相手から「chicken!弱虫」と罵倒される。当然彼はそれから長い間皆の軽蔑の的となる のである。 このゲームで最悪の場合は、もちろん双方とも避けなかった場合である。警察のサイレンがなり、燃え盛 る車から2人と遺体が引っ張りだされるのは楽しい光景ではない。では、最高の場合は?それは、もちろん 2.5. チキンゲームのジレンマ 7 「chicken!」と叫ぶことができる瞬間である。また、双方とも避けた場合は、見物の仲間から「chicken!」と 言われるかもしれないが、それもそれほどひどいとは言えない。適当に数字を入れれば、次のようになる。 避ける まっすぐ進む 避ける 2, 2 1, 3 まっすぐ進む 3, 1 0, 0 囚人のジレンマと違って、このゲームではどちらのプレイヤーも相手の出方を読んで、相手と異なる手を取 ろうとする。その結果上の利得表から分るように相手と異なる戦略をとるという2つのナッシュ均衡があ る。しかもそのいずれもが同程度に合理的なのである。つまり、あなたが直進し相手が避ける、あるいは相 手が直進しあなたが避ける。しかし、相手はあなたと同じように合理的に判断するとしたら、相手もあなた と同じように迷っているはずである。例えば、車を加速しているとき、携帯電話が鳴るとしよう。それを取 上げたあなたに携帯電話の主は「相手は密かに育てられた君のクローンだ」と告げる。相手はあなたと同じ 遺伝子を持ち、あなたと同じ考え方をするだろう。さて、あなたならどうする。 あるいは電話の主が「相手は自殺癖のある男だ」と告げたら? 相手が1人でない場合にもこのゲームと同じ様なゲームがあるので紹介しよう。あなたは仲間とともに 敵に捕らえられている。あなたの仲間もそれぞれ独房に入れられており、連絡を取ることはできない。壁に はデジタル時計と赤いボタンが1つ。壁の時計が11時を示したころ天井のスピーカーから敵の首領の声 が流れてくる。「ようこそ、諸君。諸君は我々の虜となった。12時になれば諸君のどの部屋にも毒ガスが 流れて諸君は一人残らずあの世行きだ。何と愉快なことだ。しかし、情け深い私は諸君に最後のチャンスを 与えることにした。もしも12時までに誰かがその部屋の赤いボタンを押せば、諸君を助けよう。ただし、 ボタンを押した部屋にはボタンを押すと同時に毒ガスをプレゼントすることにしよう。仲間の誰かがボタン を押してくれることを祈るんだな。それとも仲間を助けるためにボタンを押すかい。勇敢な諸君の行動を 楽しみにしている。」壁の時計は既に11時4分である。あと56分。 あなたは味方の軍とともに塹壕にいる。そこに敵の投げた手榴弾が飛込んできた。軍のマニュアルにはこ のような場合手榴弾を抱え込めば死ぬのは1人に抑えることができると書いてあったなあ、とあなたはぼ んやりとしている。 このゲームも絵空事ではない。例えば、あなたは夏休みを利用して裏磐梯高原の別荘で寛いでいるとしよ う。涼やかな風が窓から流れ込み、ちょっと硬めにゆであがった枝豆に冷えたビールが堪らない。そのとき テレビが、そして部屋の灯りが消えてしまった。懐中電燈を取りだしてブレーカーを調べたが異常はない。 窓から見回すと周囲の別荘の窓も真っ暗である。停電だ。誰か電力会社に連絡をしなければ。自分が電話 帳のページを繰って、電話をすべきだろうか。いや、きっと隣の住人は電力会社の電話番号を知っていて、 電話をしてくれるだろう。昼間会釈をしただけだが彼は自分より几帳面そうだった。その彼がしなくても きっと他の誰かがしてくれるだろう。誰もがこのちょっと面倒な行動を起こさなければ全員が暗闇の中で一 晩を過ごすという被害をこうむることは分っている。しかし、あなたはその誰かが自分である必要はないと 思っているし、自分でないことを望んでいる。 ちょっとしたパーティーで数学好きなホストがゲームをしようと提案した。「皆さん方に小さな紙切れを 配ります。まずその紙に名前を書いてください。さて、名前の下に1万円あるいは千円と書いていただき ます。もしも1人でも千円と書いた方がいれば全員に書いていただいた額だけのお金をさしあげましょう。 千円と書いた方に感謝しつつお受け取りください。しかし、全員1万円と書いた場合にはどなたにもお金 をさしあげません。あっ、そこの方、まわりの方と相談してはいけません。後で幾らかあげるから千円と書 いてなどと頼んではいけませんよ。さて、よろしいですか。」 当時の司法長官でもあったケネディ大統領の弟ロバートは「1962 年 10 月 16 日、火曜日の朝のことであっ た」とその著書 Thirteen Days を書き出している。アメリカの偵察機 U2 は当時のソ連から経済援助を受 けていたカストロ政権のキューバに建設中のミサイル基地を発見した。キューバはフロリダ沿岸から目と 8 第 2 章 ゲームとジレンマ 鼻の先である。アメリカ大統領 J.F. ケネディーは基地の撤廃を要求し、キューバを海上封鎖すると言う声 明を発表する。その声明に対してソ連のフルシチョフ首相は、「キューバに関する米国の行動は公然たる海 賊行為であります。あるいはお望みなら、退化した帝国主義の愚行と申してもよいでしょう。米国は人類を 「核ミサイル世界戦争の深淵」へ押しやっており、ソ連としてはキューバに向かうソ連船の船長らに米海軍 の指示に従うよう命令は出さない」と述べ、さらにアメリカがソ連船の揚陸作業を阻止する場合には「わ が方としても、我が権利を守るために、必要かつ適当と思われる諸措置を取らざるを得なくなりましょう。 我々はそのために必要なものはすべて保有しております」と明言した。核戦争に繋がりかねなかったいわ ゆるキューバ危機がこれである。ロバートは「大統領は戦争を引き起こすいろいろな誤算について語った。 はじめからその気で戦争が起こることはめったにない。われわれが戦いたくないのと同様、ソ連人も戦い たくないのだ。彼らはわれわれとの戦争を望まないし、われわれも彼らとの戦争を望まない。しかもなお、 ここ数日の出来事が今後も続けば、闘争は−だれも望んでいないし、何の成果もあがらないのに−全人類 を巻き込み、破壊してしまうだろう」と書いている。また、フルシチョフ首相も「われわれは「つまらない 激情」や「一時的なもの」に負けてはならないが、いったん戦争が始まったら、それを止める力はわれわれ にはないことを理解しなくてはならない。なぜなら戦争の論理とはそういうものだからである。私は2度 戦争に参加した。戦争というものは至るところに死と破壊をまき散らし、町や村をじゅうりんした時におわ るものだ」と述べている。下に、映画 Thirteen Days のサイトから引用する。 • Day 1 - Tuesday, October 16th General Joseph Carol presents Secretary of Defense Robert S. McNamara with an eagle’s eye view of San Cristobal, Cuba taken from a reconnaissance plane. Canvas-covered missile-shaped objects, missile launchers, and military equipment resembled Medium Range Ballistic Missile (MRBM) installations in the Soviet Union. [EDITORIAL NOTE: The slashed pattern was peculiar to the IRBM sites discovered only a couple of days later. National Security Advisor McGeorge Bundy briefs President Kennedy, who orders a secret meeting of his closest advisors, including his brother Robert Kennedy and Appointment Secretary Kenny O’Donnell. This group later became known as the Executive Committee of the National Security Council, or EXCOMM. Kennedy orders an accelerated schedule of twenty U-2 flights over Cuba during the next six days and demands nondisclosure of the situation unless he instructs otherwise. He then informs United Nations Ambassador Adlai Stevenson of the newly discovered situation. Stevenson strongly advises the President to maintain all scheduled appointments and campaign appearances as a means of keeping the potential crisis under the strictest secrecy. Unaware of what the U-2 photography has revealed, later that day, American Ambassador to the USSR Foy Kohler meets with Soviet Chairman Nikita Khrushchev in Moscow. Although ”Operation Anadyr” is well under way, Khrushchev persistently asserts that any type of Soviet action in Cuba is solely for defensive purposes. An account of the meeting is conveyed to Kennedy, which heightens his suspicion that Khrushchev is lying in order to buy the Soviets time to ready their Cuban missiles for operational condition. • Day 2 - Wednesday, October 17th The IRBMs (Intercontinental-Range Ballistic Missiles) were reported on the morning of Oct 18 after photos from earlier flights were reviewed on the night of Oct 17. Night-time photography was only possible with low-level flights (not U-2) and with the use of strong flares, the use of which would 2.5. チキンゲームのジレンマ 9 immediately alert Soviet and Cuban forces. EXCOMM members continue marathon meetings with Robert Kennedy outlining the President’s options. Soviet Chairman Nikita Khrushchev reports to his Soviet officials on his meeting with American Ambassador Foy Kohler the previous day. Khrushchev contends that Soviet action in Cuba is solely for defensive purposes. President Kennedy flies to Connecticut to aid in the campaign of the Democratic Party’s congressional candidate, Abe Ribicoff. • Day 3 - Thursday, October 18th The national news reports a build-up of American air power in the southeastern states. The Pentagon claims that this is normal procedure in response to Cuba’s possession of modern MIG fighters. After reviewing photography from earlier flights, the CIA’s photo interpreters recognize peculiar slash patterns on the ground that resemble launch sites for Soviet Intermediate Range Missiles (IRBMs). With a range of double the MRBMs, these missiles can reach anywhere in the U.S. with the possible exception of the Pacific Northwest. It appears these missiles could be ready for launch within 18 hours. The Joint Cheifs of Staff advocate immediate airstrikes on the Cuban missile installations, but Robert Kennedy questions whether that option is morally acceptable. The possibility of a blockade is more fully discussed. Late the afternoon, President Kennedy meets with Soviet Foreign Minister Andrei Gromyko. The President decides not to reveal that U.S. intelligence has detected the missiles sites. Gromyko has been instructed to convey the message that the Soviet aid in Cuba is of a defensive nature only and for agricultural development. President Kennedy interprets these messages as blatant lies on the part of Soviet Chairman Khrushchev and assumes Gromyko may not be informed of the missile buildup. EXCOMM meetings continue through the night with no consensus. • Day 4 - Friday, October 19th The Joint Chiefs of Staff warn commanders-in-chief around the world that recourse through military action may be necessary due to ”tensions” in Cuba. Secretary of Defense Robert S. McNamara instructs the Pentagon to prepare squadrons for possible air attacks. President Kennedy is scheduled to fly to Chicago for more campaign appearances, but the acceleration in the Cuban situation forces him to return to the White House. The press is told the President has a cold. Kennedy’s advisors present him with two options: First, begin with a naval blockade and, if necessary, take militant action; or conversely, begin with minimal airstrikes and move up toward a full-scale invasion of Cuba. Kennedy privately comes closer to a decision that the blockade is the way to begin. Commander Tracy Wilder of the U.S.S. Stickell is given orders to prepare for extended operations. United Nations Ambassador Adlai Stevenson stresses the importance of scheduling an emergency meeting with the UN Security Council. Stevenson also suggests that the U.S. should consider removing Jupiter missiles from Turkey in exchange for Soviet removal of missiles from Cuba. Later in the evening, U.S. Army units from the First Armored Division are deployed to Fort Steward, Georgia. Commander Wilder moves the U.S.S. Stickell into the Caribbean in order to join other 10 第 2 章 ゲームとジレンマ destroyers for the blockade. • Day 5 - Saturday, October 20th President Kennedy leans more heavily toward a blockade of Cuba coupled with an ultimatum. In the event it is unsuccessful, he orders the military to begin preparations for a massive assault on the island, readying 180,000 troops. The Navy begins moving approximately 300 ships into the seas near Cuba. President Kennedy and his advisors schedule a television address to inform the United States public of the missile buildup in Cuba. The address is scheduled for the evening of Monday, October 22. Officials in the Kremlin begin analysis of Soviet Foreign Minister Andrei Gromyko’s report from his meetings earlier in the week at the White House. The Kremlin is concerned the U.S. officials may be suspicious of the Soviet efforts in Cuba. Russian military intelligence reports an increase in U.S. military presence in the waters near Cuba. An intensification in U.S. communication and movement in the area is also reported to the Kremlin. The Kremlin appears to disregard the military reports in favor of the more optimistic diplomatic reports. • Day 6 - Sunday, October 21st An EXCOMM meeting is held to revise President Kennedy’s speech to be delivered to the American public tomorrow. The President decides the speech should convey that the Soviets have all of the weapons they need for their defense in the USSR, and that the only reason for deployment of weapons in Cuba is for the domination of the Western Hemisphere. Advance warning is sent to British Prime Minister Harold Macmillan. Russian General Gribkov begins an on-site progress inspection of the launch sites in Cuba. Soviet troops are working around the clock to complete the sites in spite of high temperatures, rough terrain, and an increasing threat of detection by U.S. surveillance as more U.S. reconnaissance planes are being spotted. • Day 7 - Monday, October 22nd General Thompson S. Power of the U.S. Strategic Air Command assigns B-47 bombers loaded with nuclear bombs to forty civilian airports across the United States. The B-52 forces, also armed with nuclear bombs, are put on 24 hour alert. 180 naval ships are deployed to the Caribbean in anticipation of a blockade. The National Security Council approves Action Memorandum 196, which formally establishes the Executive Committee (EXCOMM) of Kennedy’s circle of crisis advisors. At 5 pm, key members of the Senete are briefed on the situation in Cuba. They harshly criticize a potential naval blockade as ”slow, ineffective and perhaps more dangerous than an invasion.” At 6 pm, Secretary of State Dean Rusk hands Soviet Ambassador to the United States Anatoly Dobrynin a copy of the President’s forthcoming speech. At 7 pm, regular television and radio programming across the U.S. is interrupted by President Kennedy’s somber 17 minute speech. Kennedy says that the USSR must immediately remove the Cuban missiles or face the threat of nuclear war. He announces a naval quarantine to stop all arms shipments to Cuba. Ambassador Adlai Stevenson delivers a message to Soviet Ambassador to the UN Valerian Zorin requesting a meeting to ”deal with the dangerous threat to peace and security of the world caused 2.5. チキンゲームのジレンマ 11 by the secret establishment in Cuba.” He asks the United Nations Security Council to call for an immediate disarmament of nuclear weapons in Cuba and to send a UN Observer Group to make certain all weapons are cleared out. • Day 8 - Tuesday, October 23rd Supermarket shelves are cleared as Americans face the possibility of nuclear war. School children all over the world practice drills in the event of nuclear attack. The Organization of American States (OAS) unanimously approves the quarantine against Cuba. With the backing of the Western Hemisphere, Kennedy signs the Proclamation of Interdiction in the early evening. EXCOMM meetings continue as 24 Soviet ships sail towards the American blockade, and U.S. warships move to intercept them. Khrushchev sends Kennedy a private letter criticizing him for interfering in Cuban affairs. Robert Kennedy secretly meets with Soviet Ambassador Anatoly Dobrynin and conveys the President’s position. • Day 9 - Wednesday, October 24th U.S. nuclear forces are moved to DEFCON 2, the level of alert just below nuclear war. All U.S. missiles, nuclear-armed submarines, and more than 1,400 U.S. military aircraft are placed on alert. At 10 am, the naval blockade of Cuba goes into effect. The President orders that there be no shooting or boarding of Soviet ships without his command. Within 15 minutes, two Soviet ships will reach the blockade line. A Soviet submarine moves in between the two ships. President Kennedy and his advisors, along with the rest of the world, watch the drama unfolding on television. At 10:25 the ships stop dead in the water. Minutes later, reports are confirmed that fourteen eastern block ships in the area had either stopped or turned around. Khrushchev has chosen not to challenge the blockade. The naval blockade of Cuba officially goes into effect. The President orders that there be no shooting or boarding of Soviet ships without his command. The United Nations Security Council meets. The non-aligned countries, especially the African and Asian nations, do not see the justification behind a United States blockade. Unable to sway the African and Asian delegates, acting UN Secretary General U Thant realizes that the UN must try to pull the two nuclear powers apart. The blockade draws its lines in the Atlantic in a 500 mile radius around Cuba. There are two reasons for this radius: First, U.S. ships are stationed beyond the operating range of Cuba’s MIG fighters; second, the ability to see the ships from a distance provides Washington with sufficient time to decide whether or not to board Soviet ships. Navy reconnaissance flights spot out twenty-five Soviet ships capable of carrying intermediate-range missiles. The navy awaits possible interception orders. UN Secretary General U Thant sends the U.S. and the Soviet Union a telegram asking both countries for a ”voluntary suspension of all arms shipments to Cuba and also voluntary suspension of the quarantine.” Kennedy, bristling at this request, responds that the U.S. will refuse negotiations until Russia shows willingness to dismantle its missile bases. At 5:15 pm, 25 eastern bloc ships either 12 第 2 章 ゲームとジレンマ turn around or stop dead in the water; but the U.S. remains wary. The President restates that there be no shooting at or boarding of Soviet ships without his consent. Later in the evening, Secretary of Defense Robert McNamara goes to Admiral Anderson in the Navy Flag Plot of the Pentagon to deliver the President’s instructions for no boarding of ships without his consent. McNamara notices a marker on the ship location chart indicating that there is a U.S. ship alone miles away from the blockade line. In private, Anderson explains that ”the lone ship is sitting on top of a Soviet Submarine.” • Day 10 - Thursday, October 25th President Kennedy decides to allow a Soviet tanker to pass through the quarantine without being boarded. He also orders low-level reconnaissance flights over Cuba twice a day to monitor the missile sites. UN Ambassador Adlai Stevenson pressures the Soviet delegation to resolve the conflict, but to no avail. In a dramatic move, he confronts Soviet Ambassador Zorin to acknowledge that the missiles exist, declaring ”I am prepared to wait until hell freezes over if that’s your decision. And I am also prepared to present the evidence in this room-now.” He proceeds to present the evidence to the world, but to no immediate avail. EXCOMM meetings continue. • Day 11 - Friday, October 26th The United States destroyer Joseph P. Kennedy spots the Soviet ship Marucla and raises the international flag with ”Oscar November” written on it, which means ”heave to stop at once.” The boarding U.S. officer, Lieutenant Commander K.C. Reynolds, searches the Marucla without objection from its captain. In Washington, members of the EXCOMM worry about the rapid pace of missile production. It appears that the Soviets could be prepared to fire at any time of the day. President Kennedy orders more low-level reconnaissance flights instead of a direct attack. John Scali, Diplomatic Correspondent of the American Broadcasting Company, receives a phone call from Alexander S. Fomin. Fomin is a Soviet Embassy counselor who is suspected of being a KGB Colonel-Chief of Soviet intelligence operations, or a spy, in the U.S. [Editorial Note: His real identity was Alexander Feklisov, KGB Chief of Station in Washington.] He asks Scali if the State Department would be interested in peace based upon three terms: (1) The missile sites would be dismantled and shipped back to the Soviet Union under United Nations supervision; (2) Fidel Castro would pledge himself to accept no offensive weapons in the future; (3) The United States would pledge itself not to invade Cuba. Scali takes the proposal to Rogers Hilsman, U.S. State Department Intelligence Chief, who takes it to Secretary Rusk. He gives Scali a letter to take back to Fomin, which states that the two governments can work the matter out, however, time is running out. In the early evening the State Department begins receiving a long, confidential letter from Khrushchev. The Soviet Premier offers to withdraw the missiles if President Kennedy pledges not to invade Cuba. U.S. officials incorrectly assume that Fomin’s message and Khrushchev’s letter are linked. In Havana, Fidel Castro spends the night in a bomb shelter in the Soviet Embassy and sends an emotional letter to Khruschchev in which he seems to recommend that the Soviet Union use its nuclear weapons. 2.5. チキンゲームのジレンマ 13 • Day 12 - Saturday, October 27th While the EXCOMM is meeting in the morning, another letter arrives from Moscow. In addition to the earlier demand of a non-invasion pledge, Khrushchev now demands that American missiles in Turkey be withdrawn. In exchange, the Soviet Union would withdraw all of its missiles from Cuba. In the early afternoon news arrived that an American U-2 plane monitoring Soviet nuclear tests had temporarily wandered off course into Soviet airspace. In Cuba, Castro orders his forces to fire at will on U.S. aircraft, and a U-2 spy plane is shot down killing the American pilot, Major Rudolph Anderson, Jr. The Joint Chiefs report that the U.S. is sready to launch a full-scale invasion of the island within 24 hours. In seeking a response to Khrushchev’s two letters that would defuse the crisis without betraying America’s European allies, a small group of the President’s advisers settle on a plan: they would respond formally only to Khrushchev’s first letter without mentioning the Turkish missiles. Then, late that evening Robert Kennedy would meet secretly with Soviet Ambassador to the U.S. Anatoly Dobrynin and privately agree to remove the Turkish missiles. Robert Kennedy suggests the U.S. ignore the letter of compromise in favor of his earlier one. It is considered a long-shot, but may allow the U.S. to avoid entering into a trade. • Day 13 - Sunday, October 28th Over Radio Moscow Nikita Khrushchev announces, ”The Soviet Government... has has issued a new order on the dismantling of the weapons which you describe as ’offensive,’ and their crating and return to the Soviet Union.” Khrushchev sends the First Deputy Foreign Minister of the Soviet Union, V.V. Kuznetsov, to New York to work with UN Secretary General U Thant on the eradication of this crisis. Khrushchev writes an official letter of acceptance of peace. President Kennedy, too eager to wait for its arrival, writes a letter of acceptance for negotiations. The Joint Chiefs of Staff order Admiral Dennison of the Atlantic to remain stationary without any forceful action. In the same hour, officials fly to New York to try and convince U Thant of immediate inspection of missile disarmament. The President dispatches a formal letter to Khrushchev in response to Kruschev’s earlier letter. He says, ”Mr. Chairman, both of our countries have great unfinished tasks and I know that your people as well as those of the United States can ask for nothing better than to pursue them free from the fear of war.” Although it appears that the crisis is over, U.S. nuclear forces will remain on high alert for another 22 days until all Soviet missiles and nuclear bombers are shipped back to the Soviet Union. 練習問題 次のドルオークションと最大数ゲームについて参加者はどう行動するか、また、なぜそのようになるのか、 その行動は望ましいかについて考えるところを示せ。 • ドルオークション:さるパーティー会場でなごやかな1時間が過ぎ去った頃、ホストがフォークでもっ てワイングラスを鳴らした。「皆様、今日は私どものパーティーにおいでくださって心からお礼を申 し述べたいと思います。たくさんのお花やチョコレートをいただきましたが、私から皆様にプレゼン 14 第 2 章 ゲームとジレンマ トがあります。ここに1万円札がありますが、これを皆様方に競っていただこうと思います。競りの ルールは通常と変わりません。一番高い競り値をつけた方にその値段でこの1万円札を買っていただ きます。ただし、パーティーですのでちょっとした趣向をこらしましょう。それは、2番目に高い値 を付けてくださった方は、その値段と同額を私に支払うという趣向です。いかがでしょうか」しばら くざわついていた会場から「百円」という声が聞こえた。さて、その後は? • 最大数ゲーム:何気なく読んでいた雑誌2 に次の妙なくじが説明してあった。葉書 1 枚で100万ド ル! The announcement of a Luring Lottery open to all readers of Scientific American, and nonreaders too. The prize of the lottery is $ 1, 000, 000/N , where N is the number of entries submitted. Just think, if you are the only entrant (and if you submit only one entry), a cool million is yours! Perhaps, though, you doubt this will come about. It does seem a trifle iffy. If you would like to increase your chances of winning, you are encouraged to send in multiple entries without limit. Just send in one postcard per entry. If you send in 100 entries, you will have 100 times the chance of some poor soul who sends in only one entry. Come to think of it, why should you have to send in multiple entries separately? Just send one postcard with your name and address and a positive integer (telling how many entries you are making) to: Luring Lottery Scientific American 415 Madison Avenue New York, N.Y. 10017 You will have the same chance of winning as if you had sent in that number of postcards. Illegible, incoherent, ill-specified or incomprehensible entries will be disqualified. Only entries received by 5:00 PM on June 30, 1983, will be considered. Good luck to you (but certainly not to any other reader of this column)! さて、あなたならどんな数字を葉書に書いて送るか。 参考文献 A.ラパポート、A.M.チャマー(廣松毅他訳)『囚人のジレンマ:紛争と協力に関する心理学的研究』 (啓明社、1983 年) ウィリアム・パウンドストーン(松浦俊輔訳)『囚人のジレンマ:フォン・ノイマンとゲーム理論』(青土 社、1995 年) 鈴木光男『新ゲーム理論』(勁草書房、1994 年) モートン・デービス(桐谷維、森克美訳)『ゲーム理論入門−チェスから核戦略まで−』(講談社ブルーバッ クス、1992 年) 鈴木光男、武藤滋夫『協力ゲームの理論』(東京大学出版会、1985 年) Douglas R. Hofstadter, “Metamagical Themas,” Sientific American June 1983. Robert F. Kennedy, Thirteen Days, A Memoir of the Cuban Missile Crisis, W.W.Norton & Company, 1971(毎日新聞社外信部訳「13日間」中公文庫, 2001) ジョージ・ガモフ、マーヴィン・スターン(由良統吉訳)『数は魔術師』(白揚社, 1976) 2 D.R. Hofstadter, Metamagical Themas, Sientific American June 1983, 14-18. 1 第 3 章 ゼミの割り振り この章ではある大学院のゼミの割り振りをめぐって起こった問題を取り上げオペレーションズ・リサーチの 中の数理計画手法について見てみよう。 3.1 センセイ、ワタシ、コマリマス それは、夏休みも近い蒸暑い午後のことだった。一人の女子留学生が研究科長である私の部屋にやってき た。ソファーに腰を下ろした彼女は「センセイ、ワタシ、コマリマス」と小さな声で真っ直ぐにこちらを見 て言った。彼女の所属している大学院では少人数のゼミ形式の授業をおこなっている。そのため同一の授業 科目で6つの異なるゼミを開講し、それぞれのゼミに対して学生の希望を出してもらい、その希望にそって 最大10人ないし11人までそれぞれにゼミに割り振っている。しかし、その方法が彼女を困らせている原 因だった。 「ワタシ、ダイ4シボウノぜみニナリマシタ。コマリマス。」大きな目には涙を浮かべている。6 つの選択における第4志望とは、ありていに言ってしまえば、希望していないゼミということになる。この ようにあまり希望していないゼミに割り当てられ、不満を持っているのは彼女だけではないようだ。どうし てこのようなことが起こってしまったのかを知るために、それまでの割り振り方法を見てみよう。 3.2 それまでの割り振り方法 この方法は簡単だ。まず、ある基準で学生を並べる。その上位の学生から順に第1志望を見る。もしもそ の学生の第1志望のゼミに余裕があれば、その学生をそのゼミに割り当て、次の順位の学生に移る。もしも 第1志望のゼミがすでに一杯なら、第2志望のゼミを見て、そこに余裕があれば第2志望のゼミに割り当 てて、次の順位の学生を見る。この手順を繰り返して行くのだ。容易に想像できるように、低い順位になっ た学生の順番が回ってきたときにはほとんどゼミは定員一杯になっていて、その学生に選択の余地は余り残 されていない。学生を並べる基準がいかなるものであっても、これは良い方法だとは考えられない。 3.3 「方法」よりも「解」 私の部屋を訪れた彼女の涙にほだされた訳ではないが(全くないとも言い切れないとも思うが)、どうに かしなければと思った。私のオペレーションズ・リサーチ魂が動きだしたようだ。 このような場合、いきなり割り振りの方法を考えるのは賢いやり方とは言えない。もちろん最終的には方 法を作らなければならないのだが、いきなり方法を考えることから始めると、何らかの方法ができ上がった としても、「一体その方法は何をしようとしているのですか?」と問われたとき、答えられない。それでは ゼミに参加している学生諸君も、担当の教官も説得できないからだ。このような場合には「どのような割り 振りが良いか?」をまず考えるべきだ。良い割り振りがきちんと認識されてから、それを求める方法を考え るべきなのである。このようなものを「解」という言葉で記憶にとどめておこう。 では、良い割り振りとはどのような割り振りだろうか。もちろん全員をその第1志望に割り当てること 2 第 3 章 ゼミの割り振り ができればベストであろう。しかし、世の常として人気のあるゼミとそうでないゼミがあり、このベスト な割り振りは実現できそうもない。では、なるべく多くの学生を第1志望に割り当てるような割り振りは 良いと言えそうだ。しかし、第1志望に割り当てられなかった学生の中に、例の女学生のように、第4志 望や第5志望、さらには第6志望に割り当てられる学生があってはならない。多数の幸福のためにという お題目の下に少数の個人を犠牲にしてはならない。だから第1志望に割り当てられる学生がなるべく多く、 第1志望に割り当てられなかった学生もなるべく多く第2志望に割り当てられており、第1、第2のいず れの志望にも割り当てられなかった学生はなるべく多く第3志望に割り当てられている · · · といった割り振 りが良さそうだ。難しくなってきたようだが、実はそうではない。面倒なのは良い割り振り、つまり「解」 を認識する段階なのだ。今それがおおよそできかかっているのだから、ゴールへの道のりの半ばを来たと 言ってもいいだろう。 3.4 解の表現 解を表現しよう。といっても「一体全体、何の事?」と思われるかも知れない。オペレーションズ・リ サーチでは、問題の解を見つけるのに数理的な方法を使うことは既に話した。それにはまず問題を数理的 に表現する必要がある。そのためにはもちろん解自身も表現してやらなければならない。 さて、考えなければならないのは、どの学生をどのゼミに割り当てるかだった。だから、学生に番号を 振って、1, 2, . . . , m としよう。学生の人数を m で表している。実際には50人から60人だ。また、ある学 生を取上げて議論するときには学生 i というように呼ぶ。一方ゼミの方は6つだが、これは j = 1, 2, . . . , n で表そう。n = 6 だ。このように約束すると求めるべき解はどの学生 i をどのゼミ j に割り当てるかで表現 できる。さらに i と j のすべての組合わせについて xij という変数を考え、これに対して以下のような意味 を与えよう。つまり xij = 1 学生 i がゼミ j に割り当てられているとき 0 それ以外 だ。このようにすると割り振りを表す変数 xij は n xij = 1 j=1 と m xij ≤ cj i=1 を満たす 0 か 1 を値としてとる変数で表現できる。初めの式は学生 i は必ず丁度1つのゼミに割り当てら れていることを示し、次の式はゼミ j に割り当てられる学生の人数は cj を超えていないことを示している。 言い忘れたが、ここで cj はゼミ j の定員である。そうすると可能な割り振りは n j=1 m xij = 1 for i = 1, 2, . . . , m (3.1) xij ≤ cj for j = 1, 2, . . . , n (3.2) xij = 0 or 1 (3.3) i=1 を満たす変数 xij の全体として表現できる。これが我々の考えるべき全体なのだ。あるいは許されている全 体と呼んでもいいかもしれない。オペレーションズ・リサーチでは通常このような物を実行可能解と呼んで いる。 3.5. どうやって解くか 3 この実行可能解の中から何らかの意味で最も良い割り振りを選ぶのが我々に課せられた問題だ。その際学 生 i がゼミ j に割り当てられたときに得られる幸せの度合いが数値化できると仮定しよう。その数値を uij と表す。これはしばしば学生 i がゼミ j から受ける効用と呼ばれる値である。そこで学生全員の効用の合計 を最大にするようにゼミの割り振りを作るという考えが浮かぶ。彼の効用と私の効用は本来足しあわせるこ とのできる性質の物ではないが、全員同じ大学院に学ぶ者。そこは少々我慢しましょう。そうすると問題は maximize subject to m n uij xij i=1 j=1 n j=1 m xij = 1 for i = 1, . . . , m xij ≤ cj for j = 1, . . . , n i=1 xij ∈ {0, 1} for i = 1, . . . , m,j = 1, . . . , n m n と書ける。つまりさきほどの実行可能なあらゆる xij をすべて考えて、その中で i=1 j=1 uij xij を最も 大きくしている割り振りを探し出そうという訳だ。 学生 この中から 1つの演習 1 演習 1 2 3 2 4 3 5 この総和は 定員以下 図 3.1: ネットワーク構造 3.5 どうやって解くか これで解かなければならない問題ははっきりとした。しかし、どうやって解くのだろうか。もちろん、全 部の xij についてそれぞれが 0 であるか 1 であるかのすべての場合を作りだし、そうして得られたものが m n 問題の条件を満たしているかどうか判定し、満たしているものに関してその i=1 j=1 uij xij の値を計算 するといった事を労力を厭わず実行すれば、問題を解くことができるのは明らか。もう少し工夫もできる。 それぞれの学生はどれか 1 つの演習に割り振られるのだから、各学生について可能な割振り方は 6 通りだ。 4 第 3 章 ゼミの割り振り そのような学制が m 人いるわけだから、演習の定員を無視した場合の割振り方の個数は 6m 通りある。こ れを全部列挙してもよい。しかしそれでは、学生のあらゆる割り振りを作ってみて、その総効用を計算して 比較しているのと何等変らない。余りにも脳がなさ過ぎると思わないかね。しかし、以上の問題は最後の条 表 3.1: 組み合わせ的爆発 m 6m 計算時間 (100 万個/秒) 10 20 60,466,176 3.66 × 1015 1分 7000 年 30 40 2.21 × 1023 1.34 × 1031 170 宙年 1010 宙年 1 宙年 = ビッグバンから今日までの時間 ≈150 億年 件 xij ∈ {0, 1} for i = 1, . . . , m,j = 1, . . . , n を 0 ≤ xij ≤ 1 for i = 1, . . . , m,j = 1, . . . , n に置き換えても、 得られる解が自動的に 0 か 1 の値をとることが知られている。だから、問題は maximize subject to m n uij xij i=1 j=1 n j=1 m xij = 1 for i = 1, . . . , m xij ≤ cj for j = 1, . . . , n i=1 0 ≤ xij ≤ 1 for i = 1, . . . , m,j = 1, . . . , n と書き直せる。実はこの形式の問題は線形計画問題と呼ばれており、大規模な問題(数万変数、数千制約) も実用的な時間(数秒から数分)で十分に解くことができる方法が開発されており1 、それに基づいたソフ トウェア2 が計算機に載っているのでそれを利用することができる。 3.6 解いてみよう まず、彼女の年度の従来の方法で決定されたゼミ割り振り結果をまとめると以下のようになっていた。各 クラスの定員は一律に 11 名だった。 従来の方法による割り振り 志望 人数 1 例えば、シンプレックス法や内点法 2 Lindo あるいは Express MP 1 2 55 3 3 4 2 1 5 6 0 0 3.7. 学生との会話 5 第4志望のゼミに割り当てられた学生が1人、第3志望が2人いる。同じデータを用いて次のように係数 uij を決めて問題を解いてみた。 6 4 0 uij = −99 −999 −999 クラス j が学生 i の第1志望である場合 クラス j が学生 i の第2志望である場合 クラス j が学生 i の第3志望である場合 クラス j が学生 i の第4志望である場合 クラス j が学生 i の第5志望である場合 クラス j が学生 i の第6志望である場合 -99 や -999 には第4志望以下のゼミに割り振られる学生を作らないようにとの意図が込められている。そ の結果を以下の表に示す。 線形計画問題を解いて得られた割り振り 志望 人数 1 2 56 5 3 4 0 0 5 6 0 0 第2志望が5人いるが、残りの学生は全員第1志望に割り当てられている。めでたしめでたし。 3.7 学生との会話 この季節、我々の大学院のある文科系修士棟の廊下はまるで熱帯雨林のように蒸し暑い。その廊下の掲示 板の前で窓から外を見ていると、掲示された今年の 2 学期の演習の割り振り結果を見ていた一人の学生が 「第 2 志望だ」とつぶやくのが聞こえた。割り振り方法を考えた者として、小心な私は「ゴメンね。いつも 数人は第 2 志望に回るんだ」と弁解したのだが、彼が言うには「順位を付けるように書いてあったので順 位を付けましたが、第 1 と第 2 の志望はどちらでも良かったんです」とのこと。つまり、現在のアンケート では6つの演習を順位を付けて並べるように要求しているが、かならずしも順位がついているわけではな いのである。そこで、追加で以下のアンケートを採ってみた。 6 第 3 章 ゼミの割り振り 演習履修アンケート 学籍番号 氏 名 演習名 効用(いずれかに○) 演習 A 1 1 2 3 2 3 4 5 4 5 1 1 2 3 2 3 4 5 4 5 1 1 2 3 2 3 4 5 4 5 演習 B 演習 C 演習 D 演習 E 演習 F その演習を履修できたときのあなたの効用を表す数値のいずれかに○を付けて下 さい(数値が大きいほど効用が高い)。その際、5を付ける演習の個数には制限 がありません。同様に、4,3,2,1を付ける演習の個数にも制限は在りませ ん。ですから、すべての演習に5を付けても、すべての演習に1を付けても結構 です。すべてに5を付けると、あなたはどの演習に割り振られても至極ハッピー であることを意味し、すべてに1を付けるとどの演習に割り振られても至極アン ハッピーを意味します。例えば、最も希望する演習だけに 5 を付けて残りの演習 に1を付けることも可能です。ただし最も希望する演習に割り振られなかった場 合には、残りのどの演習に割り振られてもあなたの効用は同じ(同じ程度にアン ハッピー)であると述べていることになります。 このアンケートについての質問は山本芳嗣まで。ご協力に感謝します。 この結果をまとめてカリキュラム委員長に報告書を書いたので、いろいろ説明するよりもそれをそのまま 次に引用する。 経営・政策科学研究科カリキュラム委員長 山本芳嗣 演習の割り振り方法変更の希望 演習の割り振りの決定に数理計画法を用いるようになってすでに4年目となります。これまで、 常に数人が第2志望に回される以外は大半の学生が第1志望の演習を履修しており、この方法 は学生に十分受け入れられていると思いますが、これを作った当初から気になっている点があ り、それを改善しようと学生にアンケートを採ってみました。その結果と演習割り振り方法に ついての改良案を説明いたします。良ければ、3学期の演習あるいは来年度から、以下に説明 する方法に切り替えたいと思います。切り替えに際しては、 • 学生に対して希望演習の尋ね方が若干変更されます。 • 技官の作業はこれまでと変わりません。 • 内規の変更の必要もありません。 動機とアンケートの内容 これまでは学生に6つの演習を第1希望から第6希望まで希望順に並べたデータを出してもらっ 3.7. 学生との会話 7 ています。しかし、後で示しますアンケート結果でも分かるように、6つの演習に対して順序 がついていない学生も多く見られます。つまり、いくつかの演習が彼にとって無差別であるこ とを意味します。そこで、 「その演習を履修できたときのあなたの効用を1から5で評価してほ しい」とのアンケートを採りました。この方法を自由配点法と呼ぶことにします。アンケート の際、5をつける演習の個数に制限はないこと等を説明しています。回収された43人分のア ンケートから代表的なパターンを拾い出すと表 ??のようになります。ここで、注目していただ 表 3.2: 代表的パターンとその人数 パターン 人数 1クラス集中型 5,1,1,1,1,1 or 5,2,2,1,1,1 9 2,3クラス集中型 順番型 5,5,2,1,1,1 or 5,4,4,1,1,1 5,5,4,3,2,1 or 5,4,3,2,2,1 22 8 迷い型 4,4,4,4,4,4 or 4,4,4,3,3,3 4 きたいのは2番目の「2,3クラス集中型」です。このパターンの希望を持っている学生も従来 の方法では、ほとんど無差別の2クラスを第1あるいは第2希望に順序づけており、しかも割 り振り問題を解く際にはその2つのクラスを第1、第2希望と区別しております。しかし、今 回のアンケートにあるようなデータの集め方をすれば、いくつかのクラスが無差別であるかど うかも知ることができ、現在より自由度が高くなり、結果的に満足する学生の多い割り振りが 可能となります。 試算結果と従来の方法との比較 アンケートへの回答全体を使った試算 アンケートに回答してくれた学生の人数が43名でしたので、1クラスの定員を8名として計 算しました。これは、かなり余裕のある定員です。まず、従来の方法では表 ??の左半分に示し たように割り振られます。第2希望に回った学生が2名います。定員にかなり余裕があります ので、良い結果です。次に今回のアンケートに基づいた計算結果では表の右半に示したように 全員が最高得点をつけたクラスに割り振られています。 表 3.3: 回答全体を使った試算 従来の方法 新しい方法 A B C D E F 8 0 8 0 3 1 8 0 6 1 最高得点 第2志望 8 0 合計 8 8 8 4 8 7 第1志望 A B C D E F 第2得点 8 0 8 0 8 0 3 0 8 0 8 0 合計 8 8 8 3 8 8 アンケートへの回答の一部を使った試算 上の計算では回答数が43であったため、定員を8にしなければならず、どのような方法で行っ てもあまり差がでないデータでしたので、回答の一部を抜き出して、それに応じた定員を決め て同様の試算を行いました。いくつか試算しましたがそのうち36名に対して定員6名と7名 で行った結果を示します。 表 ??では分かりませんが、自由配点法を採用して、それまでよりも 希望の高いクラスに割り振られた学生が5名、逆に希望の低いクラスに割り振られた学生が2 8 第 3 章 ゼミの割り振り 表 3.4: 回答の一部を使った試算:定員6名 従来の方法 新しい方法 A B C D E F 6 0 5 1 6 0 2 4 5 1 5 1 最高得点 第2志望 合計 6 6 6 6 6 6 第1志望 A B C D E F 第2得点 6 0 6 0 6 0 4 2 6 0 5 1 合計 6 6 6 6 6 6 表 3.5: 回答の一部を使った試算:定員7名 従来の方法 新しい方法 A B C D E F 第1志望 7 5 7 2 7 5 第2志望 0 7 0 5 0 7 1 3 0 7 2 7 合計 A B C D E F 最高得点 7 6 7 3 7 6 第2得点 0 7 0 6 0 7 0 3 0 7 0 6 合計 名いました。定員を7名にした場合には、自由配点法を採用して、それまでよりも希望の高い クラスに割り振られた学生が2名、逆に希望の低いクラスに割り振られた学生が1名いました。 提案 初めの繰り返しになりますが、今年度3学期の演習から、あるいは来年度の演習から、学生に 対する希望の採り方をここで提案した方法に切り替えることを提案します。なお、アンケート 用紙はすでに今回の試算のために作ったものがありますし、演習に関する内規には希望の取り 方の詳細については明記してありませんので、内規の変更の必要もありません。以上、カリキュ ラム委員会でご議論いただければ幸いです。 なお、この試算は私の研究室におります 4 年生の石井征史君が行ってくれたことを付け加えて おきます。 cc:K 研究科長、カリキュラム委員各位 すぐさまカリキュラム委員長の D 先生からメイルで次の返事が届いた。 Date: Wed, 04 Aug 1999 13:39:40 +0900 To: Yoshitsugu Yamamoto <[email protected]> From: ******@shako.sk.tsukuba.ac.jp Subject: 演習振り分け 山本先生:経政の演習振り分けに関して、ご尽力頂き誠にありがとうございます。変更の予定 があることは、以前からお聞きしていました。変更の内容もより現実に即していると思います。 何らの作業や規則の変更も伴いませんので、ご提案通りの変更をお願いいたします。来年から の施行か、今年度演習2からの変更かは、テクニカルな問題ですので山本先生にお任せ致しま す。マイナーな変更であり、カリキュラム委員会での審議は不要で、それを待つことなくカリ キュ委員長の権限でお認めさせて頂きます。 さてさて、これで満足のいく演習に割り振られる学生が少しでも多くなってくれればと思います。 3.8. その年の秋 3.8 9 その年の秋 早速認めていただいた方法を使って 3 学期の演習割り振りを行ってみた。学生数 56 名、演習の定員 10 名 である。学生にはアンケートと同様に、各演習に割り振られた際に受ける効用を 1 から 5 の得点で回答して もらう。ただし、学生は 2 学期に取ったものと同じ分野の演習を再度履修することは許されていないので、 2 学期に取ったのと同じ分野の演習には効用 0 に印を付けるように、用紙を変更した。LINDO は 220 回の 反復の後に、次の表にまとめたに結果をディスプレーに書いてきた。残念。たった 1 人であるが、第 2 得点 表 3.6: 3 学期の割り振り 演習 A 演習 B 演習 C 最高得点 10 10 第2得点 0 10 0 10 合計 演習 D 演習 E 演習 F 10 6 10 9 0 10 0 6 0 10 1 10 の演習に割り振られた学生がいる。ちなみにこの学生の効用は演習 A,B,C,D,E,F に対して、0,1,3,1,5,4 で ある。つまり、演習 A は 2 学期にすでに取っており、実際に割り振られた演習 F の効用は 4 であり、演習 E の効用 5 に次いでいる。最大効用の値として 5 を付けていない学生が 3 名いるが、単純に全学生の総効 用 275.0 を学生人数 56 で除すると、4.91 となり、十分満足のいく値である。ちなみに、各演習に付けられ た効用の分布は次のようになっていた。これより、学生諸君にとっては、取りたい演習よりも取りたくない 表 3.7: 効用の分布 効用 演習 A 演習 B 演習 C 演習 D 演習 E 演習 F 5 8 10 11 8 13 11 4 3 3 4 1 6 3 3 4 1 4 3 7 5 2 1 2 29 7 23 5 24 6 28 9 17 5 20 0 10 9 10 9 10 8 演習がはっきりしていることが推し量れる。 以上の計算は、学生からの効用データを表のような ファイルに作り、そのデータを簡単なプログラムに よって MPS/X 形式のファイルに作り直し、そして、それを LINDO の入力としている。今回その作業にあ たってくれた技官の方から、上の正しい答えが出る前に、結果が変であるとのメイルをもらった。作られた MPS/X ファイルを見ると、最後の学生のデータがきちんと読み込まれていない。そのせいで、最後の学生 がある演習に 2.5 だけ割り振られるといった変な結果が出ていた。結局、行末の改行コードか何かがうまく 読み込まれていないらしいと分かって、やり直してもらったのが上の結果である。 さて、私も 3 学期の演習担当である。どれが私の担当の演習か当ててみて下さい。 参考文献 今野浩『数理決定法入門−キャンパスのOR−』朝倉書店 今野浩『実践数理決定法』日科技連 10 第 3 章 ゼミの割り振り 表 3.8: 学生の効用データ(一部) 演習 A 演習 B 演習 C 演習 D 演習 E 演習 F 1 5 1 2 1 2 0 2 3 .. . 55 5 2 .. . 5 3 5 .. . 0 4 3 .. . 1 1 2 .. . 1 0 0 .. . 1 1 2 .. . 5 56 1 5 1 1 2 0 学生番号 矢島安敏、小坂栄之「繰り返し授業が行われる場合のクラス編成問題」オペレーションズ・リサーチ Vol.40, No.8 (1995) 421–424 1 第 4 章 修論委員会の苦労 先のゼミ割り振りに続いて、修士論文の審査員決定の問題を取り上げて見よう。 4.1 I先生ののため息 「もう2時間になるよ」とまたもやI先生のため息。ここはある大学院修士課程の修士論文委員会の席。 毎年1月に提出される60本を超える修士論文1本1本についてそれを審査する審査員を決定するための 作業を、2時間ほど前から修士論文委員会の4人のメンバーが行なっている。この研究科には50数人の教 官がいる。提出された論文について、全員の教官からその研究分野と論文の内容との近さに対して、近いも のから順に、3,2,1 の評点を付けてもらい、それを元に論文1本1本について主査 1 名と副査 2 名を決めて いるのである。委員長のK先生1 はB4の紙に印刷された 3000 個を超える 1,2,3 の数字の上に二重丸や一 重丸を書いたり、消したりしている。教官の名前の横にはその教官が審査する論文の暫定的な本数が何度も 書かれたり消されたりしている。机の上は消しゴムの消しカスで一杯である。あまりに何度も書き直した ので、私はどの先生をどの論文の審査員としたのか分らなくなってしまって、半ばあきらめ気味にK先生の 指先で動く鉛筆と消しゴムを見つめながら、これもオペレーションズ・リサーチの問題だなあと漠然と考え ていた。 4.2 問題は? 問題を整理するために提出された修士論文に番号を付けて i = 1, 2, . . . , としよう。 は通常 60 少しで ある。また、審査に当たる教官にも番号を付けて j = 1, 2, . . . , n とする。 n もおおよそ 50 少々である。論 文は主査 1 名と副査 2 名によって審査されるが、全教官の内、主査になることができる教官は限られてい る。その教官を j = 1, 2, . . . , n の初めの m 人としておこう。そうすると各論文 i に対して j = 1, 2, . . . , m の中から 1 名の教官を選び、j = 1, 2, . . . , n の中から 2 名の教官を選ぶのが作業の目標である。その際提出 された研究領域と論文内容の近さを示す評点のなるべく大きな組合わせを作ればよいことになる。ただし少 数の教官にたくさんの論文審査が重なってしまっては、仕事量に不均衡が生じて、あとで修士論文委員会が 吊るし上げにあう恐れがある。そこで 1 名の教官が担当する論文の本数に制限を付けるのが妥当であろう。 4.3 数理計画問題への定式化 さて、この問題を数理計画問題に定式化して見よう。まず、変数 xij と yij に以下の意味を持たせる。 1 論文 i の主査が教官 j に割り当てられた場合 xij = 0 それ以外 1 暖かく公正な人柄であった K 先生は 1998 年の盛夏に食道ガンで他界されました。入院中の病院から、 「同僚の先生が心配なのだ が、山本さん、会って話を聞いてやってはくれまいか」と電話を下さったのは、すでにガンの激痛に耐えながらのことだったと、後で 知りました。本当に悔しい限りです。 2 第 4 章 修論委員会の苦労 yij = 1 0 論文 i の副査が教官 j に割り当てられた場合 それ以外 このようにすると変数 xij と yij は次の条件を満たさなければならない。 m j=1 n xij = 1 for i = 1, . . . , (4.1) yij = 2 for i = 1, . . . , (4.2) yij ≤ bj (4.3) j=1 i=1 xij + for j = 1, . . . , m i=1 yij ≤ bj for j = m + 1, . . . , n (4.4) i=1 xij + yij ≤ 1 for i = 1, . . . , ; j = 1, . . . , m 0 ≤ xij ≤ 1; 0 ≤ yij ≤ 1 0 ≤ yij ≤ 1 for i = 1, . . . , ; j = 1, . . . , m for i = 1, . . . , ; j = m + 1, . . . , n (4.5) (4.6) (4.7) それぞれの意味は上から順に、各論文は 1 名の主査に割り当てられる、各論文は 2 名の副査に割り当てら れる、主査になれる教官 j が主査として審査する論文と副査として審査する論文の合計数は bj を超えな い、主査になれない教官 j が副査として審査する論文数は bj を超えない、ある教官が同一の論文の主査で もあり副査でもあることは許さない、最後に、すべての変数はゼロ以上1以下、である。この条件を満たす 変数の中から教官と論文の組み合わせについて得られている評点 cij の合計を最大にするものを選ぶことに しよう。つまり、 m cij (xij + yij ) + i=1 j=1 n cij yij i=1 j=m+1 を最大にする xij と yij を 求めることが問題を解くことになる。 4.4 どのソフトで解こうか? 社会工学類には線形計画問題を解く LINDO というソフトがあるが、今回は XPRESS-MP を使ってみ ることにした。このソフトの特徴は線形計画問題のモデルとモデル中の係数とを独立に管理する点にある。 このソフトを開発したのはイギリスの Dash Associates Ltd. 2 であり、その開発者とは数理計画研究会の お世話をしていたときに直接会っている。長身で元気のいいイギリスの若い人で、当時統計数理研究所に客 員として来ていて同じ日に研究発表をした内点法の巨人 Dikin と日本で会えたことに驚きかつ喜んでいた。 話がそれてしまったが、先に書いた問題の定式化をほとんどそのまま書いてやればこのソフトに問題を入 力することができる。そのとき、目的関数の係数 cij は別のファイルにテキストデータとして持っていれば 良い。これによってここで扱っている問題のように、問題の構造は毎年同じであるが、学生や教官が変るた め問題の係数は変化するといった類いの問題を扱うことが容易にできる。 2 http://www.dash.co.uk あるいは http://www1.sphere.ne.jp/sotispln/ 4.5. XPRESS-MP を使って 3 [0,1] 1 [0,b] [0,1] [1,1] m [2,2] m+1 学生 i n 図 4.1: ネットワーク構造 4.5 4.5.1 XPRESS-MP を使って プログラム さて前の線形計画問題を XPRESS-MP で表現すると以下の様になる。各行左端の番号は説明のために付 けたものである。[1] [3] で、学生数を変数 l に、主査となれる教官数を変数 m に、全教官数を変数 n に代 入している。[4] はテーブルセクションの宣言と呼ばれており、[5][6] ので2つの配列を確保している。[7] は ディスクデータセクション宣言と呼ばれる部分で、[5][6] の配列データが、それぞれ kibo.dat と teacher.dat という名前のファイルにあることが示されている。XPRESS-MP はこのファイルからデータを読み込み、 配列に記憶する。[10] は変数セクション宣言であり、[11][12] で2種の変数配列が確保されている。[13] はバ ウンドセクション宣言で、変数はいずれも0と1の間の値をとることが書かれている。これは制約 (??) に 対応する。[16] は制約セクション宣言で [17] から [21] は制約 (??) から (??) を XPRESS-MP の文法に従っ て記述したものである。[22] は目的関数を示している。この行末に $ が書かれているのは、この行が目的 関数であることを示すためである。[23] の generate によって、上で記述した線形計画問題の MPS/X 型式 と汎用型式のファイルが作られる。 [1] let l=64 [2] let m=28 [3] let n=55 [4] tables [5] b(n) 4 第 4 章 修論委員会の苦労 [6] c(l,n) [7] [8] diskdata c=kibo.dat [9] [10] b=teacher.dat variables [11] x(l,m) [12] y(l,n) [13] bounds [14] x(i=1:l,j=1:m) < 1 [15] y(i=1:l,j=1:n) < 1 [16] constraints [17] syusa(i=1:l) : sum(j=1:l) x(i,j) = 1 [18] fukusa(i=1:l) : sum(j=1:n) y(i,j) = 2 [19] honsu1(j=1:m) : sum(i=1:m) x(i,j) + sum(i=1:l) y(i,j) < b(j) [20] honsu2(j=m+1:n) : sum(i=1:l) y(i,j) < b(j) [21] chofuku(i=1:l,j=1:m) : x(i,j) + y(i,j) < 1 [22] utility : sum(i=1:l,j=1:m) c(i,j)*x(i,j) + sum(i=1:l,j=1:n) c(i,j)*y(i,j) $ [23] generate 以上のプログラムをファイル thesis.mp に保存しておく。 4.5.2 実行 ここでは、thesis.mp を読み込んで、XPRESS-MP によって問題を解く手順を説明しよう。まず計算機 からのプロンプト dollar:[??] に対して mp-model と打つ。 dollar:[24] mp-model そうすると XPRESS-MP のモデル・ビルダを起動され、エラーがない場合には下に示す手順で拡張子.mat を持った MPS/X ファイルが作られる XPRESS-MP Ultra Professional Model Builder Release 8.25 (c) Copyright Dash Associates 1984-1995 Enter problem name >thesis Type HELP for summary information input のプロンプトに対して先ほど保管しておいた問題記述ファイル名 thesis.mp を入れる。 >input thesis.mp プログラムファイル thesis.mp が読み込まれ表示される。 let l=64 let m=28 let n=55 4.5. XPRESS-MP を使って 5 (中略) chofuku(i=1:l,j=1:m) : x(i,j) + y(i,j) < 1 utility : sum(i=1:l,j=1:m) c(i,j)*x(i,j) + sum(i=1:l,j=1:n) c(i,j)*y(i,j) $ generate Generating matrix thesis 1976 rows 5312 structural columns 19520 matrix elements 1975 rhs elements 5312 bound elements density is .185967 percent 上の数字はそれぞれ、問題の行数(目的関数行も含めて)が 1976 行であり、定式化に現われた変数(スラッ ク変数を除く)が 5312 個あり、行列の非ゼロ要素が 19520 個、右辺定数が 1975 個あること、そして、有 界制約が 5312 本あることを表示している。最後の .185967 percent は行列の非ゼロ要素の割合を示してい る。通常この程度の規模の線形計画問題はこのように非ゼロ要素の密度は低いのが普通である。続いて、 XPRESS-MP のオプティマイザを起動する。 dollar:[25] mp-opt XPRESS-MP Ultra Professional Integer Optimiser Release (c) Copyright Dash Associates 1984-1995 8.25 (c) Parts Copyright EKA Consulting 1995 Enter problem name >thesis >input Reading Problem thesis Problem Statistics 1976 rows 5312 structural columns 19520 non-zero elements 34 unique elements ( 34 before scaling) Global Statistics 0 entities 0 sets 0 set members つぎに目的関数を最大化せよとの命令を入力する。 >maximise Crash basis containing 128 structural columns created Its S Ninf Obj Value In Out Nneg 0 p 109 201.000000 0 0 0 Dj .000000 Neta Nelem 0 614 Time 0 6 第 4 章 修論委員会の苦労 (中略) >fprint >quit maximise のつづりにこのソフトの出自が現れている。最後の fprint は拡張子 .prt を持つテキストファイ ルに解をいれる命令であり、quit は当然 XPESS-MP の処理を終了する命令である。maximise の入力か ら、問題が解けたことを示す Optimal solution found が画面に現われるまで、数秒であり、十分高速に問 題を解いていることが観察できる。 4.5.3 振り分け thesis.prt のテキストファイルに入っている解によって各論文の主査・副査を振り分ける。thesis.prt の 中の Columns Section を見ることによって解が分かる。変数の Value 値が1になっているところが解にな る。例えば Columns Section Number Column At Value Input Cost Reduced Cost C C 1977 1978 x x 0101 0201 LL LL .000000 .000000 2.000000 2.000000 .000000 .000000 C C 1979 1980 x x 0301 0401 LL BS .000000 1.000000 2.000000 2.000000 .000000 .000000 C C 1981 1982 x x 0501 0601 LL LL .000000 .000000 2.000000 2.000000 .000000 .000000 (以下省略) をみると x 0401 BS 1.000000 とある。変数 x0401 = 1 であることを示しており、これは論文 04 の主査が教官 01 であることを示して いる。 4.6 結果 すでに説明したように目的関数の係数は論文と教官の分野の近さによって、3, 2 あるいは 1 の値を取る。 3 がもっとも分野の近いことを示し、1 は分野の遠いことを示している。昨年度の実績と今回の XPRESS-MP による計算の結果を下の表に示す。例えば、主査の評点 3 の列、昨年度実績の行にある 27 は、昨年度実績 で評点 3 を付けた論文と主査の組み合わせが 27 件あったことを示している。今回の計算は、主査割り当 てについて高い評点を得た組み合わせの大幅な増加( 27 件より 43 件へ増加)、評点 1 の組み合わせの減 少(主査・副査の合計で 31 件より 0 件へ減少) 4.7. 今年の修士論文委員会 7 主査 副査 評点 3 2 1 3 2 1 昨年度実績 27 17 14 81 26 17 今回の計算結果 43 21 0 80 44 0 もたらしていることがこの表より分かる。ただし、入力ミスのため教官 1 名分のデータを削除したうえ表 をまとめてあることをことわっておく。今回の計算では評点に反映されていない各種の情報(主査・副査教 官の分野の偏り、指導教官であるかの区別等)を取り込むことができていない。また、 1 教官の査読すべ き論文本数の上限は一律 4 篇としたが、この上限を教官ごとに設定することは容易にできる。 4.7 今年の修士論文委員会 最終的な主査・副査の割り当て原案は修士論文委員会の議を経る必要があるので、今年も委員会は召集 されるはずである。しかし、これまでのように 2 時間もかかってまだ主査・副査の割り当てが決らないと いった事態は避けられそうである。I先生御苦労様でした。 4.8 終わったと思ったら 以上の報告書を今年度の修士論文委員会委員長のO先生に提出して、やれやれすべて終わったと思ってい たら、O先生から研究科の内規I−3の修士論文審査専門委員の決定の項目に a-2 主査は (主・副) 指導教官以外から選出する。(*4) とあるよと連絡があった。末尾の(*4)はこの項目がこの研究科の慣例であることを示すもので、従っ て必ず守らなければならないものではないことを意味するが、審査の厳密性を考えると守るべき基準であ ると思われる。以前の計算ではこの基準を満たしていない。そこで、次のような変更を加えることにした。 まず、論文の指導教官かどうかをデータの形でわかりやすくするため教官から提出してもらう 3,2,1 の評点 に加えて、指導学生の論文には評点 5 を付けてもらうことにした。そうして教官 j が論文 i の指導教官で cij = 5 となっていたら、この教官がこの論文の主査になることを防ぐために xij = 0 なる制約を追加する ことにした。そこでプログラムの [13] から [15] バウンドセクションを bounds x(i=1:l,j=1:m) < 1 x(i=1:l,j=1:m|c(i,j)=5) < 0 y(i=1:l,j=1:n) < 1 のように変更した。追加した1行は cij = 5 が成り立っている i, j について変数 xij の上限をゼロにせよと いう命令である。さて、これで、走らせてみると、あれあれ Generating matrix thesis ?4(1):warning: duplicate UP bound for col x 0201 of 1.000000 ignored ?4(1):warning: duplicate UP bound for col x ?4(1):warning: duplicate UP bound for col x 0801 of 0901 of 1.000000 ignored 1.000000 ignored ?4(1):warning: duplicate UP bound for col x (中略) 1101 of 1.000000 ignored ?4(1):warning: duplicate UP bound for col x 0128 of 1.000000 ignored 8 第 4 章 修論委員会の苦労 ?4(1):warning: duplicate UP bound for col x 1228 of 1.000000 ignored ?4(1):warning: duplicate UP bound for col x ?4(1):warning: duplicate UP bound for col x 3028 of 4428 of 1.000000 ignored 1.000000 ignored 1976 rows 5312 structural columns 19520 matrix elements 1975 rhs elements 5312 bound elements density is .185967 percent Model specification time: 0 generation time: 0 たくさんのワーニングが出てしまった。なるほど、いったん上限は1だと宣言した変数のいくつかに、再び 上限はゼロだと宣言してしまっている。宣言がダブっている訳である。そこで、バウンドセクションの1行 目を変更して bounds x(i=1:l,j=1:m|c(i,j)<5) < 1 x(i=1:l,j=1:m|c(i,j)=5) < 0 y(i=1:l,j=1:n) < 1 とすると問題なくプログラムは走ってくれた。その結果は 主査 副査 評点 5 3 2 1 5 3 2 1 昨年度実績 - 27 17 14 - 81 26 17 修正前の結果 - 43 21 0 - 80 44 0 修正後の結果 0 29 34 1 72 34 22 0 である。 今度こそ、やれやれである。手伝ってくれたり、お茶を入れてくれた技官のみなさんありがとう。 4.9 終わったと思ったのに 時は流れて、その翌年の秋、修士論文の主査、副査の割り当ての時期になった。昨年作ったプログラムに データを入れる。結果が出てくるまで、本当に瞬時である。その結果を Excell に取り込んでみると、なか なかいい。今年は私が修士論文委員会の委員長を仰せつかっているので、こんなに簡単に作業が終わるのは 嬉しい限りである。技官に「ちょっとゆっくり見てみたいので、明日にでも最終的な結果を知らせるね」と 言い残して、この大学院のある建物を後にした。木々はすっかり葉を落としている。異常な暑さの夏の後で も、風の音に聞く秋が清清しい。 その夜、自宅で計算結果を眺めていると、またもやちょっと困ったことに出くわした。先に述べたように、 この研究科の内規により 主査は (主・副) 指導教官以外から選出する となっているのはすでに紹介した。指導教官には自分の学生を公正に評価する資格がないとの考えがこの 内規の背後にある。しかし、その代わり指導教官の内の1名は必ず副査に入ることがこれまでの慣習になっ 4.10. 立ちはだかった理論上の問題 9 ている。指導教官が複数人数いる場合にもその内の1名が副査になるのである。その慣習が計算結果では 守られていない。2名の指導教官が共に副査になっていたり、指導教官が誰も副査に入っていなかったりす る論文がある。これは不公平である。これも制約に盛り込まなければならない。つまり、論文 i に関して その指導教官 j は cij = 5 と申告しているはずであるからそのような指導教官の yij の総和を1にしてお けば良い。つまり yij = 1 j=1,...,m;c ij =5 をすべての論文 i について加えれば良いことになる。よしよし、これでよし。 このように改良を加えていくと欲が出てくる。そうだ、論文審査本数に上限だけでなく下限もつけよう。そ i=1 xij にも、主査あるいは副査として読む論文の本数 i=1 (xij + yij ) れも、主査として読む論文の本数 にも共に下限をつけて dj ≤ xij ≤ dj (xij + yij ) ≤ bj i=1 bj ≤ i=1 としよう。これまで、上限 bj を教官ごとに加減して審査論文が割り当てられない教官が出ないようにして きたが、それよりもこのように下限を設定する方が遥かにスッキリしている。これまでのすべての制約をま とめてみると、解くべき問題の制約は次のようになる。 m j=1 n xij = 1 for i = 1, . . . , yij = 2 for i = 1, . . . , j=1 bj ≤ xij + i=1 bj ≤ yij ≤ bj for j = 1, . . . , m i=1 yij ≤ bj for j = m + 1, . . . , n xij ≤ dj for j = 1, . . . , m i=1 dj ≤ i=1 yij = 1 for i = 1, . . . , j=1,...,m;c ij =5 xij + yij ≤ 1 xij = 0 for i = 1, . . . , ; j = 1, . . . , m if cij = 5 0 ≤ xij ≤ 1; 0 ≤ yij ≤ 1 0 ≤ yij ≤ 1 4.10 for i = 1, . . . , ; j = 1, . . . , m for i = 1, . . . , ; j = m + 1, . . . , n 立ちはだかった理論上の問題 さて、このように改良を加えて今年のアンケートから得られたデータを入れて解いてみた。しかし、いま までお目にかからなかった奇妙な結果がディスプレイに現れた。これまでこの主査、副査割り当て問題を定 式化した線形計画問題を解いた答えでは、どの変数も0あるいは1のいずれかの値を取っていた。だからこ 10 第 4 章 修論委員会の苦労 そ、その値に従ってどの論文の主査は誰、副査は誰と決めることができたのである。しかし改良版の問題を 解いた結果の最適解には、なんと小数点を持った変数がたくさん、半数近くもあったのである。xij = 0.5 では論文 i の主査を5割だけ j 先生がしろということになってしまう。我々は変数 xij と yij には次の意 味を持たせたはずである。 xij = yij = 1 論文 i の主査が教官 j に割り当てられた場合 0 それ以外 1 論文 i の副査が教官 j に割り当てられた場合 0 それ以外 しかし、意味を持たせたと思っているのは我々だけで問題の定式化の中にそのような意味は付与されていな い。線形計画問題を解くアルゴリズムやソフトウェアは我々が勝手に思い込んでいる変数の意味などに関心 を払ってはくれない。それにもかかわらず問題の構造のおかげで、幸運にもこれまでは最適解として整数値 の解た得られてきたのである。 では、なぜそのような幸運に恵まれていたのか、なぜ改良版では幸運から見放されたのか。その話をする には少々線形計画の知識が必要である。線形計画というのは、これまで見てきたように線形の不等式や等式 の制約条件のもとで、線形の目的関数を最大にしたり、あるいは最小にしたりする答えを見つける問題であ る。2 変数程度の問題を図示してみればすぐに分かるが、この問題の最適解はかならず、いくつかの制約の 不等式を等式に置き換えてできる線形方程式の解となっている。つまり、その線形方程式を作っている行列 を A と書き、右辺定数ベクトルを b と書くと解 x は線形方程式 Ax = b の解となる。実は行列 A は正則になることが知られているので、解 x は行列 A の逆行列 A−1 によって x = A−1 b となる。さて、ここで線形代数で習った逆行列を思い出すと逆行列 A−1 は行列 A の行列式 |A| と余因子 行列 ∆ から A−1 = ∆ |A| となる。従って、前の式とあわせると結局 x= 1 ∆ b= ∆b |A| |A| となることがわかる。さて、復習が長くなったが、我々の問題では制約の行列の係数はすべて 1 か 0 であ るから、その余因子行列はやはり整数の行列になる。さらに右辺の定数も全て整数であった。だから、上の 式の ∆b は整数のベクトルとなる。もしも、行列式 |A| が +1 か −1 であれば 1 |A| = ±1 なので、x は整数 のベクトルとなる。この場合はめでたしめでたしである。じつは、改良するまえの問題の制約はこの「行 列式 |A| が 1」という条件をみたしていることが知られている。これが、我々のしばしの間の幸運の女神で あった。この性質は全単模性(total unimodularity)と呼ばれている。しかし制約を追加した改良版の問題 では、追加した制約のために幸運の全単模性女神が失われてしまっていたのである。下に改良版問題の制約 の一部を取り出してある。論文が 2 本、教官が 3 名、そのうちはじめの 2 名が主査になれるとした。制約 は改良前の問題に主査として読む論文の本数に上限 d1 , d2 を設定している。なにも書いていないところに 4.10. 立ちはだかった理論上の問題 11 はゼロが入っていると思ってほしい。また四角で囲んであるのは後の説明の都合である。 x11 x12 1 1 x21 1 x22 y11 y12 y13 y21 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 y23 1 1 1 y22 = = 1 1 = = 2 2 ≤ ≤ b1 b2 ≤ ≤ b3 1 ≤ 1 ≤ ≤ 1 1 ≤ d1 ≤ d2 1 左上隅の四角で囲った1から始めて、次々と四角で囲った1を辿り、その度に右か左に折れ曲がっていくと (どちらに曲がるかは一意に決まる)、左上隅の四角で囲った1を含めて 14 個の1を辿ったあとに元の1に 戻ってくることを確かめてみてほしい。その際に辿った行と列を、順番を適当に入れ替えてまとめて書くと 1 1 1 1 1 1 1 1 1 1 1 1 1 1 となる。なにも書いていないところにはゼロが入っていることを思い出して、この行列の行列式を計算する と、2となる。従って、この部分が最適解を作っている線形方程式に含まれていると、解 x は整数となら ないのである。やれやれ困ったことになったものである。 当然、整数であるような解だけを調べて、その中から目的関数を最大にしている解を探し出せばいいじゃ ないかとの声が聞こえて来そうである。もちろん、そのとおりなのだが、整数であるような解から最適な解 を選びだすことは、数理計画の世界や計算機科学の世界では N P -完全問題といって、超難問として知られ ている。変数の個数が少ない内はなんとか解けても、我々の問題のように変数が多い問題を解くことは我々 が現在使うことのできる計算機の能力をもってして、いや将来考えられる超超高速の超超並列計算機をもっ てしても、困難である。それを確かめるために少しばかり計算をしてみよう。 問題を次にように単純化する。教官人数と論文本数がほぼ同じであるので、それを n とし、教官 1 人が 一律に 3 本の論文を審査するとして、主査副査の区別もしないことにする。さらに、同じ論文を 2 回以上 読むことも許すとすると、問題の場合の個数は 3n 人の仮想的な教官を n 個の部屋に 3 人ずる入れる場合の 個数となり、それは (3n)! (3n)! = n (3!)n 6 と書ける。ここで、びっくりマーク ! は階乗といって、m! = m × (m − 1) × . . . × 2 × 1 を示す。いくつか の n について上の式の値を高級電卓で計算してみると次の表のようになった。 12 第 4 章 修論委員会の苦労 表 4.1: 組み合わせ的爆発 n 3n (3n)! 6n (3n)!/6n 計算時間(100 万個/秒) 2 6 720 36 20 あっ! 3 4 9 12 362,880 479,001,600 216 1,296 1,680 369,600 1.7 ミリ秒 0.3 秒 10 20 30 60 3 × 1032 8 × 1081 6 × 107 3 × 1015 4 × 1024 2 × 1066 4 × 1018 秒 ≈ 1012 世紀 ≈ 1000 宙年 2 × 1060 秒 ≈ 1054 世紀 ≈ 1045 宙年 注: 1 年 = 31, 536, 000 秒 ≈ 107 π 秒 1 世紀 ≈ 109 π 秒 1 宙年 = ビッグバンから今までの時間 ≈ 150 億年 =1 億 5 千万世紀 学生がたった 4 人で 37 万通り、10 人では 4 の後ろにゼロが 24 個も繋がるような数字、20 人では 2 の後 ろにゼロが 66 個も繋がるような数字になる。1 秒間に 100 万個の場合を計算できる計算機があったとして、 その計算機でかかる計算時間を表の右端に書いておいた。たった 10 人の学生しかいないときでも 1018 世 紀かかってしまう。今はやりの千年紀で数えてみても桁が 1 つ小さくなるだけ。学生 50 人の場合にすべて の場合を数え尽くそうなんて考えはとんでもなく無謀であることが分かる。 4.11 2000 年の冬 激動の 20 世紀もあと数週間となったある日、技官の方に頼んでおいた今年度の審査員割り当ての計算結 果が、Excell の表になってメイルに添付されて送られて来た。添付ファイルをデスクトップに取り出して、 ダブルクリック。色分けされてみやすくなった表が現れた。学生が少し増えたこともあって XPRESS では メモリー不足で解けなかったため、今回は XPRESS で作った mps/x フィルを LINDO に取り込んで解い ている。より大きな問題が解ける点ではこの LINDO はいいソフトなのだが、マニュアルが不親切な上、画 面に出るメッセージも不親切であると、常々思っていた。表を眺めている内に「どうも様子がおかしいぞ」 と思い出した。教官一人当りの審査論文総本数は一律 4 本にしているはずなのに、5 本の先生がいる。それ に、私が全く分野の違う論文の主査に割り当てられている。いや、私だけでなくそのような先生が他にもい る。どうも、これは実行可能解がないのではないか?LINDO は普通に動かすと、実行可能解がなくても知 らん顔をして終わってしまう。diverge というコマンドを入れて意識的にエラーメッセージを出すようにし ないと、何が起こったから全く分からないで終わってしまう。そこで、ログをとってもらいそれを送っても らった。 shakosv:[29]: lindo Industrial LINDO 5.3 / DEC Alpha OSF LINDO Systems, Chicago, IL Single Machine License Distributed by Sumisho Computer Systems Corporation 4.11. 2000 年の冬 13 : rmps 00prog2.mat NAME 00prog2 CANDIDATE OBJECTIVE ROW(S) IS(ARE): utility MAXIMIZE OR MINIMIZE THE OBJECTIVE? max ROWS= 1555 VARS= 3900 INTEGER VARS= 0( 0 = 0/1) QCP= 0 NONZEROS= 22192 CONSTRAINT NONZ= 16744( 16744 = +-1) DENSITY=0.004 SMALLEST AND LARGEST ELEMENTS IN ABSOLUTE VALUE= 1.00000 5.00000 OBJ=MAX, NO. <,=,>: 1323 156 SINGLE COLS= 0 REDUNDANT COLS= 75, GUBS <= 0 1325 VUBS >= 0 :DIVERT : go [ERROR CODE: 54] NO FEASIBLE SOLUTION AT STEP 233. SUM OF INFEASIBILITIES= 5.00000000000000 VIOLATED ROWS HAVE NEGATIVE SLACK, OR (EQUALITY ROWS) NONZERO SLACKS. ROWS CONTRIBUTING TO INFEASIBILITY HAVE A NONZERO DUAL PRICE. USE THE "DEBUG" COMMAND FOR MORE INFORMATION. OBJECTIVE FUNCTION VALUE utility) 400.0000 思った通り、NO FEASIBLE SOLUTION である。おやおや。解決するまでしばらく手をとられそうだ。 その後の奮闘の成果があってこの問題もやがて解決した。私が修士論文委員会委員長をつとめるのもこ れで最後となった。引継のための資料を作ればお役ご免である、やれやれ。 参考文献 今野浩『実践数理計画法』(日科技連、1997 年) H.P.Williams, Model Building in Mathematical Programming, John Wiley & Sons, 1990 山本芳嗣『2 時間、2秒、そして · · · 何宙年』数学セミナー 2000.5, pp.10–14 山本芳嗣、久保幹雄『巡回セールスマン問題への招待』現代人の数理 12(朝倉書店、1997 年) 1 第 5 章 学長と握手するのは誰か 卒論も終わり、今年度もそろそろ終わりに近付いた。私の研究室の4年生達はみんな卒業旅行に出かけて誰 一人キャンパスにいない。そんなとき卒業式で学類代表として学長から学位記を受け取る、そして学長と握 手をかわす学生を選ぶために何人かの教官が呼び集められた。 5.1 成績と単位数 該当する学生達の取得単位数を横軸に、A 評価の割合を縦軸にプロットしたグラフを見ながら、2, 3名 の候補学生を選び、卒業研究発表会での発表の記憶を辿りながら 1 名の学生に絞り込むが例年のやり方で ある。これまでその方法で困ったことはなかった。今年も同じ方法で行われるのだろうと出向いた会議室に 用意されていた資料は、それにしては少々厚い物であった。 5.2 Analytic Network Process というもの 何か考えるところがありそうに、ににこにこしている担当の Y 先生が話を切り出した。教官が学生を一 方的に評価した結果を用いてこれまで学類代表を選んできたが、それは授業評価 (course evaluation) に対 する要請が高くなっている昨今では適当でない。筑波大学ではまだ統一的な授業評価システムが出来上がっ ていないが、やがてそれが利用できるようになることを考えに入れて、今年は別の方法で代表学生を選ん でみようと思う。それが ANP (Analytic Network Process) である。 彼の説明をかいつまんで紹介しよう。 話を少し一般化して n 人のメンバーがいるグループを考えよう。このグループでは、それぞれのメン バーが自分を除いたメンバーをなんらかの方法で評価して評点をつけている。メンバー i に対してメン バー j がつけた評点を aij と書くことにしよう。ここでは aij はゼロ以上の数値である。メンバー 1 の 決めた評価は a21 , a31 , . . . , an1 、メンバー 2 の決めた評価は a12 , a32 , . . . , an2 、メンバー n の決めた評価は a1n , a2n , . . . , an−1,n 、という具合である。縦横をひっくり返してまとめて書くと ... a1n ∗ a12 a13 a21 ∗ a23 ... a2n ... ... ... ... ... ∗ an1 an2 . . . an,n−1 となる。*印の所は自分自身であるから、評価の値が入っていない。このデータから全メンバーのなんらか の評価を計算しようというのが ANP の目的である。今、仮に全メンバーの評価があったとして、それを w1 , w2 , . . . , wn としよう。例えば、メンバー 1 の評価 w1 を取り上げると、それは w1 = a12 w2 + a13 w3 + . . . + a1n wn なる関係をみたしているというのがこの方法の基礎である。これは、「メンバー 1 の評価 w1 は、メンバー 2 の評価 w2 とメンバー 2 がメンバー 1 をどの程度評価しているかを表す a12 の積、それにメンバー 3 の評 価 w3 とメンバー 3 がメンバー 1 をどの程度評価しているかを表す a13 の積、. . . . . . の和で与えられる」と 2 第5章 学長と握手するのは誰か 言っている。評価の高いメンバーが高く評価しているメンバーの評価は高くなるという話である。この関係 を全メンバーについて書いてみると w1 = w2 = a12 w2 + a13 w3 + . . . + a1n wn a21 w1 + a23 w3 + . . . + a2n wn ... wn = an1 w1 + an2 w2 + . . . + an,n−1 wn−1 となる。ここで先程の評価を並べた行列の*印を付けた対角要素にゼロを入れた行列を A とする。つまり ... a1n 0 a12 a13 a21 0 a23 ... a2n A= ... ... ... ... ... an1 an2 . . . an,n−1 0 とすると上の関係はまとめて w1 w2 ... wn 0 a21 = ... an1 a12 a13 ... a1n 0 ... a23 ... ... ... a2n ... an2 ... an,n−1 w1 w2 ... wn 0 あるいはもっとコンパクトに w = Aw と表現できる。これは線形代数の言葉を使えば、ベクトル w = (w1 , w2 , . . . , wn ) が行列 A の固有ベクト ルであり、その固有値は 1 であることを表している。従って、全メンバーの評価としてこの固有値 1 に対 応する固有ベクトルを当てようと言うのが ANP の考えである。 しかし、与えられた行列 A が 1 を固有値に持つかどうかは、その行列に依存することは線形代数を思い 出すとすぐに分かる。A の要素はそもそもの話からいずれもゼロ以上であることは明らかである。そこで、 A の各列をその列和で割っておいて、列和がいつも 1 になるように、つまり n aij = 1 (j = 1, 2, . . . , n) i=1 としておく。このようにするとこの行列 A には必ず 1 の固有値があり、しかも対応する固有ベクトルのす べての要素はゼロ以上となることが知られている。 5.3 どのように学生評価に使うのか さて、現在問題になっているのは学生の成績評価である。Y 先生が言うように、近い将来学生による授 業評価のデータが手に入ったとしても、相互に評価しあっているのは学生と授業であり、学生どうし、ある いは授業どうしの評価は行われていない。従って、得られるデータはこれまでの説明と少々異なる。小さな 例題を使って説明しよう。学生が 5 名、授業が 3 科目、それぞれの学生の成績が次の表で与えられている。 ただし空欄はその授業を選択していないことを示す。 5.3. どのように学生評価に使うのか 3 学生 \ 授業 1 2 1 40 50 2 3 80 80 50 30 53.5 80.0 50 100 70 60.0 100.0 4 5 3 平均点 45.0 平均点からは学生 5 が最も成績がいいと言えるが、彼は 1 科目しか履修していない。科目 1 や科目 3 での彼 の能力を推し量ることができないので、他の学生との比較が難しい。学生 1 と学生 2 では履修科目数、履 修した科目での成績の何れをとっても学生 2 がまさっている。また、学生 2 は平均点では学生 3 に劣るが、 同じ科目 1 で学生 3 と同じ点数を取っており、さらに 2 科目履修している。この 2 人の間には優劣が付き そうである。ただ、学生 2 と学生 4 の優劣、学生 3 と学生 4 の優劣等は人によっていろいろの判断があり そうである。 このデータは授業から学生を評価したものである。一方、授業評価が行われていない現在では、学生から 授業への評価は得られていないので、履修しているかどうかだけを取り上げる。つまり、その科目を履修し ている学生はその科目に 1 の評価を与え、履修していない学生は 0 の評価を与えることにする。そうする と相互評価のデータの行列は次のようになる。 1 2 3 1 2 3 4 5 1 0 0 0 1 1 1 0 0 2 3 0 0 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 40 50 0 0 0 0 0 0 2 3 80 80 50 0 30 0 0 0 0 0 0 0 0 0 0 0 4 5 0 0 50 100 70 0 0 0 0 0 0 0 0 0 0 0 解の存在を保証するために列和が 1 になるようにこの成績データを加工すると次に示す行列が得られる。 0 0 0 1/2 1/3 1 0 0 0 0 0 1/2 1/3 0 1/2 1 0 0 0 0 1/3 0 1/2 0 0.2 0.2 0 0 0 0 0 0 A= 0 0 0 0 0 0.4 0.2 0.3 0.4 0 0 0 0 0 0 0 0 0.2 0.7 0 0 0 0 0 0 0.4 0 0 0 0 0 0 この行列の固有値 1 に対する固有ベクトル w = (x1 , x2 , x3 , y1 , y2 , y3 , y4 , y5 ) を求めると x1 = 0.285 y1 = 0.156 x2 = 0.496 y2 = 0.279 x3 = 0.219 y3 = 0.114 y4 = 0.253 y5 = 0.198 4 第5章 学長と握手するのは誰か となる。たくさんの科目を履修している学生が平均点による評価にくらべて高く評価されていおり、学生 2 が学生 3,4 よりも高く評価されている。妥当な評価だと言える。また、授業については履修学生人数の多い 順に高い評価となっている。 ここで、後の説明のために行列 A の構造を見ておこう。行列 A の左上と右下の部分行列は零行列となっ ていて、結局 A= 0 U V 0 という構造を持っている。従って w = (x , y ) とすると、w が固有ベクトルであることを示す方程式 w = Aw は x y = 0 U V 0 x y となる。さらにこれは x = Uy y Vx = と分けて書くことができる。この 1 番目の式と 2 番目の式を相互に代入すると x = U y = U (V x) = (U V )x y V x = V (U y) = (V U )y = が得られる。つまり、授業の評価 x は行列 U V の固有ベクトルであり、学生の評価 y は行列 V U の固有 ベクトルであることが分かる。 5.4 不自然ではないか 一見妥当な評価を出すように思える ANP であるが、少々不自然な点が目にとまる。先ほどの例で科目 1 に注目してみるとその評価 x1 は x1 = (1/2)y1 + (1/3)y2 + y3 というように 3 人の学生の評価 y1 , y2 , y3 と関連している。この 3 人の学生は、同じこの授業を履修し同じ 試験を受けているにもかかわらず、この授業を評価する際の発言権に相当する y1 , y2 , y3 の係数が 1/2, 1/3, 1 と異なっている。履修科目の多い学生程発言権が小さくなっている。これは本来どの履修学生についても同 じ係数であるべきではないか。行列 A の列和を 1 にしたためにこのようなことになってしまったのである。 次に学生 2 を見ると、彼の評価 y2 は y2 = 0.4x1 + 0.2x2 + 0.3x3 と決まっている。彼の評価を決める際に科目 2 の発言権に相当する係数は 0.2 で、科目 3 の係数は 0.3 であ る。しかし、彼の成績は科目 2 の方が科目 3 よりもまさっている。これではいい成績をとった科目から高く 評価されることにならない。仮にある科目を履修している学生が 1 人だった場合を想定すると、彼のその 科目の点数にかかわらず(ただし零点の場合は別だが)彼の評価に対するその科目の発言権は 1 になって しまう。これもやはり列和を 1 にそろえることによって生じた不自然さである。 そこで、固有値 1 の存在を保証するために導入された列和 1 の条件をはずして問題を解くことを考えよう。 5.5. 列和 1 の条件をはずす 5.5 5 列和 1 の条件をはずす 列和 1 の条件をはずすと、固有値 1 の存在が保証されない。しかし、Frobenius の定理によって、最大固有 値は正となり、それに対応する固有ベクトルは非負実数となることが知られている(正確には irreducibility といった条件が必要であるが)。つまり Aw = λw なる λ > 0 と w = (w1 , w2 , . . . , wn ) ≥ 0 が存在する。両辺を λ で割ってみると 1 A w=w λ となることから分かるように、w = (w1 , w2 , . . . , wn ) は行列 A を適当にスケーリングした行列 有値 1 に対応する固有ベクトルになっている。 5.6 1 λA の固 92 人の学生、77 科目(必修 12 科目、選択 65 科目)での計算結果 以上の考えを某私立大学のある学科の卒業生の成績を使って確かめてみた1 。 詳細は省略するが、部分行列 U の列和が 1 であるとの制約をはずした行列の最大固有値とそれに対応す る固有ベクトルを求めた結果は、U の列和を 1 にした場合と大きな違いはなかった。また、部分行列 V に ついては、成績を 100 で割った値を使った場合、偏差値を 100 で割った値を使った場合を計算したが、や はり目立った相違は見られなかった。 そこで、ANP で計算した評価値と、平均点、取得科目数の関係を見るため次の 2 つの図を作ってみた。 それぞれ、平均点と評価値、取得科目数と評価値を比較している。ここで大半の学生から離れている学生が 1 人いるのが目につく。この学生の成績の平均は約 80 点で、平均点の順位では 20 位であるが、取得科目 数は他の学生を大きく上まわっている。そのために ANP では最高の評価を得ている。 さらに、ANP で計算した評価値で学生を順位付けした順位を、そ学生の取得科目数を横軸に平均点数を 縦軸にとった座標にプロットした図を示す。これをみると、ANP の結果は取得科目数と平均点数をうまく 加味した評価になっているのがわかる。 5.7 線形計画を使って 列和をそろえない場合には最大固有値に対応する固有ベクトルを求めて評価としていたが、なぜ最大固 有値かという問いにはきちんと答えられていない。そこで、Aw と w がなるべく近くなるように w を決め よう。ただし、w = 0 は自明に Aw = w を満たすが、これはなんらの情報を与えてないので、w = 0 なる 条件を課して除外することにする。さて、Aw と w の食い違いをどのように計るかが問題となるが、何ら かのノルム · を用いて、Aw − w でもってその食い違いの量とするのが適当であろう。ただ、ノルム もいろいろあるので、どれにするかが問題となるが、よく使われる物を 3 種類紹介しよう。 n i=1 |zi | n 2 2. L2 ノルム z2 = i=1 (zi ) 3. L∞ ノルム z∞ = maxi=1,...,n |zi | 1. L1 ノルム z1 = では w = 0 の条件の下で Aw − w の L1 ノルム Aw − w1 を最小にする問題を考えてみよう。まず z = Aw − w 1 以下の仕事は筑波大学社会工学類の卒業生藤永三穂子による 6 第5章 と置くとこの問題は n 最小化 条 件 n i=1 学長と握手するのは誰か |zi | z1 = a11 w1 + . . . + a1n wn − w1 z2 = a21 w1 + . . . + a2n wn − w2 ... zn = an1 w1 + . . . + ann wn − wn n i=1 wi = 1 wi ≥ 0 (i = 1, . . . , n) wi = 1 なる制約を付け加えることによって w = 0 とならないようにしている。この問題はさ らに次のように変形できる。zi を zi = si − ti というように 2 つの非負の変数 si , ti の差で表す。もしも si ここで i=1 と ti の何れか一方だけが正の値をとっているなら、zi の絶対値は si + ti となる。そこで、上の定式化の zi を si − ti で置き換え、|zi | を si + ti で置き換えてみると 最小化 n (s + t ) i i=1 i 条 件 s1 − t1 = a11 w1 + . . . + a1n wn − w1 s2 − t2 = a21 w1 + . . . + a2n wn − w2 ... sn − tn = an1 w1 + . . . + ann wn − wn n i=1 wi = 1 wi ≥ 0 (i = 1, . . . , n) si ≥ 0, ti ≥ 0 (i = 1, . . . , n) となる。問題が最小化問題であることから、この問題の最適解では先ほどの条件「何れか一方だけが正の値 をとる」が満たされることがわかる2 。従って、そもそもの問題は線形計画問題に変形された。 次に Aw − w の L∞ ノルム Aw − w∞ を最小にする問題を考えてみよう。この問題は 最小化 max i=1,...,n |zi | 条 件 zi = ai1 w1 + . . . + ain wn − wi (i = 1, . . . , n) n i=1 wi = 1 wi ≥ 0 (i = 1, . . . , n) である。ここで、|z1 |, . . . , |zn | の最大のものを最小にすることは −v ≤ zi ≤ v (i = 1, . . . , n) の条件の下でこの v を最小にすれば良い。したがって、問題は 最小化 v 条 件 −v ≤ zi ≤ v (i = 1, . . . , n) zi = ai1 w1 + . . . + ain wn − wi n i=1 wi = 1 wi ≥ 0 (i = 1, . . . , n) (i = 1, . . . , n) となり、これも線形計画問題に帰着された。 2 ある i で s > 0, t > 0 となっていると仮定しよう。さらに s ≥ t の場合を考えよう。このときはあらためて s = s − t , t = 0 i i i i i i i i と置いてみると、si , ti は sj , tj (j = i) と共に問題の条件を満たし、しかも目的間数値を減少させることが分かる。したがって、問 題の最適解では si , ti の両方が正となることはない。 si ≤ ti の場合の証明も同様である。 5.8. 悲惨な結果 7 n Aw − w の L2 ノルム Aw − w2 を最小にする問題は i=1 (zi )2 を最小化しても同じことであるから 最小化 n (z )2 i=1 i 条 件 zi = ai1 w1 + . . . + ain wn − wi (i = 1, . . . , n) n i=1 wi = 1 wi ≥ 0 (i = 1, . . . , n) となる。これは 2 次計画問題と呼ばれており、線形計画問題に次いで解きやすい数理計画問題として知られ ている。 5.8 悲惨な結果 Y 先生はオペレーションズリサーチが専門で、とりわけ数理計画が大好きである。なんでも数理計画で やっつけてやろうと常日頃から意気込んでいるために、上で紹介したような方法を思い付いたと言うわけ で、早速 Express-MP を使って解いてみたらしい。しかし、結果を教えてくれなかったので会議の後でフェ ルメールの絵の掛かった彼のオフィースをたずねてみた。 意外や意外、大失敗だったそうである。線形計画法で良く知られている事実に、最適解は必ず基底解で実 現できるというのがある。また、通常利用できる方法はその基底解を与えるものである。詳細に立ち入って いる余裕はないが、このことから、得られる最適解のゼロでない要素の個数は変数の非負制約を除いた残 りの制約の本数を超えないことが導かれる。例えば先ほどの L1 ノルムの問題を思い出してみよう。 最小化 n (si + ti ) i=1 条 件 si − ti = ai1 w1 + . . . + ain wn − wi (i = 1, . . . , n) n i=1 wi = 1 wi ≥ 0 (i = 1, . . . , n) si ≥ 0, ti ≥ 0 (i = 1, . . . , n) 変数は、wi が n 個、si が n 個、ti が n 個の都合 3n 個である。一方制約は n + 1 本しかなく、3n 個の変 数の内で正になれるのはたった n + 1 個となる。その多くが変数 wi であればまだしも、そうでなければほ とんどの wi がゼロになってしまって、評価としては使いものにならない。L∞ ノルムの問題も、L2 ノル ムの問題3 もダメだったと彼は肩を落としていた。しかし、彼の努力は続く。 前半で説明したように、行列 A の固有値 1 に対応する固有ベクトルを求める問題は x = (U V )x, y = (V U )y という 2 つの固有値問題に帰着された。そこで、Y 先生は 最小化 U V x − x 条 件 e x = 1 x≥0 なる問題を解いて科目の評価ベクトル x を求め、 最小化 V U y − y 条 件 e y = 1 y≥0 3 ただし、この問題については基底解に関する上の議論はあてはまらない。 8 第5章 学長と握手するのは誰か を解いて学生の評価ベクトル y を求めることを考え出した。ここで · は適当なノルムであり、e = (1, 1, . . . , 1) である。以前示したようにこのノルムとして L1 や L∞ を使えば、上の問題はいずれも線形 計画問題になる。さらに両者をあわせた問題 最小化 αU V x − x + (1 − α)V U y − y 条 件 e x = 1, e y = 1 x ≥ 0, y ≥ 0 を考えても良い。ここで、α が両者を組み合わせる際の重みである。しかし、先程説明した線形計画問題 の解にゼロが多くなることは避けることができない。何れの問題でも解の x や y には多くのゼロ要素が現 れてしまう。つまり評価がゼロの科目がたくさん現れたり、評価がゼロの学生がたくさん出てきたりして、 困ったことになる。それだけではなく、評価がゼロの科目がたくさんあれば、学生は正の評価を受けたわず かの科目での成績だけで最終的な評価を下されることになる。学生の評価にゼロが多ければ、科目の評価 についても少数の学生によって最終評価が決まるという問題点が生じてくる。 5.9 なぜ固有ベクトルなのか ANP に先立って AHP (Analytic Hierarchy Process) が作られた。これは相互に評価しあう場面ではな く、評価する側と評価される側が分離している場面を扱っている。その際、評価はつねに一対比較の形で行 われ、そのような多数の一対比較データを全体としてまとめあげるのに行列の固有ベクトルが導入された のである。ANP もその流れを受けて固有ベクトルを使っている。しかし、これまで指摘してきたようにど うも理論上の保証が弱い。それで Y 先生はあれやこれやと、得意の数理計画を使って思いを巡らせている のである。彼の計算結果は満足いくものではないが、さらなる努力を期待することにしよう、来年の今頃は また違った方法でやろうよと言い出すのを楽しみにして。 第 6 章 シンプレックス法の基礎 6.1 例1 max 4x1 + 7x2 s.t. max ← 目的関数 −x1 + x2 ≤ 2 x1 + 3x2 ≤ 9 ← 制約条件 5x1 + 3x2 ≤ 21 x1 ≥ 0, x2 ≥ 0 ← 非負条件 (6.1.6.1) z z − (4x1 + 7x2 ) −x1 + x2 + x3 s.t. x1 + 3x2 5x1 + 3x2 ∀ j + x4 + x5 xj ≥ 0 = = 0 2 = = 9 21 (6.1.6.2) スラック変数 x1 x2 x3 x4 x5 辞書 / 基底形式表現 0 ∗ 0 + 2 − 9 − 21 − z x3 = = 0 + 4x1 + 7x2 2 + x1 − x2 2 0 3 15 x4 x5 = = 9 − x1 − 3x2 21 − 5x1 − 3x2 2 0 3 15 z = 14 + 11x1 − 7x3 − 0 − 9 x2 x4 = = 2 + x1 − x3 3 − 4x1 + 3x3 x5 = 15 − 8x1 + 3x3 89 5 11 4 + 4 x3 − 4 x4 11 1 1 4 − 4 x3 − 4 x4 3 3 1 4 + 4 x3 − 4 x4 0∗ + + 3 4 11 4 3 4 11 4 − 3 2 + 3 0 ∗ 9 z = + − x2 = 3 0 x1 x5 = = 9 − 3x3 + 2x4 z x2 = = x1 x3 = = 5 26 − 23 12 x4 − 12 x5 5 1 2 − 12 x4 + 12 x5 2 3 0 (6.1.6.3) 0 0 3 + 14 x4 − 14 x5 3 + 23 x4 − 13 x5 ↑ 基底変数 基底解 非基底変数 1 等価な問題 max z s.t. z = 0 + 4x1 + 7x2 x3 x4 = 2 + x1 − x2 = 9 − x1 − 3x2 x5 ∀ j max z s.t. z = 26 − x2 x1 = 2− = 3+ = 21 − 5x1 − 3x2 x3 ∀ xj ≥ 0 j = 3+ 23 5 12 x4 − 12 x5 5 1 12 x4 + 12 x5 1 1 4 x4 − 4 x5 2 1 3 x4 − 3 x5 (6.1.6.4) xj ≥ 0 右の問題の最適解は x4 = x5 = 0 として方程式の解を求めれば得られる。 補題 6.1.1. 右の問題で x4 = x5 = 0 として方程式を解いて得られる解は、左の問題の最適解である。 Proof. 左の問題の任意の実行可能解とその目的関数値を (x̄1 , x̄2 , x̄3 , x̄4 , x̄5 , z̄) とすると、左右の問題の制約 である等式系が等価であることから (x̄1 , x̄2 , x̄3 , x̄4 , x̄5 , z̄) は右の問題の制約を満たす。その1番初めの等式 より z̄ = 26 − 23 5 x̄4 − x̄5 12 12 (6.1.6.5) である。さらに (x̄1 , x̄2 , x̄3 , x̄4 , x̄5 , z̄) は左の問題の実行可能解であるから、変数 x̄1 , x̄2 , x̄3 , x̄4 , x̄5 はいずれ も非負である。従って上の式の x̄4 , x̄5 の係数がいずれも非正であることより z̄ = 26 − 23 5 x̄4 − x̄5 ≤ 26 12 12 (6.1.6.6) となる。一方、右の等式系で右辺の変数 x4 , x5 をゼロとして得られる解とその目的関数値 (x∗1 , x∗2 , x∗3 , x∗4 , x∗5 , z ∗ ) は (x∗1 , x∗2 , x∗3 , x∗4 , x∗5 , z ∗ ) = (3, 2, 3, 0, 0, 26) (6.1.6.7) で、すべての変数 x∗1 , x∗2 , x∗3 , x∗4 , x∗5 は非負であり、よってこれは左の問題の実行可能解である。しかもその 目的関数値は 26 である。上で、左の問題の任意の実行可能解の目的関数値は 26 より大きくないことを示 したので、結局 (x∗1 , x∗2 , x∗3 , x∗4 , x∗5 , z ∗ ) = (3, 2, 3, 0, 0, 26) が左の問題の最適解であることがわかった。 6.2 例2 max z s.t. z x4 = = 3x1 + 2x2 + 4x3 4 − x1 − x2 − 2x3 x5 x6 = = 5 − 2x1 − 2x3 7 − 2x1 − x2 − 3x3 ∀ j 2 xj ≥ 0 (6.2.6.1) z x1 x2 x3 0 0 0 0∗ 4 5 + 2 − 0 − 1 + 8 ∗ 8 + 0 + 9 1 0 2 − x4 x5 0 3 2 ∗ 3 2 9 1 0 + + + 21 2 5 2 3 2 − 0 21 2 5 2 3 2 0 0 x6 辞書 / 基底形式表現 7 z = 3x1 + 2x2 + 4x3 − 1 x4 x5 = = 4 − x1 − x2 − 2x3 5 − 2x1 − 2x3 x6 = 7 − 2x1 − x2 − 3x3 8 + x1 − 2x4 2 − 12 x1 − 12 x2 − 12 x4 1 − 1 − z x3 = = 0 1 2 x5 x6 = = 0 1 2 0 1 2 0 0 1 2 1 − x1 + x2 + x4 1 − 12 x1 + 12 x2 + 32 x4 z = x3 x1 = = − x2 − x4 + 12 x5 1 + x2 + x4 − x5 x6 = z = x2 = x1 x6 = = 1 1 2 + x4 + 2 x5 21 1 2 − x3 − 2x4 − 2 x5 3 1 2 − x3 − x4 + 2 x5 5 1 2 − x3 − 2 x5 1 1 2 + x4 + 2 x5 9 + x2 − x4 − x5 3 2 等価な問題 max max z s.t. z x4 = 3x1 + 2x2 + 4x3 = 4 − x1 − x2 − 2x3 x5 x6 = 5 − 2x1 − 2x3 = 7 − 2x1 − x2 − 3x3 ∀ j z s.t. ∀ xj ≥ 0 (6.2.6.2) z x2 = = x1 x6 = = j 21 1 2 − x3 − 2x4 − 2 x5 3 1 2 − x3 − x4 + 2 x5 5 1 2 − x3 − 2 x5 1 1 2 + x4 + 2 x5 (6.2.6.3) xj ≥ 0 右の問題の最適解は x3 = x4 = x5 = 0 として方程式の解を求めれば得られる。 補題 6.2.1. 右の問題で x3 = x4 = x5 = 0 として方程式を解いて得られる解は、左の問題の最適解である。 3 6.3 主シンプレックス法の基本プロセス 初期の主実行可能辞書 (bi ≥ 0 max s.t. z z = c0 +c1 x1 + c2 x2 + · · · + cp xp xp+1 = b1 −a11 x1 − a12 x2 − · · · − a1p xp xp+2 .. . xp+m = b2 −a21 x1 − a22 x2 − · · · − a2p xp ∀j = bm −am1 x1 − am2 x2 − · · · − amp xp xj ≥ 0 得られた主実行可能辞書 (βi ≥ 0 max i = 1, 2, . . . , m) i = 1, 2, . . . , m) z z = γ0 +γ1 y1 + γ2 y2 + · · · + γp yp yp+1 yp+2 .. . yp+m = = β1 β2 +α11 y1 + α12 y2 − · · · + α1p yp +α21 y1 + α22 y2 − · · · + α2p yp s.t. ∀j = βm +αm1 y1 + αm2 y2 − · · · + αmp yp yj ≥ 0 等価な方程式系 (6.3.6.1) 定理 6.3.1. ··· ⊕ ⊕ .. . (6.3.6.2) ⊕ γ1 ≤ 0, γ2 ≤ 0, . . . , γp ≤ 0 (6.3.6.3) なら、主実行可能基底解 y1∗ = y2∗ = · · · = yp∗ = 0 ∗ yp+1 = β1 , ∗ yp+2 = β2 , . . . , (6.3.6.4) ∗ yp+m = βm (6.3.6.5) は問題の最適解であり、その目的関数値 z ∗ は γ0 である。 Proof. 問題の任意の実行可能解とその目的関数値を (x̄, z̄) とすると、初期の辞書の等式制約と得られた辞 書の等式制約が等価であることから、これは得られた辞書の等式制約を満たす。従って、その制約の最初の 式より z̄ = γ0 + γ1 x̄1 + · · · + γp x̄p (6.3.6.6) となるが、x̄1 , . . . , x̄p ≥ 0 であることと仮定 γ1 , γ2 , . . . , γp ≤ 0 より、 z̄ ≤ γ0 4 (6.3.6.7) ∗ がわかる。一方、基底解 y ∗ = (y1∗ , . . . , yp+m ) とその目的関数値 z ∗ は得られた辞書の制約を満たしている。 条件より β1 , β2 , . . . , βm ≥ 0 であるから、 y ∗ = (0, . . . , 0, β1 , . . . , βm ) (6.3.6.8) は非負となり、(y ∗ , z ∗ ) は問題の実行可能解とその目的関数値である。しかも z ∗ = γ0 (6.3.6.9) である。任意の実行可能解の目的関数値は γ0 を越えないことを上で示したので、以上で主張が証明され た。 定理 6.3.2. + ⊕ ⊕ ⊕ .. . ⊕ .. . ⊕ ⊕ (6.3.6.10) γs > 0 (6.3.6.11) α1s , α2s , . . . , αms ≥ 0 (6.3.6.12) なる番号 s が存在すれば、目的関数値を限りなく大きくする実行可能解が存在する。従って、問題に最適 解は存在しない。 Proof. 得られている辞書に目的関数値を限りなく大きくする実行可能解が存在することが示せれば、初期 の辞書との等価性によって、元の問題にも目的関数値を限りなく大きくする実行可能解が存在することが 得られるので、ここでは得られている辞書に関して主張を証明する。変数 ys 以外の非基底変数をゼロに固 定して、辞書の制約を書いてみると z = γ0 + γs ys yp+1 = β1 + α1s ys yp+2 = β2 + α2s ys (6.3.6.13) .. . yp+m = βm + αms ys となる。ここで θ > 0 を任意に選んで、変数 ys を増加させ ys = θ としてみると、条件の α1s , α2s , . . . , αms ≥ 0 より yp+1 = β1 + α1s θ ≥ β1 ≥ 0 yp+2 = β2 + α2s θ ≥ β2 ≥ 0 .. . (6.3.6.14) yp+m = βm + αms θ ≥ βm ≥ 0 となって、非負であり続ける。しかも、目的関数値は z = γ0 + γs θ 5 (6.3.6.15) となり、θ を大きくするに従って増加する。つまり、どのような正の θ に関しても y1 = 0, . . . , ys−1 = 0 ys = θ ys+1 = 0, . . . , yp = 0 yp+1 = β1 + α1s θ (6.3.6.16) .. . yp+m = βm + αms θ は実行可能解であり、その目的関数値は z = γ0 + γs θ (6.3.6.17) である。従って、主張が証明された。 定理 6.3.3. + ⊕ ⊕ .. . ⊕ − この場合には次の実行可能辞書が生成できる。 Proof. 次節以降参照。 6 (6.3.6.18) 6.4 主シンプレックス法の手順のまとめ 初期の主実行可能辞書 ✛ ⊕ .. . (6.4.6.1) ⊕ ↑ 主実行可能性 ❄ ⊕ .. . 最適解が得られた。 (6.4.6.2) ⊕ あるいは ⊕ .. . + 最適解は存在しない。 ⊕ .. . ⊕ ⊕ (6.4.6.3) あるいは + ⊕ .. . ⊕ 次の主実行可能辞書が作れる。 (6.4.6.4) − 主実行可能な辞書 (i.e., βi ≥ 0, i = 1, 2, . . . , m) z yp+1 yp+2 .. . yp+m = γ0 + γ1 y1 + γ2 y2 + · · · + γp yp = β1 + α11 y1 + α12 y2 + · · · + α1p yp = β2 + α21 y1 + α22 y2 + · · · + α2p yp (6.4.6.5) = βm + αm1 y1 + αm2 y2 + · · · + αmp yp が与えられているもとで以下の手順を繰り返す。 [1 ] γs > 0 なる s が存在しなければ、最適解が得られているので終了。存在すれば γs > 0 なる s(ピ ボット列)を選ぶ。 [2 ] αis < 0 なる i が存在しなければ、最適解が存在しないので終了。 βr βr [3 ] −α = min | α < 0 なる r (ピボット行)を決める。 is −αrs rs [4 ] ピボット演算によって新しい実行可能辞書を生成し、[1] に戻る。 7 6.5 新しい主実行可能辞書の生成 z yp+1 = = γ0 + γ1 y1 + · · · + γs ys + · · · + γp yp β1 + α11 y1 + · · · + α1s ys + · · · + α1p yp yp+2 .. . = β2 + α21 y1 + · · · + α2s ys + · · · + α2p yp yp+m = βm + αm1 y1 + · · · + αms ys + · · · + αmp yp (6.5.6.1) 仮定 6.5.1. + ⊕ .. . (6.5.6.2) − ⊕ 1. β1 , . . . , βm ≥ 0 (主実行可能性) 2. γs > 0 3. ∃i; αis < 0 y1 , . . . , ys−1 , ys+1 , . . . , yp を 0 に固定して、ys を正の値に増加させると、上の方程式系を満たす z, yp+1 , . . . , yp+m は次のようになる。 z = γ0 + γs ys > γ0 ≥ β ≥ 0 i yp+i = βi + αis ys = 減少する (6.5.6.3) αis ≥ 0 の場合 αis < 0 の場合 (6.5.6.4) 主実行可能性を保つためには、すべての変数が非負でなければならないので、それぞれの変数について非 負性が保たれるか確認する。 y1 = · · · = ys−1 = ys+1 = · · · = yp ys はゼロに固定されているので非負であり続ける。 はゼロから増加してゆくので非負であり続ける。 αis ≥ 0 の場合 yp+i ≥ βi ≥ 0 であるから非負であり続ける。 (6.5.6.5) (6.5.6.6) (6.5.6.7) その他の yp+i 、つまり αis < 0 なる yp+i について、それが非負であるための必要かつ十分な条件は、 −αis > 0 に注意すれば、次のようになる。 yp+i = βi + αis ys ≥ 0 ⇔ βi + αis ys ≥ 0 ⇔ −αis ys ≤ βi βi ⇔ ys ≤ −α is つまり yp+i を非負に保つためには ys は βi −αis (6.5.6.8) を越えて大きくはできなし、またこの値までなら大きくで きる。従って、αis < 0 なる i が複数個ある場合には βi ys ≤ min αis < 0 −αis 8 (6.5.6.9) でなければならない。ここで この式の右辺の最小値が r で達成されているとしよう。つまり、 βi βr min (6.5.6.10) αis < 0 = −αis −αrs とする。ys を右辺の最小値まで増加させると αis < 0 なる i について yp+i = βi + αis ys = βi + βr αis −α rs = βr − βr= 0 (−αis ) βi −αis − βr −αrs i = r の場合 ≥0 (6.5.6.11) i = r の場合 となり、従ってすべての y1 , . . . , yp+m を非負に保つことができる。 新しい辞書を作るには、ys を yp+r = βr + αr1 y1 + · · · + αrs ys + · · · + αrp yp (6.5.6.12) βr αr1 −1 αrp + y1 + · · · + yp+r + · · · + yp −αrs −αrs −αrs −αrs (6.5.6.13) より次のように解きだして ys = 他の式の ys に代入すると z = γ0 + γ1 y1 + · · · + γs ys + · · · + γp yp = γ0 + γ1 y1 + · · · + αr1 −1 αrp βr + γs + y1 + · · · + yp+r + · · · + yp + · · · + γp yp −αrs −αrs −αrs −αrs βr αr1 = γ0 + γs + γ1 + γs y1 + · · · −αrs −αrs −1 αrp + γs yp+r + · · · + γp + γs yp −αrs −αrs (6.5.6.14) yp+i = βi + αi1 y1 + · · · + αis ys + · · · + αip yp = βi + αi1 y1 + . . . βr αr1 −1 αrp + αis + y1 + · · · + yp+r + · · · + yp + · · · + αip yp −αrs −αrs −αrs −αrs βr αr1 = βi + αis + αi1 + αis y1 + · · · −αrs −αrs −1 αrp + αis yp+r + · · · + αip + αis yp −αrs −αrs (6.5.6.15) となる。このようにして次の主実行可能辞書が得られる。この新しい辞書では、 yp+r が基底変数から抜け、 ys が基底変数に入っていることに注意せよ。 6.6 George Dantzig 以下の文章は http://history.math.csusb.edu/Mathematicians/ からの引用である。 9 George Dantzig studied mathematics at the University of Maryland, receiving his A.B. in 1936. The following year he received an M.A. in mathematics from the University of Michigan. Dantzig worked as a Junior Statistician in the U.S. Bureau of Labor Statistics from 1937 to 1939, then, from 1941 to 1946, he was head of the Combat Analysis Branch, U.S.A.F. Headquarters Statistical Control. He received his doctorate in mathematics from the University of California, Berkeley in 1946. In that year he was appointed Mathematical Advisor for USAF Headquarters. In 1947 Dantzig made the contribution to mathematics for which he is most famous, the simplex method of optimisation. It grew out of his work with the U.S. Air Force where he become an expert on planning methods solved with desk calculators. In fact this was known as ”programming”, a military term that, at that time, referred to plans or schedules for training, logistical supply or deployment of men. Dantzig mechanised the planning process by introducing ”linear programming”, where ”programming” has the military meaning explained above. The importance of linear programming methods was described, in 1980, by Laszlo Lovasz who wrote:If one would take statistics about which mathematical problem is using up most of the computer time in the world, then ... the answer would probably be linear programming. Also in 1980 Eugene Lawler wrote:[Linear programming] is used to allocate resources, plan production, schedule workers, plan investment portfolios and formulate marketing (and military) strategies. The versatility and economic impact of linear programming in today’s industrial world is truly awesome. Dantzig however modestly wrote:The tremendous power of the simplex method is a constant surprise to me. Dantzig became a research mathematician with the RAND Corporation in 1952, then in 1960 he was appointed professor at Berkeley and Chairman of the Operations Research Center. While there he wrote Linear programming and extensions (1963). In 1966 he was appointed Professor of Operations Research and Computer Science at Stanford University. His work in a wide range of topics related to optimisation and operations research over the years has been of major importance. However, writing in 1991, Dantzig noted that:... it is interesting to note that the original problem that started my research is still outstanding - namely the problem of planning or scheduling dynamically over time, particularly planning dynamically under uncertainty. If such a problem could be successfully solved it could eventually through better planning contribute to the well-being and stability of the world. Dantzig has received many honours including the Von Neumann Theory Prize in Operational Research in 1975. His work is summarised by Stanford University as follows:A member of the National Academy of Engineering, the National Academy of Science, the American Academy of Arts and Sciences and recipient of the National Medal of Science, plus eight honorary degrees, Professor Dantzig’s seminal work has laid the foundation for much of the field of systems engineering and is widely used in network design and component design in computer, mechanical, and electrical engineering. 10 References: 1. Professor George Dantzig: Linear Programming Founder Turns 80, SIAM News (November 1994). 11
© Copyright 2024 Paperzz