2項関係 またはグラフ理論の 危険な誘惑

1
ケーニッヒスブルグの橋
18 世紀の東プロイセンの都市ケーニッ
ヒスブルグでのことです3 . この街の中心
には美しい川が流れ, 川に浮かぶ島と両
岸の間には, 歴史ある橋が架けられてい
ました (図 1).
この街に来た観光客はみな, これらの
橋を, 歩いて渡って見物しました. 街の観
光ガイドたちは, 各自, すべての橋を巡っ
て案内するお得意の橋巡りコースを持っ
ていました.
あるとき, あるガイドが思いつきまし
た.
2 項関係
またはグラフ理論の
危険な誘惑∗
樋口さぶろお†
龍谷大学理工学部数理情報学科
2003 年 8 月 27 日
全部の橋を渡るのに, 同じ橋を
何回も行ったり来たりするのは
疲れちゃう. 観光案内所から出
発して, 全部の橋をちょうど一
度ずつ渡ってまた観光案内所に
戻ってくるコースがあればいい
のに.
目次
1
ケーニッヒスブルグの橋
1
2
グラフ理論
2
2
2.1
2.2
2.3
3
グラフを用いたモデル化 .
ひと筆書きに関するオイ
ラーの定理 . . . . . . . .
グラフと 2 項関係 . . . . .
アルゴリズムと計算量
3.1
3.2
3.3
3.4
3.5
ハミルトン閉路 . . . . . .
世界一周ゲーム . . . . . .
ハミルトン閉路の存在判定
P 6= NP? . . . . . . . . . .
様々な経路問題 . . . . . .
確かに, どのガイドの橋巡りコースも,
同じ橋を 2 度以上渡ってしまうものでし
た. ベテランの観光ガイドたちは, そうい
うコースを考え出そうと必死になりまし
3
3
4
4
5
5
6
7
4
統計力学の出番です
7
5
おしまい
9
図 1: ケーニッヒスブルグの橋. 黒いとこ
ろが川, 白いところが島と両岸と橋のつ
もり. 観光案内所を出発して, すべての橋
を 1 度以上渡って戻ってくる経路がひと
つ書いてある.
∗
龍谷大学理工学部 理工ジャーナル 2001 年 13
巻 2 号掲載
†
mailto:[email protected],
http://www.math.ryukoku.ac.jp/~hig/
3
1
以下は有名な話を適宜脚色した再生産です.
たが, だれひとりとしてそのような道順
を思いついたものはいませんでした.
そのときたまたまこの地に滞在してい
たのが, 数学者のオイラー4 です. 彼は言
いました.
そういう道順は存在しないよ.
図 2: ケーニッヒスブルグの橋の配置を
グラフを使って表したもの. 灰色の点が
頂点, 黒い線が辺.
そうなのです. 言われてみれば簡単な話
なのです. もし仮にそんな道順をだれか
が思いついたとしましょう5 . その道順で,
左の小さな島を最初に訪れたときのこと
を考えましょう. 訪れたからには, いつか
は島から出なければなりません. そのと
きには別の橋を渡るので, これで, 島に架
る 3 本の橋のうち 2 本は使ったことにな
ります. しかし, 残りの 1 本の橋も道順
の途中のどこかで渡るのです. ところが,
渡ったあとは, ガイドは島にいるのに, 両
岸に戻るにも橋がないのです (3 本の橋と
ももう渡ってしまい, 2 度は渡りたくない
から). ですから, こういう道順はないの
です.
オイラーからこの話をきいて, ガイド
たちは納得しました. 彼らは無駄に頭を
悩ませる必要がなくなり, みんなオイラー
に感謝したそうです. 数学者も世の中の
役に立つことがあるのです.
2
図 3: ひと筆書きの例
線をなぞり始めて, 同じ線は 2 度とはな
ぞらずに, すべての線をなぞって最初の
点に戻るような, 線の書き方のことです
(図 3).
図 2 のような図形をグラフといいます.
もう少し正確には, 灰色の点 (頂点とよば
れます) がいくつかあって, いくつかの頂
点の間は黒の線 (辺とよばれます) で結ば
れているようなものがグラフです.
数学でグラフというと, x 対 y のグラフ
(図 4) がまず頭に浮かびますが, ここで
いうグラフはそれとは違うものです. 以
下, グラフと言ったら, 図 2 みたいな図形
のことです.
グラフ理論
2.1
グラフを用いたモデル化
上の楽な経路を見つける問題は, 実は,
図 2 で, 閉じたひと筆書きを見つけると
いう問題と同じです. 閉じたひと筆書き
というのは, 正確には, ある点から鉛筆で
4
オイラーの公式 e
のオイラーです.
5
背理法です.
√
−1θ
= cos θ +
√
グラフのことを調べる分野がグラフ理
論で, 数学, 情報科学の基礎となる大きな
学問分野になっています.
ちなみに, 龍谷大学理工学部では, 2001
年度のシラバスを見たところでは, 数理
情報学科のネットワーク アルゴリズム,
−1 sin θ
2
1
sin(x)
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-10
-5
0
5
10
図 4: これも y = sin x の ‘グラフ’ とよば
れるけど, ここでいっている, 頂点と辺か
らなるグラフじゃない.
図 5: 小学校 4 年から 6 年にかけて, 樋口
を悩ませた図形
電子情報学科の情報数学 I, アルゴリズム
論の講義などでグラフ理論を勉強できま
す. グラフ理論の本は山ほどありますが,
例えば, [1], [2] などはいかがでしょう.
2.2
つ使っていって, 最後に 1 本余っちゃうか
らだめ.
もし, 奇数本の辺が出ている頂点が 2
個あれば, それを書き始めと書き終りに
した, 閉じてないひと筆書きがあります.
この定理は, ひと筆書きに悩むすべての
人に最終的な救済をもたらします. ひと
筆書きができるかどうかは, 頂点を 1 個ず
つ, 出てる辺の本数が偶数かどうかチェッ
クしていけばわかります6 .
ちなみに樋口は, 小学校 4 年から 6 年
にかけて, 図 5 の左の図形のひと筆書き
を探して悩んでいました. こんなに探し
て見つからないなら, 左の図形はひと筆
書きは出来ないかもしれない. それなら
図 5 右の図形ではどう? とか考えていた
のですが, もし小学校 3 年でグラフ理論
を教えてくれていたら, あんなに無駄な
時間は使わなかったのに, と思います (?).
ところで, 図 5 のグラフはひと筆書き可
能なのでしょうか?
ひと筆書きに関するオイ
ラーの定理
今後, 頂点から辺が出ているという言
い方を頻繁に使います. 例えば, 図 3のい
ちばん左の頂点からは 4 本の辺が, 一番
下の頂点からは 2 本の辺が出ています.
さて, さっきのオイラーの理屈をすこ
し一般化してみましょう.
オイラーの定理
グラフに閉じたひと筆書きがで
きるための必要十分条件は, す
べての頂点から, 偶数本の辺が
出ていることである.
閉じていなくてもよい (ある点
から書き始めて別の点で終わっ
てもよい) なら, 奇数本の辺が出
ている頂点が, ちょうど 2 個だ
けあってもよい.
2.3
グラフと 2 項関係
ところで, 世の中にはいろいろな図形
があるのに, なぜ, こんな変な, しかも単
証明はさっきと同じです. 閉じたひと
筆書きの場合, 奇数本の辺が出ている頂
点があると, その頂点の出入りに 2 本ず
6
ひと筆書きを実際に構成するアルゴリズム
も容易につくれます.
3
純な図形だけを考えるグラフ理論などと
いうものがあるのでしょうか? それは, グ
ラフが ‘対称な 2 項関係’ を表す図形だか
らです. 2 項関係とは, 例えば a, b, c, · · ·
を俳優とすると,
aRb
dRe
aRe
bRc
cRe
bRe
aRb
e
b
d
c
= a と b は同じ映画に出演したことがある
のようなものです. 何でも, ある集合か
らとってきた (a, b) のようなペアに対し
て, yes か no かが定まっているのが, 2 項
関係です. さらに, ‘対称な’ というのは,
aRb が成り立つなら同時に bRa も成り立
つということです.
対称な 2 項関係の例をもう少しあげて
みましょう. 他にも, a と b を化学物質と
して ‘a と b は混ぜると爆発する’ でもい
いし, a と b を国とすると, ‘a と b は国
境を接している’ でもいいし, a と b を英
単語とすると, ‘a と b は一文字違い’ で
もいいです.
2 項関係やその周辺の概念については,
数理情報学科の数学通論や集合・位相の
講義で勉強できると思います.
物 a, b, c, · · · をグラフの頂点だと思っ
て, aRb が成立している場合には頂点 a, b
の間に辺をかきます7 . そうするとあるグ
ラフ (図 6) ができます.
逆に, グラフがあったら, 各頂点を何か
の物 (ある集合の元) と思うと, (その集合
の上に) ある対称な 2 項関係が定義されま
す. 要するに, グラフと対称な 2 項関係は
全く同じものを別の表し方でかいただけ
なのです8 .
対称な 2 項関係というのは, 世の中に
山ほどあらわれるので, そのどれにでも
a
図 6: 対称な 2 項関係から作られるグラフ
図 7: ハミルトン閉路の例
通用するような性質を調べておくグラフ
理論というのは, とても大切なのです.
3
アルゴリズムと計算量
3.1
ハミルトン閉路
ひと筆書きは, グラフのすべての辺を
ちょうど一度ずつ通る経路 (頂点は何度
でも通ってよい) でした.
それでは, その ‘逆’ の問題を考えてみ
ましょう. グラフのすべての頂点をちょ
うど一度ずつ通って最初の頂点に戻る経
路 (通らない辺があってもよい. 図 7) が
あるかどうかは, どうやって調べればい
いでしょうか. ちなみに, そのような経路
のことをハミルトン閉路といいます.
7
対称なので, bRa でもありますが, あわせて
1 本だけかきます
8
対称とは限らない 2 項関係は, 辺に向きのつ
いたグラフと同じものです.
ひと筆書きは観光ガイドにとって楽な
4
経路でしたが, ハミルトン閉路は, 頂点に
機械がおかれているときに, すべての頂
点をまわって機械を保守しなければいけ
ないサービスマンにとって, いちばん楽
できる経路です9 .
3.2
世界一周ゲーム
寄り道ですが, なぜこのような経路を
ハミルトン閉路というのでしょうか. そ
れは, 1857 年にハミルトンが売り出した
‘世界一周ゲーム’ に由来します. これは,
地球に見立てた正 12 面体の形をしたおも
ちゃで, 辺にそって, 20 個の頂点 (都市の
つもりなのでしょう) をちょうど一度ずつ
訪れる経路を見つけなさい, というパズル
です. これは, 今の言葉で言うと, 正 12 面
体の展開図 (図 8) のハミルトン閉路を見
つけなさい, というパズルになっていま
す. 図 8 には世界一周経路のひとつの例
が描いてありますが, 実はこれ以外に 29
の答えがあります. 探してみましょう.
図 8: 世界一周ゲームの一つの答え. 正
12 面体の展開図上のハミルトン閉路.
3.3
ハミルトン閉路の存在判定
本筋に戻りましょう. ハミルトン閉路
があるかどうかも, ひと筆書きのときのよ
うな簡単な判定条件があるのでしょうか?
実は, どんなグラフにも通用する簡単
な判定方法は, ない, と信じられていま
す. グラフにハミルトン閉路が存在する
かどうかは, いろいろな経路を片っ端か
ら試してみる以外に, 有効な方法がない
ようなのです.
でも, こう反論されるかもしれません.
なお, このゲームはぜんぜん売れなかっ
たそうです. でも現在までには, ハミルト
ン閉路のことを書いたグラフ理論の教科
書がずいぶん売れているので, 経済的効
果はそれなりにあったということかもし
れません.
頂点の個数が有限 (N とおこう)
なら, 頂点をちょうど 1 回ずつ
訪れる順序は N ! 通りありうる
から10 , これだけをしらみつぶし
に試せばいいわけでしょ. しょ
せん有限なんだから, 計算機で
やれば有限時間で終わるでしょ.
それって有効な方法じゃん.
ちなみに, 閉じたひと筆書きのほうに
は, 決定的な定理を導いたオイラーの名
前をとって, オイラー閉路という名前が
ついています.
その通りです. ですが, ここでは, 計算機
9
いま, 頂点間の距離はみんな同じだとしてい
ます. 距離が違う場合には, 後述の巡回セールス
マン問題のような状況になります.
10
う?
5
本当は (N − 1)!/2 でも十分です. なぜでしょ
(N ) では, 計算機を 1000 倍速いものに買
い換えると, 同じ時間で, 1000 倍大きい
グラフについて計算できます. しかし, ハ
ミルトン閉路 (eN ) では, loge 1000 ' 7 倍
の大きさのグラフしか計算できないので
す. がんばって計算機を買い換えても, 焼
け石に水というものです12 .
ひと筆書きとハミルトン閉路は, 定義
はよく似ているというかよく対応してい
るのに, こんなに違った性質を持っている
というのはちょっとおもしろいと思いま
せんか.
N ひと筆書き ハミルトン閉路
10
1.0 秒
1.0 秒
11
1.1 秒
11 秒
13
1.3 秒
29 分
15
1.5 秒
4.2 日
20
2.0 秒
2.1 × 104 年
50
5.0 秒
2.7 × 1050 年
100
10 秒
8.2 × 10143 年
..
..
..
.
.
.
表 1: 頂点が N 個あるグラフの, ひと筆
書きとハミルトン閉路の存在判定にかか
る時間の比較.
3.4
にやらせる際に必要な計算時間を問題に
したいのです.
上で出てきた, ひと筆書きの存在判定
のアルゴリズムのように, 最悪の計算時
間が問題のサイズ N のある多項式 (以
下) であるようなものを, 多項式時間アル
ゴリズムと言います. 多項式時間アルゴ
リズムがあるとき, その問題はクラス P
に属すると言われます. P に属する問題
は計算機で効果的に解けると言っていい
でしょう.
一方, ハミルトン閉路の存在判定には,
これまでのところ, 多項式時間アルゴリ
ズムが知られていません. 実のところ, そ
のようなアルゴリズムは存在しないので
はないかと考えられています. しかし, 解
(ハミルトン閉路の例) を神様が教えてく
れれば, それが確かにハミルトン閉路で
あることは, 多項式時間で確かめること
ができます. このように, (たとえ解を見
つけることは困難でも) 与えられた解が
正しいことが多項式時間でチェックでき
るような問題をクラス NP に属するとい
います. 当然 P $ NP です. ハミルトン
閉路の効果的な存在判定はできないらし
ひと筆書きの場合も, ハミルトン閉路の
場合も, 頂点の数 N が大きくなるほど, 計
算時間はかかります. ひと筆書きの場合
には, 各頂点について出ている辺の本数を
計算しますから, かかる時間は N に比例
するでしょう. 一方ハミルトン閉路の場
合は, N ! 通りの順序について試しますか
ら, かかる時間は N ! ∼ eN (log N −1) ≥ eN
に比例すると思われます11 .
計算時間が N と eN , このふたつは全然
違うのです. 具体的に見てみましょう. ど
ちらも, 頂点 10 個の場合は 1 秒で計算が
終わるプログラムと計算機があったとし
ましょう. すると, 頂点が N 個のグラフ
については表 1のようになります. ちなみ
に, 宇宙ができてから現在までは, 1010 年
程度たっていると考えられています. こ
の調子で, 大きなグラフのハミルトン閉
路の存在の判定は, 現実的にはほとんど
不可能なのです.
もっと速い計算機があれば, と言われ
るかもしれません. 確かに, ひと筆書き
11
P 6= NP?
12
Stirling の公式を使いました.
6
量子計算機でも実用化されれば別ですが.
い, というのは, 結局, P \ NP に属してい
ると思われているが証明はされていない
ということです.
と筆書きが必ずしもできない, 一方通行も
ある) グラフ上で, やはり辺に ‘長さ’ が与
えられている場合に, ある距離以内で, す
べての辺を一度以上通って戻ってこられ
るかを判定する中国人郵便配達夫問題も
NP-完全です.
ハミルトン閉路の存在判定は, NP の
中でも NP-完全と言われる一群の問題の
うちのひとつです. NP-完全なひとつの
問題に多項式時間アルゴリズムが見つか
れば, NP に属するすべての問題につい
てもそれを利用して多項式時間アルゴリ
ズムを構成することができます. いわば,
NP-完全な問題は, NP の中でも最も難し
い13 と言えます. もし, あなたがハミルト
ン閉路の存在判定の多項式時間アルゴリ
ズムを見つけたら, 世界中の人から感謝
され人類の歴史に名を残すとともに, こ
れまでに書かれた大量の論文を無価値に
し, 多くの科学者の職を奪うことになる
でしょう.
これらを始め, 楽しい話がたくさん詰
まっている, お薦めの本が [4] です. 樋口
の担当している 4 回生の特別研究では, こ
の本も勉強しています.
4
上で, ‘ハミルトン閉路があるかどうか
を判定する効果的な方法がない’, と言っ
たのは, ‘どんなグラフを出題されても判
定できるような効果的な方法がない’ と
いう意味です. あらかじめ, グラフの出題
範囲が予告されている場合には, 効果的
に判定できたり, あるいはもっと詳しい
情報, 例えば, ハミルトン閉路が何個ある
か (上では, 0 個か 1 個以上かだけを問題
にしていたわけですね) を知る有効な方
法があることがあります. このような問
題には, 物理の熱力学, 統計力学で開発さ
れた方法が役に立ちます. 熱力学, 統計力
学は, 理工学部のどの学科でも科目とし
て開講されているようです. 名前は様々
ですが.
2001 年のシラバスを見ると, 計算量に
関係したことは, 数理情報学科の数理計
画法の講義で学ぶことができるかもしれ
ません. また, P 6= NP かどうかという未
解決問題や NP-完全性, 計算量について
易しく書かれた本として [3] があります.
3.5
統計力学の出番です
様々な経路問題
ハミルトン閉路と似た問題として, グ
ラフのすべての辺に ‘長さ’ が与えられて
いる場合に, ある距離以内ですべての頂
点をまわれるかを判定する巡回セールス
マン問題14 があります. これも NP-完全
です.
例えば, 一様な大きいグラフ (どの頂点
も同じ役割をしているグラフ, 例えば図 9
のようなもの) のハミルトン閉路を考えま
しょう. 左の P(L1 , L2 ) は, サイズ L1 ×L2
の規則的な格子に周期的境界条件をつけ
たもの, 右の SP(L1 , L2 ) は, その横方向
の周期境界条件をひとつずらしたもので
す. P(L1 , L2 ) のハミルトン閉路というの
は, 要するに, 京都市交通局の人がすべて
の信号機を点検するときに便利な経路の
また, ひと筆書きに似た問題として, (ひ
13
P6=NP だとすれば
セールスをしているのは男性ばかりではない
ので, この名前はは politically incorrect です. 巡
回セールスパーソン問題というべきでしょうが,
業界では, 省略して TSP (Traveling Sales????
Problem) ということが多いようです.
14
7
H(P(L1,L2)),L1,L2:odd
1.8
2
3
1.6
H(P(L1,L2))/(4/e)L1L2
1
4
1.4
1.2
1
0.8
Monte Carlo
(2( , L) L →∞)
0.6
0.4
0.2
1 2
0
0
12
P(3,4)
0.2
SP(3,4)
H(SP(L1,L2))/(4/e)L1L2
ことです.
一様な大きいグラフに対しては,
∼ (N によらない定数) ×
1.2
1.4
1.6
H(SP(L1,L2)), L1,L2: odd
ハミルトン閉路の数
0.6
0.8
1
arctan(L2/L1)
図 10: P の場合の ハミルトン閉路の個数
図 9: 一様なグラフの例. 平行移動してや
ると, どの頂点も区別がつかない.
³ q ´N
!
"#$&%&'!(&)+*&,&"#$&%
*+,
(2.
, L1L2→∞)
e
arctan(L2/L1)
という結果があります [5]. ここで N は
頂点の個数, q は 1 個の頂点から出ている
辺の本数 (どの頂点も同じ役割をしてい
るので, 頂点によらずに定まりますね) で
す. この結果は, 量子力学を無限自由度に
グレードアップした, 量子場の理論とい
うものを利用して導かれました. 量子力
学は, 数理情報学科の応用物理の講義で
学べます. 今のところ, 量子場の理論の講
義はないみたいですね15 .
また, (N によらない定数) というのも
ある程度評価できます. 例えば 図 9 のよ
うなグラフの場合, この定数は N にはよ
りませんが, 縦横比 L1 : L2 によって変化
します. 変化の様子を 図 10, 11 に示して
みました. 横軸が L1 : L2 で, 縦軸がその
定数です. 具体的に有限な L1 , L2 に対し
て, 計算機で直接ハミルトン閉路の数を
数えあげてみた結果が, 数え上げと書い
てある ¤ と Monte Carlo と書いてある
15
0.4
図 11: SP の場合の ハミルトン閉路の
個数
∗ で, 量子場の理論の予言が点線です. 結
構あってるでしょ. L1 , L2 がもっと大き
くなったときには, ¤, ∗ と実線はどんど
ん近づいてくるものと予測しています.
ランダム行列理論16 というものを使う
と, 別のおもしろい量が計算できます. 平
面上で交わらずに描ける17 , すべての頂点
から 3 本の辺が出ているようなグラフと
いうのを考えましょう18 (図 13).
頂点が N 個と決めてしまえば, そうい
うものは有限個しかありません. その各々
16
数理情報学科の飯田先生のご専門のひとつで
す. ちょっとは樋口もやっています.
17
逆に平面上で交わらずに描けないグラフとい
うのは, 図 12 のようなものです.
18
本当は, さらにファットグラフとして異なる
ものは区別する, と言わなければいけないのです
が, こだわらないことにしましょう
実はこれが樋口の専門のひとつです.
8
についてハミルトン閉路の個数が定まり
ますが, その合計, というのを厳密に評価
することができます.
FN :=(N 頂点の場合の
ハミルトン閉路の数の合計),
Z ∞
X
1
e−α
N
FN p = 2
dα
(I1 (2pα))2
2p 0
α2
N
です. ここで, I1 は 1 次のベッセル関数
です [6]. さっきの形にもうちょっと近く
書くと,
図 12: 平面上で交わらずには描けないよ
うなグラフの例. ジャンプしているとこ
ろを無理に平面上に描くと, 交わってし
まう.
ハミルトン閉路の数の合計 ∼ 4N N −3
となります.
5
おしまい
最後の章では, 物理学の手法が, 情報科
学の一分野であるグラフ理論に応用され
た例を紹介しました.
物理学帝国主義という言葉があって, 他
の学問を何でも物理学の言葉で理解して
しまおうとしていると言われます19 . 最
近では, 物理学の経済学への進出という
のが目立ち始めているようです.
情報科学の方向への進出のひとつとし
て, ハミルトン閉路の存在判定のような
問題の計算の困難さを, 物質としてのガ
ラス (窓にはまっているガラスです) の物
理を用いて理解する, ということも行な
われていて, 樋口は最近このあたりに興
味を持っています.
この文章の題材は数学の一分野である
グラフ理論でしたが, この文章中では, 厳
密さを犠牲にしたところがたくさんある
ことをお断りしておきます.
図 13: 平面に描ける三叉路型グラフ. 太
い線はその上のひとつのハミルトン閉路.
19
もっとひどい言い方としては, 物理学は他の
学問を侵略して物理学の一分野にしてしまおうと
していると言われます.
9
参考文献
[1] ウィルソン, グラフ理論入門, 近代科
学社, 1985.
[2] 小澤, コンピュータ・アルゴリズム,
昭晃堂.
[3] 西野, 中国人郵便配達問題 — コン
ピュータサイエンス最大の難関, 講談
社選書メチエ 148, 講談社, 1999.
[4] 久保, 松井, 組合わせ最適化 [短編集],
volume 14 of シリーズ現代人の数理,
朝倉書店, 1999.
[5] H. Orland, C. Itzykson, and C. de Dominicis, J. Physique 46 (1985) L353.
[6] S. Higuchi, Mod. Phys. Lett. A13
(1998) 727, cond-mat/9801307,(link
to WSP server).
[7] S. Higuchi, Phys. Rev. E58 (1998)
128, cond-mat/9711152, (link to APS
server).
10