54
題     みクリーク 題に対する () (103T249T) 24 2 8 大学大学院

修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

修 士 論 文

 題    目  

 最大重みクリーク問題に対する線形時間の近似解法の提案  

指  導  教  員

山口 一章 准教授

提  出  者 (学籍番号)

 西尾 達也 (103T249T) 

平成 24 年 2 月 8 日

神戸大学大学院工学研究科

博士前期課程電気電子工学専攻

Page 2: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

内容梗概

最大重みクリーク問題とは,グラフの各頂点に自然数の重みが与えられているとき,グ

ラフ中から頂点の重みの和が最大となるクリークを求めるという問題である.この問題は

最大クリーク問題を一般化した問題である.最大重みクリーク問題は符号理論や並列計

算,パターン認識や RNAの 2次構造予測などの分野への応用が知られている.

最大重みクリーク問題の従来の近似解法として,与えられた無向グラフを閉路のない有

向グラフに置き換え,その上の最長路を計算する方法を用いた手法が知られている.入力

グラフの頂点数を n,総辺数をmとすると,従来の手法は時間計算量 O(mn)で近似解を

求めることが出来る.本論文では,その最長路の計算を部分的に行うことで,従来のもの

に比べ計算量を減らした手法の提案を行う.提案法の時間計算量は O(n+m)であり,線

形時間で近似解を求めることが出来る.計算量を減らすことによって,特に大規模なグラ

フで,計算時間を効果的に削減すること出来る.

ランダムグラフを入力として計算機実験を行い,近似最大重みクリーク値及び計算時間

を求めた.いずれの入力の種類においても,提案法は従来法と同程度の近似解を求めるこ

とが出来た.計算時間に関しては,いずれの入力の種類においても提案法が優っており,

グラフの規模が大きくなるほど,従来法との計算時間の差は広がっていった.また,従来

法をメタヒューリスティックに使用した手法がある.そこで,提案法を従来法の代わりに

メタヒューリスティックに組込んだ実験を行った.やはり規模の大きいグラフ程,従来法

を組込んだものに比べ提案法が優れている結果となった.

Page 3: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

Abstract

The maximum weight clique problem is a problem to find a clique which has the

maximum sum of weight in a weighted graph. When the weight of every vertex is 1,

this problem becomes the maximum clique problem. The problem has some important

applications in coding theory, parallel computing, pattern recognition and prediction

of RNA secondary structure.

Some approximate algorithms for the maximum weight clique problem was the

longest path length calculation in a directed acyclic graph obtained by undirected

edeges in given graph. The algorithm’s time complexity is O(mn), where n is the

number of vertices of the input graph and m is the total number of edges. In this

paper, we propose algorithms that improve the earlier algorithm by reducing compu-

tataional complexity in the longest path calculation. One algorithms’ time complexity

is O(n +m). The computation time can be reduced effectively by reducing compu-

tataional complexity, especially in the large graph.

By some computer experiments, we got approximation ratio of each algorithm and

computation time. The proposed algorithms obtained the approximate solution of the

one of comparable earlier algorithms. The results shows the efficiency of our proposal

algorithms in computation time. The proposed algorithms was faster than the earlier

algorithms in the large graph. In addition, there are meta-heuristic algorithms was

used the earlier algorithms. Then, we conducted the experiment which uses the

proposing algorithms for meta-heuristics instead of the earlier algorithms. The meta-

heuristic algorithms which carried out the proposing algorithms compared with the

one of using the earlier algorithms, the proposing algorithms was especially excellent

in the large graph.

Page 4: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

目次

第 1章 まえがき 1

第 2章 準備 3

2.1 近似解構成に必要な時間計算量 . . . . . . . . . . . . . . . . . . . . . . 3

第 3章 従来法 5

3.1 従来法 1(最長路による近似解法) . . . . . . . . . . . . . . . . . . . . . . 5

3.2 従来法 2(隣接判定付き最長路による近似解法) . . . . . . . . . . . . . . 6

第 4章 提案法 11

4.1 提案法 1(最長路法を用いた線形時間の近似解法) . . . . . . . . . . . . . 12

4.2 提案法 2(隣接判定付き最長路法を用いた線形時間の近似解法) . . . . . . 15

4.3 提案法に用いる初期系列 . . . . . . . . . . . . . . . . . . . . . . . . . . 15

第 5章 計算機実験 17

5.1 実験方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5.2 結果及び考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

5.2.1 初期系列を重みの降順にソートした提案法 1の結果 . . . . . . . . 18

5.2.2 ヒープを用いた提案法 1の結果 . . . . . . . . . . . . . . . . . . . 22

5.2.3 ランダム初期系列を用いた提案法 1の結果 . . . . . . . . . . . . . 29

5.2.4 ヒープを用いた提案法 2の結果 . . . . . . . . . . . . . . . . . . . 34

5.2.5 メタヒューリスティックに提案法 1を組込んだ際の結果 . . . . . . 39

第 6章 あとがき 45

付録 A 49

Page 5: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

1

第 1章

まえがき

無向グラフ G = (V,E)の頂点集合 V の部分集合 V ′ による頂点誘導部分グラフ G(V ′)

が完全グラフとなるとき V ′ をクリークという.最大クリーク問題とは,与えられたグラ

フ中から頂点数が最大となるクリークを求める問題であり,NP困難な組合せ最適化問題

の一つである.最大クリーク問題は符号理論や並列計算,パターン認識,RNAの 2次構

造予測などの分野への応用が知られている [1],[2].

最大重みクリーク問題とは,グラフの各頂点に自然数の重みが与えられているとき,グ

ラフ中から頂点の重みの和が最大となるクリークを求めるという問題である.最大重みク

リーク問題は与えられたグラフの各頂点の重みをすべて 1とすると,最大クリーク問題に

なる.すなわち,最大クリーク問題と最大重みクリーク問題はいずれも NP困難であり,

大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない.

そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

る様々な発見的手法についての研究が行われている [3]∼[6].このような発見的手法として,貪欲アルゴリズムや局所探索法などがある.貪欲アルゴリズムとは,アルゴリズムに

従い,近似解を構成するのに価値が高いと思われる頂点から順に選び極大クリークを構成

することで近似解を求める手法である.局所探索法とは,なんらかの方法で得られたク

リークの近傍を探索し,より重みの大きなクリークが見つかれば,保持しているクリーク

を変更する.繰り返し保持しているクリークの近傍を探索することで,解の改良を行う手

法である.局所探索法の中には,特定の貪欲アルゴリズムを用いて,近傍から新たな解を

求める手法の研究が行われている [7].繰り返し同じアルゴリズムを用いるため,貪欲ア

ルゴリズムの解性能や計算時間が局所探索法の性能に大きく影響することとなる.

本論文では,比較的大規模なグラフの入力が与えられたときでも,高性能且つ高速に近

似解を求める貪欲アルゴリズムの提案をする.提案法を,文献 [7]に用いられている貪欲

アルゴリズムである,最長路計算を用いた近似解法 [8]の改良を行ったものとする.最長

路を用いた近似解法は,近似解を求めるのに時間計算量 O(mn)必要とする.ここで,本

Page 6: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

2

論文では,入力グラフの頂点数を n,総辺数をmとする.以下の文において,n,mに特

に言及がされていない場合は,上記の意味合いで使うものとする.本論文では,従来の最

長路計算法に改良を行い,時間計算量 O(n+m)で近似解を求める手法の提案をする.提

案法の有効性を示すため,計算機を用いた実験を行い,従来の最長路を用いた近似解法

との解性能及び計算時間の比較を行った.さらに,文献 [7]にある局所探索法に実際に組

み込み,従来の最長路を用いた近似解法を使用したものとの比較を簡易な計算機実験で

行った.

本論文の構成を以下に示す.第 2章では,クリークを抽出するための時間計算量につい

て述べる.第 3章では,本論文の基となる従来法である,最長路を用いた近似解法につい

て述べる.第 4章では,本論文の提案法について説明する.第 5章では,ランダムに作成

したグラフデータを用いた実験の結果を示す.最後に,第 6章でまとめと今後の課題につ

いて述べる.

Page 7: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

3

第 2章

準備

2.1 近似解構成に必要な時間計算量

最大重みクリーク問題の近似解の構成には様々な方法がある.文献 [8]のアルゴリズム

は,系列の先頭の頂点を選び,それに隣接する頂点による誘導部分グラフについても同様

に頂点を選んでいくことで極大なクリークを得て,それを近似解としている.本論文で

は,従来法,提案法ともに頂点の系列を作成する貪欲アルゴリズムであり,近似解の構成

方法は文献 [8]の方法と同様の方法を使用している.図 2.1に,近似解の構成アルゴリズ

ムを示す.

入力:グラフの G = (V,E)

出力:極大なクリーク C

(1)   S ← V,C ← ∅(2)   while C が極大ではない do

(3)   S に対して,1つの頂点 v を選ぶ

(4)   C ← C ∪ {v}(5)   S ← S ∩N(v)

(6)   end while

図 2.1: 近似解の構成アルゴリズム

図 2.1のアルゴリズムを用いて近似解を構成する時間計算量についての説明をする.

まず,(3)の貪欲アルゴリズムの時間計算量が O(n)の場合,初期に貪欲アルゴリズム

を用いる際の S の要素数は n であり,O(n) で系列を作成することが出来る.i 回目以

降 (i ≥ 2) は,S の要素数は最大でも d(vi−1) であり,O(d(vi−1)) で系列を作成するこ

Page 8: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

4

とが出来る.よって,近似解を抽出するための総計算量は O(n+∑|C|−1

i=2 d(vi)) となり,∑|C|−1i=2 d(vi) < 2mであるので,時間計算量は O(n +m)となる.ここで,d(v)とは頂

点 v の次数とし,|C|とはクリークに含まれる頂点数とする.同様に,(3)の貪欲アルゴリズムの時間計算量が O(n2)の場合,近似解を抽出するため

の計算量は O(n2 +∑|C|−1

i=2 d(vi)2)である.

|C|−1∑i=2

d(vi)2 ≤

|C|−1∑i=2

d(vi)n ≤ 2mn

であり,さらに,入力グラフは連結線分だとみなせるため,n < mとなる.よって,近似

解構成のための時間計算量は O(mn)となる.

Page 9: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

5

第 3章

従来法

3.1 従来法 1(最長路による近似解法)

最大重みクリーク問題に関する近似解法の一つとして文献 [8]の上界計算に基づく方法

が提案されている.図 3.1にその上界計算法を示す.

入力:グラフの G = (V,E),各頂点 v の重み w(v) > 0

出力:V の系列 Π = [v1, v2,…, vn],上界 a(・)

(1)   Π←空系列(2)  各 v ∈ V に a(v)← w(v)

(3)   S0 ← V

(4)   i = 1,…, nに対し,(4.1) ∼ (4.3)を実行

(4.1)  a(v)が最小の v ∈ Si−1 を選ぶ

(4.2)  Si ← Si−1 − vi とし,vi を Πの末尾に挿入

(4.3)  u ∈ N(vi)に対し,a(u)← a(vi) + w(u)

図 3.1: 従来法 1のアルゴリズム

図1のアルゴリズムは,無向グラフの辺に向きを付け DAG を作成する.その DAG に

おける最長路の長さが最大重みクリークの重みの上界になるという性質を利用している.

このアルゴリズムはまず最初に重みの最も小さい頂点を系列Πの最後に置き,以降は各頂

点 v を終点とする道の長さ a(v) ができるだけ小さくなるものを選んでいく.その結果,

大きな上界を与える頂点が系列の先頭に置かれる.

ここで与えられた入力グラフの頂点の数を nとすると,従来法 1は,(4.1) ∼ (4.3)が

O(n)の処理を頂点の数 (n回)だけ繰り返すため,系列作成一回あたりの処理は O(n2)と

Page 10: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

6

なる.2章で述べたように,系列の作成に要する時間計算量が O(n2) の手法が,近似解を

構成するのに必要な時間計算量は O(mn)である.よって,従来法 1を用いて近似解を構

成するための時間計算量も O(mn)となる.

図 3.2 に従来法 1 の動作例を示し,次に動作例の解説を行う.(1) の初期状態では,

頂点系列も頂点番号順であり,各頂点を終点とする路の長さ (上界値) も頂点の重みそ

のままである.(2) では,グラフ全体より最も上界値の小さい頂点を探索する.このグ

ラフの場合は頂点 v3 の 3 が最も小さい上界値である.この v3 を,系列の末尾に位置

している v7 と入れ替える.(3) では,v3 に隣接している頂点の上界値を更新すると

共に,v3に接続している無向辺を有向辺に置き換える.上界値の更新の仕方は,図 3.1より

a(u)← a(vi) + w(u)

である.頂点 v1 を例にすると,

a(v1)← a(v3) + w(v1)(= 3 + 9)

であるので,更新後の v1 の上界値は 12となる.(4)でも同様に,v3 を除いたグラフより

最小となる上界値の頂点を探索し,隣接頂点の上界を更新している.この場合は v4 が上

界値最小となる.(5)も同様である.この動作を繰り返し行うことで,(6)の状態になる.

(6)は全ての頂点が,従来法 1のアルゴリズムに従う頂点系列順にソートされており,ア

ルゴリズムは終了となる.結果,系列の先頭に配置された頂点,v6 がこのグラフにおける

近似解構成に有効な頂点であるとみなすことが出来る.

3.2 従来法 2(隣接判定付き最長路による近似解法)

従来法 1において,{(u, v), (v, w)} ∈ E かつ (u,w) 6∈ E なる三頂点 u, v, w が最長路

の一部である場合,u,w を同時に含むクリークは存在しない.そのため,最長路長による

上界と最適解との間には w(u)だけのギャップが発生する.よって,そのギャップを減ら

す手法として,文献 [10]において,従来法 2が提案されている.従来法 2は,そのよう

な u, v, w が現れるような道は上界の値を a1(v)(従来法 1における a(v))ではなく,a2(v)

として計算する.なお,a1(v)には最長路長の値が,a2(v)には次に長い路長の値が入る

ものとする.

図 3.3に従来法 2の経路例を示す.

例における a1(u)は 2で,a2(u)も 2となる.a1(v)は 2+3の 5となり,a2(v)は 3で

ある.a1(w)は (u,w) 6∈ E であるので,a2(v)+w(w)(3 + 6)の 9となる.従来法 1のア

ルゴリズムだと a1(w)は 11であったため,より厳密な上界値を得られている.

従来法 2は,従来法 1に条件判定を付加したものであり,手法の時間計算量は従来法 1

Page 11: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

7

同じ O(n2)となる.

従来法 2による近似最大重みクリーク抽出法も従来法 1と同様で,系列の先頭の頂点に

隣接する頂点による誘導部分グラフについて同様の頂点を選んでいくことで求まる極大な

クリークを近似解としている.よって前述のとおり,近似解の抽出に掛かる時間計算量は

O(mn)である.

N(v)は頂点 vに隣接する頂点の集合とする.従来法 2のアルゴリズムを図 3.4に示す.

a1(v) の値が小さく,隣接する頂点が少ない v ほど早い段階で減少する.そのため,最

後に残る頂点は最大重みクリークに含まれる可能性が高いと思われる.

図 3.5に,ある入力グラフに従来法 1を適用した場合と,従来法 2を適用した場合に得

られる経路の違いを示す.

Page 12: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

8

   (1):初期状態               (2):上界最小頂点探索

   (3):隣接点の上界更新           (4):(2)(3)の繰り返し

   (5):(2)(3)の繰り返し           (6):最終形

図 3.2: 従来法 1動作例

Page 13: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

9

図 3.3: 従来法 2の上界例

入力:グラフの G = (V,E),各頂点 v の重み w(v) > 0

   重み 0で全ての v に繋がっている仮想頂点 v0

出力:V の系列 Π = [v1, v2,…, vn],上界 a1(・)

(1): Π←空系列(2): 各 v ∈ V に対し,a1(v), a2(v)← w(v)とし,p(v)← v0

(3): S0 ← V

(4): i = 1,…, nに対し,(5) ∼ (7)を実行

(5): a1(v) の値が最小である頂点 v を任意に一つ選び v∗ とする

(6): Si ← Si−1 − v∗ とし,v∗ を Πの末尾に挿入

(7): u ∈ N(v∗) なる各頂点 u に対し, 

  (7.1)~(7.5)をする 

(7.1): u ∈ N(p(v)) ならば (7.2)へ,そうでなければ (7.4)へ 

(7.2): a1(u) > a1(v∗) + w(u)なら (7.3)へ,そうでなければ

a2(u)← a1(u), a1(u)← a1(v∗) + w(u),p(v) = v∗

(7.3): a2(u) < a1(v∗) + w(u)なら

a2(u)← a1(v∗) + w(u)

(7.4): a1(u) > a2(v∗) + w(u)なら (7.5)へ,そうでなければ

a2(u)← a1(u), a1(u)← a2(v∗) + w(u),p(v) = v∗

(7.5): a2(u) < a2(v∗) + w(u)なら

a2(u)← a2(v∗) + w(u)

図 3.4: 従来法 2のアルゴリズム

Page 14: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

10

(1):従来法 1系列               (2):従来法 2系列

図 3.5: 従来法 1, 2の系列の違い

Page 15: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

11

第 4章

提案法

まずは本研究の提案法の着想について述べる.

従来法 1はアルゴリズムにより,最長路順の頂点系列を作成し,その系列に従い,近似

解を構成する手法である.系列を作成する際,近似解を構成する価値の低そうな頂点から

順に,系列の末尾から挿入する.よって,系列の先頭に行くほど,近似解を構成するのに

価値の高い頂点が配置されることとなる.いくつかの簡易実験の結果,作成された最長路

順の頂点系列は,凡そ頂点に与えられた重みの降順になっていることが確認された.

そこで,重みの降順やそれに近いような系列を作成し,その系列を上界 (a(v))順に並び

替える際の系列候補を絞り,更に最長路計算を簡略化する.高速に系列を作成することが

でき,その系列を基に得られた近似解の値が従来法 1の近似解の値と同程度であれば,従

来法 1と比べ,単純に近似解法として高速化を行うことが期待できる.

次に本研究の提案法の概要について述べる.

本研究の 2種類の提案法はいずれも,系列候補を絞る・最長路計算の簡略化をする度合

いとなるパラメータ k を用いる.2 ≤ k ≤ n

であり,k = nのとき,提案法は対応する従来法と同じ動作を行う.また,k の値が小さ

い程,提案法は高速に近似解を得ることが出来る.提案法は与えられた系列 (以降,初期

系列と呼ぶ)に従い,まず,系列の末尾より k 個の頂点集合の内,a(v)が最も小さい頂点

を系列の末尾に並び替え,他の (k− 1)個の頂点の a(v)の値を更新する.1つ頂点が最長

路順にソートされたため,初期系列に従い,新しい頂点を k個の頂点集合に加え,a(v)の

値を更新する.これらの動作を頂点系列が最長路順になるよう繰り返し行う.a(v) の値

の比較や更新を k 個の頂点集合に対してのみ行うことにより,グラフ全体から a(v)の値

の比較や更新を行っていた従来法 1より高速に近似解を出力することを目指す.

Page 16: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

12

4.1 提案法 1(最長路法を用いた線形時間の近似解法)

提案法 1は,従来法 1と同様の最長路計算によって系列を作成する手法である.そのた

め,作成された系列の前にある頂点ほど,近似解を構成するのに有効であると考えること

が出来る.提案法 1は初期系列に対し,系列が最長路に従う順になるように並び替え操作

を行う.このため提案法 1の近似解の性能は与えられた初期系列に依存することとなる.

与える初期系列については,4.3節で述べる.

ここで,従来法 1は系列作成の際,グラフ全体 (n個の頂点集合)に最長路計算を行い,

a(v)が小さい頂点を探索していた.そのため,頂点探索一回当たりに時間計算量 O(n)だ

けの処理が必要であり,アルゴリズム全体では時間計算量 O(n2)であった.提案法 1で

は系列作成の際,最長路計算をグラフ全体ではなく,k 個の部分集合に対してのみ行うこ

とで,頂点探索一回当たりの処理を O(k)で行うことが出来る.この処理を n回繰り返す

ために,提案法 1の頂点系列作成一回当たりの計算量は O(kn)となる.k を定数にすれ

ば O(n)となる.

提案法 1 は頂点系列作成一回当たりの時間計算量は O(n) である.2 で述べたように,

近似解に挿入する頂点の探索一回当たりの計算量が O(n) の手法が,近似解を構成するの

に必要な時間計算量は O(n+m)である.よって,提案法 1を用いて近似解を構成するた

めの時間計算量も O(n+m)となり,線形時間で近似解を求めることが出来る.

提案法 1のアルゴリズムを図 4.1に示す.

図 4.2に重みの降順の初期系列を用いた場合の提案法 1の動作例を示し,動作例につい

ての解説を行う.この動作例においての提案法 1のパラメータ k は k = 3とする.(1)の

初期状態は,従来法 1での動作例を同じものとなっている.(2)では,系列が頂点の重み

の降順となるように並び替えを行っている.(3)では,k = 3であるため,頂点系列の末

尾より 3つの頂点である v3, v4, v5 についてのみ考慮する.(4)では,v3, v4, v5 の中から,

従来法 1と同様に,上界最小の頂点 (v3)を探索し,系列の末尾に挿入する.(5)では,無

向辺を有向辺に置き換え,隣接頂点の上界値を更新する.v3 は v1, v2, v4, v5, v6 と隣接し

ているが,現在考慮している頂点は v3, v4, v5 のみであるので,上界値を更新するのは,

v4, v5 のみである.上界値の更新の仕方は,提案法 1も従来法 1と同様である.(6)では,

系列の v3 の位置が確定し,考慮する頂点が 2つに減ったため,系列に従い,v6 を考慮す

る頂点に加える.同時に v6 は,v3 と隣接しているために,上界の値を更新する.(7)で

は,v4, v5, v6 の中から,上界値最小のもの (v4) を探索し,末尾に挿入する.このとき,

v4 の上界値は v3 の上界値よりも大きいため,v4 は系列の 6番目に配置する.(もし,v3

の上界値の方が大きければ,v3 を系列の 6番目に置き換え,v4 を系列の 7番目に配置す

る.) さらに,v4 と隣接しており且つ考慮内の頂点である,v5, v6 の上界値を更新する.

Page 17: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

13

以降アルゴリズムの繰り返しで,(8)の状態になる.(8)は全ての頂点が,提案法 1のア

ルゴリズムに従う頂点系列順にソートされており,アルゴリズムは終了となる.結果,系

列の先頭に配置された頂点,v6 がこのグラフにおける近似解構成に有効な頂点であると

みなすことが出来る.

具体例は割愛するが,初期系列がランダム生成されたものは用いた場合は,a(v)が最も

大きくなるのは v1 である.得られる近似解も,重みの降順は 23であったのに対し,ラン

ダム生成は 20となり,このグラフにおいては重みの降順のほうが良い近似解を得ること

が出来ている.

入力:グラフの G = (V,E),各頂点 v の重み w(v) > 0,

   初期系列 Π,パラメータ k

出力:V の系列 Π = [v1, v2,…, vn],上界 a(・)

(1)  各 v ∈ V に a(v)← w(v)

(2)   S0 ← V

(3)   i = 1,…, |n− k|に対し,(3.1) ∼ (3.3)を実行

(3.1)  vn−k−i ∼ vn−i  より  a(v)が最小の v∗を選ぶ(3.2)  v∗を Πが a(v)の降順になるように vn−i ∼ vn−i+k の間に挿入

(3.3)  u ∈ N(v∗) ∩ vn−k−i−1 ∼ vn−i−1 に対し,a(u)← a(v∗) + w(u)

(4)   j = 1,…, k − 1に対し,(4.1) ∼ (4.3)を実行

(4.1)  v1 ∼ vk − i より  a(v)が最小の v∗を選ぶ(4.2)  v∗を Πが a(v)の降順になるように vk−j ∼ v2k−j の間に挿入

(4.3)  u ∈ N(v∗) ∩ v1 ∼ vk−j−1 に対し,a(u)← a(v∗) + w(u)

図 4.1: 提案法 1のアルゴリズム

Page 18: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

14

(1):初期状態               (2):重みの降順に並び替え

(3):探索範囲決定             (4):上界最小頂点の探索

(5):隣接点の上界更新          (6):探索範囲の変更,上界更新

(7):繰り返し             (8):最終形

図 4.2: ランダム系列を用いた提案法 1動作例

Page 19: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

15

4.2 提案法 2(隣接判定付き最長路法を用いた線形時間の近似

解法)

提案法 2は,提案法 1の最長路計算部分において従来法 2のアルゴリズムを適用したも

のである.従来法 1に対する従来法 2と同様に,提案法 2も提案法 1に条件判定を付加

したものであり,頂点系列作成の計算量は変わらず,頂点系列作成一回あたりの計算量は

O(n)のままである.

よって,提案法 2も O(n+m)の処理でクリークを抽出することが出来る.

提案法 2のアルゴリズムを図 4.3に示す.

4.3 提案法に用いる初期系列

4.1節,4.2節より,本研究の提案法 1, 2はいずれの手法も入力として初期系列が必要

であり,解の性能も与えられた初期系列に依存することとなる.本研究では,以下の 3パ

ターンの系列を提案法に対する初期系列として与える.

1.重みの降順にソートを行った系列 (重み降順)

入力として各頂点に与えられた重みの降順に従って、頂点系列を並び替える.系列をある

パラメータに従い完全にソートするには O(n log n) 掛かる.本研究ではヒープソートに

よる並び替えを行い,ソートしている.提案法に組込んだ場合は,

O(n log n+ n+m) = O(n log n+m)

となり,アルゴリズム全体としての計算量は増えてしまう.

2.重みの降順のヒープを配列上に行った系列 (ヒープ)

グラフの入力として与えられた頂点 v1 ∼ vn を,v1 から順に根とする 2分木として考え

る.それぞれの頂点に与えられた重みをパラメータとしたとき,2分木がヒープ構造を成

すようにヒープによる並び替えを行う.ヒープに掛かる計算量は O(n)であるため、提案

法に組み込んでもアルゴリズム全体の計算量は変わることなく、O(n+m)のままである.

3.ランダム生成によって作られた系列 (ランダム)

本研究における実験のグラフ入力は全てランダムグラフを用いている.よって,グラフの

入力として与えられた頂点を特に並び替えをしなくても,頂点番号順がそのままランダム

なものとなっている.系列のソートを行わないため,提案法の計算量は O(n+m)のまま

である.

Page 20: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

16

入力:グラフの G = (V,E),各頂点 v の重み w(v) > 0

   重み 0で全ての v に繋がっている仮想頂点 v0

   初期系列 Π,パラメータ k

出力:V の系列 Π = [v1, v2,…, vn],上界 a1(・)

(1)  各 v ∈ V に a1(v), a2(v)← w(v),p[v]← v0

(2)   S0 ← V

(3)   i = 1,…, |n− k|に対し,(3.1) ∼ (3.3)を実行

(3.1)  vn−k−i ∼ vn−i  より  a1(v)が最小の v∗を選ぶ(3.2)  v∗を Πが a1(v)の降順になるように vn−i ∼ vn−i+k の間に挿入

(3.3)  u ∈ N(v∗) ∩ vn−k−i−1 ∼ vn−i−1 に対し,(3.3.1) ∼ (3.3.5)の処理を行う

(3.3.1)  u ∈ N(p[v∗])なら (3.3.2)へ,そうでなければ (3.3.4)へ

(3.3.2)  a1(u) > a1(v∗) + w(u)なら (3.3.3)へ

     そうでなければ a1(u)← a1(v∗) + w(u),p[u]← v∗(3.3.3)  a2(u) > a1(v∗) + w(u)なら a2(u)← a1(v∗) + w(u)

(3.3.4)  a1(u) > a2(v∗) + w(u)なら (3.3.5)へ

     そうでなければ a1(u)← a2(v∗) + w(u),p[u]← v∗(3.3.5)  a2(u) > a2(v∗) + w(u)なら a2(u)← a2(v∗) + w(u)

(4)   j = 1,…, k − 1に対し,(4.1) ∼ (4.3)を実行

(4.1)  v1 ∼ vk − i より  a1(v)が最小の v∗を選ぶ(4.2)  v∗を Πが a1(v)の降順になるように vk−j ∼ v2k−j の間に挿入

(4.3)  u ∈ N(v∗) ∩ v1 ∼ vk−j−1 に対し,(4.3.1) ∼ (4.3.5)の処理を行う

(4.3.1)  u ∈ N(p[v∗])なら (4.3.2)へ,そうでなければ (4.3.4)へ

(4.3.2)  a1(u) > a1(v∗) + w(u)なら (4.3.3)へ

     そうでなければ a1(u)← a1(v∗) + w(u),p[u]← v∗(4.3.3)  a2(u) > a1(v∗) + w(u)なら a2(u)← a1(v∗) + w(u)

(4.3.4)  a1(u) > a2(v∗) + w(u)なら (4.3.5)へ

     そうでなければ a1(u)← a2(v∗) + w(u),p[u]← v∗(4.3.5)  a2(u) > a2(v∗) + w(u)なら a2(u)← a2(v∗) + w(u)

図 4.3: 提案法 2のアルゴリズム

Page 21: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

17

第 5章

計算機実験

計算機実験の結果を示す.まず,5.1 節で本論文での実験方法について述べる.次に,

5.2節に結果及び考察を示す.

5.1 実験方法

アルゴリズムの評価を行う際,ランダムグラフを用いた計算機実験がよく行われてい

る.よって,以降ではランダムグラフを用いた実験を行う.ランダムグラフは隣接行列の

形式で与えられるものとする.

5.2.1∼5.2.4では,それぞれのグラフに対して,頂点数が 100 ∼ 1000, 5000で辺密度が

0.1 ∼ 0.9及び各頂点の重みが 1 ∼ 10の整数値となるグラフを 100個作成した.これら

のグラフに対して,従来法 1, 2及び提案法 1, 2の近似最大重みクリーク値,計算時間の

平均を求めた.5.2.1節,5.2.3節では,提案法の k の値を 10, 20としたものの実験を行

い,5.2.2節,5.2.4節では,k の値を 10∼50, 80としたものの実験を行った.また,実験結果の比較対象として,単純な近似解法の実験を行った.その手法について

述べる.グラフより重みが最大となる頂点から順に近似解に挿入する手法 (以降,重み優

先抽出法と呼ぶ)である.重みが最大となる頂点が複数個ある場合は,隣接している頂点

の重みの総和が大きいものから選ぶ.実験結果は 5.2.3節に載せる.

5.2.5 では,頂点数 1000, 5000 で辺密度が 0.5, 0.9,各頂点の重みが 1 ∼ 10 の整数値

となるグラフを 10種類作成した.それぞれのグラフに対して,[7]にあるメタヒューリス

ティックに従来法 1,提案法 1(ヒープ,k=20)を組込んだ手法を,それぞれ制限時間を 1,

5, 10, 60秒とした実験を 100回ずつ行い,各グラフ毎に,得られた近似最大重みクリー

クの最大値及び平均値を求めた.

使用計算機の OSは Linux,CPUは Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz,メ

モリは 2.0GB, プログラミング言語は Java6.0である.

Page 22: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

18

5.2 結果及び考察

5.2.1 初期系列を重みの降順にソートした提案法 1の結果

表 5.1,5.2,5.3に,初期系列を重みの降順にソートしたものを用いた提案法 1(k=10,

20)と従来法 1の近似解及び計算時間を載せる.

完全にソートしたものは,k の値が 10,20いずれも従来法 1に比べて大幅に計算時間を

削減することが出来ている.特に,頂点数 5000,辺密度 0.9では 5倍程度の計算時間の

差となっている.一方,近似解の性能については,k = 20のものはいずれのグラフの入

力の種類においても,従来法 1 と同程度の近似解の性能となっている.よって,提案法

1(重み降順,k=20)は従来法 1を,近似性能を落とすことなく高速化出来ていると言える.

k = 10のものについては,辺密度が高くなるほど従来法 1や k = 20のものに比べ,近似

解の性能が劣っていく結果となった.

Page 23: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

19

表 5.1: 提案法 1(重み降順,k=10),提案法 1(重み降順,k=20)の近似解及び計算時間 -1

 

従来法 1 提案法 1(重み降順,k=10) 提案法 1(重み降順,k=20)

頂点数 辺密度 近似解 時間 [ms] 近似解 時間 [ms] 近似解 時間 [ms]

100 0.1 26.50 0.43 26.90 0.24 26.41 0.30100 0.2 34.14 0.47 33.63 0.35 34.29 0.35100 0.3 40.97 0.37 41.47 0.26 41.13 0.37100 0.4 49.56 0.47 49.78 0.30 50.05 0.43100 0.5 59.73 0.64 60.43 0.43 60.06 0.58100 0.6 73.39 0.77 73.08 0.49 72.85 0.60100 0.7 92.90 0.85 91.93 0.56 93.20 0.76100 0.8 123.30 1.20 122.30 0.77 123.67 0.98100 0.9 185.64 2.02 184.24 1.05 185.95 1.51

200 0.1 30.07 1.22 30.25 0.48 30.51 0.64200 0.2 38.18 1.45 38.96 0.60 38.55 0.62200 0.3 47.05 1.66 48.09 0.66 47.80 0.83200 0.4 58.01 1.93 58.13 0.79 58.08 0.98200 0.5 69.58 2.22 70.26 0.89 71.63 1.12200 0.6 87.16 2.53 87.68 0.98 89.64 1.30200 0.7 113.93 3.31 112.69 1.21 113.65 1.54200 0.8 153.54 4.53 153.14 1.61 155.29 2.18200 0.9 248.54 8.47 243.65 2.73 247.51 3.88

300 0.1 32.11 2.90 32.32 0.82 32.61 1.04300 0.2 41.65 3.39 42.78 1.00 41.88 1.23300 0.3 50.95 3.80 51.85 1.07 51.38 1.32300 0.4 63.39 4.05 62.80 1.06 63.41 1.35300 0.5 77.21 4.27 77.24 1.18 78.76 1.54300 0.6 96.76 5.13 97.57 1.22 97.85 1.81300 0.7 125.20 6.39 125.58 1.67 126.31 2.32300 0.8 176.19 10.11 174.78 2.46 176.41 3.67300 0.9 289.27 11.39 284.20 3.87 289.64 5.70

400 0.1 33.26 5.56 33.81 1.33 33.77 1.56400 0.2 43.48 5.92 43.31 1.52 44.27 1.69400 0.3 53.33 6.38 53.75 1.45 54.46 1.93400 0.4 66.06 6.64 66.09 1.53 67.39 1.85400 0.5 82.13 7.53 81.60 1.61 82.67 2.15400 0.6 103.36 9.48 103.62 2.31 102.65 2.94400 0.7 134.33 9.39 135.45 2.31 134.00 3.29400 0.8 190.89 9.71 187.98 3.10 190.54 4.42400 0.9 317.78 12.30 311.41 6.25 318.85 8.90

Page 24: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

20

表 5.2: 提案法 1(重み降順,k=10),提案法 1(重み降順,k=20)の近似解及び計算時間 -2

 

従来法 1 提案法 1(重み降順,k=10) 提案法 1(重み降順,k=20)

頂点数 辺密度 近似解 時間 [ms] 近似解 時間 [ms] 近似解 時間 [ms]

500 0.1 34.01 8.61 34.43 1.68 34.88 2.05500 0.2 44.50 8.32 44.77 1.81 45.24 2.15500 0.3 55.73 8.58 56.52 1.79 56.39 2.27500 0.4 68.04 8.91 68.27 2.01 68.30 2.55500 0.5 84.88 9.26 86.13 2.19 85.74 2.85500 0.6 108.27 9.67 108.64 2.33 108.61 3.26500 0.7 140.37 10.21 140.47 2.98 142.26 4.11500 0.8 200.60 10.57 197.77 3.93 199.66 5.69500 0.9 341.58 13.37 333.70 7.00 340.21 10.31

600 0.1 35.48 9.50 35.78 1.95 35.51 2.27600 0.2 46.05 9.91 46.53 2.11 46.46 2.91600 0.3 58.24 9.77 57.82 2.11 57.62 2.72600 0.4 70.87 12.53 71.86 2.69 71.98 3.44600 0.5 87.52 10.62 87.41 2.57 88.37 3.58600 0.6 111.05 12.87 111.04 3.02 111.41 4.11600 0.7 147.59 11.90 147.56 3.74 149.27 5.12600 0.8 208.21 13.90 207.61 5.31 209.11 7.90600 0.9 361.26 16.26 354.95 8.62 359.15 12.76

700 0.1 36.45 9.76 36.30 2.53 37.20 2.97700 0.2 46.92 10.03 47.11 2.44 47.26 3.23700 0.3 57.64 10.43 58.81 2.45 58.90 3.37700 0.4 73.06 12.83 72.54 2.90 73.72 3.64700 0.5 89.48 11.32 91.41 3.22 90.00 4.21700 0.6 114.51 13.90 114.90 3.54 115.43 4.80700 0.7 152.65 13.05 151.40 4.39 151.56 5.97700 0.8 216.83 14.71 215.70 5.84 217.13 8.34700 0.9 377.11 18.22 365.09 10.20 374.79 15.28

800 0.1 37.23 9.27 37.61 2.70 37.42 3.21800 0.2 47.91 9.89 48.56 2.79 48.24 3.53800 0.3 59.95 10.52 60.43 3.41 60.39 4.22800 0.4 74.26 10.97 74.70 3.24 74.07 4.22800 0.5 92.58 11.74 94.28 3.64 93.49 4.84800 0.6 117.83 13.01 117.28 4.93 117.28 6.59800 0.7 156.10 13.69 154.18 5.11 156.27 7.03800 0.8 221.64 15.68 221.45 6.73 223.80 9.74800 0.9 389.72 20.13 380.22 11.78 385.94 17.57

Page 25: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

21

表 5.3: 提案法 1(重み降順,k=10),提案法 1(重み降順,k=20)の近似解及び計算時間 -3

 

従来法 1 提案法 1(重み降順,k=10) 提案法 1(重み降順,k=20)

頂点数 辺密度 近似解 時間 [ms] 近似解 時間 [ms] 近似解 時間 [ms]

900 0.1 36.87 9.69 37.28 2.98 37.34 3.77900 0.2 48.72 10.40 49.27 3.11 48.76 3.94900 0.3 61.13 11.14 61.91 3.39 62.41 4.34900 0.4 75.47 11.85 75.36 3.72 77.05 4.76900 0.5 94.16 12.60 95.25 4.13 94.88 5.63900 0.6 120.24 13.79 120.64 4.75 121.21 6.51900 0.7 158.49 15.19 160.49 5.97 160.13 8.35900 0.8 229.36 17.70 227.90 7.80 228.47 11.11900 0.9 403.70 22.34 389.96 13.43 402.32 20.12

1000 0.1 37.84 10.90 37.78 3.26 38.31 3.981000 0.2 48.84 11.50 49.60 3.51 49.28 4.411000 0.3 61.94 12.25 62.94 3.83 63.12 4.891000 0.4 77.00 15.12 76.60 4.26 77.56 5.481000 0.5 96.41 14.10 94.60 4.72 96.61 6.111000 0.6 121.56 17.33 121.69 5.35 124.05 7.361000 0.7 162.21 16.98 161.44 6.43 163.39 9.051000 0.8 232.86 19.49 230.39 8.66 234.44 12.381000 0.9 409.58 25.68 402.39 15.06 410.32 22.59

5000 0.1 44.46 64.22 45.13 20.76 44.53 26.995000 0.2 58.99 82.27 59.81 21.53 59.49 28.185000 0.3 75.74 101.09 75.12 23.24 75.83 30.635000 0.4 94.59 127.65 94.37 25.19 96.14 34.035000 0.5 119.08 151.43 118.95 27.88 120.55 38.915000 0.6 152.68 168.70 154.32 32.07 155.50 45.685000 0.7 208.68 196.62 206.48 38.61 209.61 56.495000 0.8 308.22 246.83 303.48 50.89 307.40 58.495000 0.9 571.76 387.96 559.28 66.48 570.47 70.70

Page 26: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

22

5.2.2 ヒープを用いた提案法 1の結果

表 5.7,5.8,5.9にヒープ系列を用いた提案法 1(k=10, 20, 30)と重み優先抽出法の近

似解及び計算時間を載せる.

表 5.4: 提案法 1(ヒープ,k=10),提案法 1(ヒープ,k=20),提案法 1(ヒープ,k=30)

の近似解及び計算時間 -1

 

提案法 1(ヒープ,k=10) 提案法 1(ヒープ,k=20) 提案法 1(ヒープ,k=30)

頂点数 辺密度 近似解 時間 [ms] 近似解 時間 [ms] 近似解 時間 [ms]

100 0.1 26.45 0.20 26.65 0.29 26.36 0.31100 0.2 33.69 0.22 34.33 0.31 34.19 0.35100 0.3 41.27 0.26 40.83 0.24 40.98 0.33100 0.4 49.80 0.29 50.48 0.36 49.35 0.38100 0.5 60.83 0.30 60.63 0.46 60.09 0.50100 0.6 72.38 0.42 74.25 0.53 72.63 0.54100 0.7 92.44 0.56 92.32 0.63 93.79 0.77100 0.8 122.91 0.63 124.19 0.91 122.89 1.04100 0.9 183.80 1.02 184.89 1.43 186.75 1.62

200 0.1 30.73 0.37 30.90 0.53 30.26 0.57200 0.2 38.48 0.38 38.97 0.56 38.87 0.63200 0.3 47.09 0.49 47.44 0.59 47.47 0.83200 0.4 58.73 0.54 58.08 0.75 58.96 0.93200 0.5 70.67 0.69 71.32 0.89 70.01 1.15200 0.6 87.22 0.80 87.71 1.03 87.62 1.45200 0.7 112.30 1.03 114.27 1.36 113.13 1.80200 0.8 152.76 1.48 153.92 2.03 154.62 2.61200 0.9 242.76 2.54 246.88 3.63 248.31 4.71

300 0.1 32.50 0.56 31.91 0.83 32.58 0.94300 0.2 42.20 0.66 41.72 0.90 41.82 1.06300 0.3 51.78 0.82 52.37 0.99 51.63 1.25300 0.4 63.32 0.79 63.77 1.06 63.05 1.40300 0.5 77.47 0.94 76.76 1.26 79.02 1.57300 0.6 96.65 1.14 97.64 1.50 96.57 1.95300 0.7 124.14 1.48 126.18 1.99 124.15 2.50300 0.8 173.78 2.33 175.45 2.84 173.79 4.27300 0.9 284.35 3.66 290.51 5.42 290.87 7.15

400 0.1 33.85 0.86 33.27 1.15 33.39 1.35400 0.2 44.02 0.94 43.81 1.15 42.91 1.51400 0.3 54.77 1.13 54.11 1.17 54.75 1.74400 0.4 65.85 1.07 67.12 1.37 66.52 1.84400 0.5 82.39 1.19 82.25 1.67 82.37 2.19400 0.6 102.52 1.94 103.57 2.01 102.97 3.07400 0.7 134.01 1.92 133.91 2.69 135.32 3.46400 0.8 187.13 2.85 189.76 3.97 191.14 5.21400 0.9 308.39 6.06 315.56 7.56 319.26 10.54

Page 27: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

23

ここでは,ヒープ系列のものと重みの降順のものとの性能比較についての考察を行う.

同じ系列方式で k を変化させたものについての考察は,5.2.4節で行う.

ヒープの系列のものは,表 5.1,5.2,5.3の重みの降順ものに比べ,k の値が同じ物同

士では,平均すると近似解の性能は僅かに劣る結果となったが,完全なソートを行わない

ため計算時間は短縮することが出来ている.ヒープ系列の k = 30のものと重みの降順の

k = 20のものと比べると,ヒープ系列のほうが近似解の性能で僅かに優れており,更に

頂点数 5000のときは計算時間においても勝る結果となった.

よって,時間計算量の差なども考慮すると,ヒープ系列のほうが優れていると言え,

ヒープ系列を使用した提案法 1を本研究での最終的な提案法とする.

Page 28: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

24

表 5.5: 提案法 1(ヒープ,k=10),提案法 1(ヒープ,k=20),提案法 1(ヒープ,k=30)

の近似解及び計算時間 -2

 

提案法 1(ヒープ,k=10) 提案法 1(ヒープ,k=20) 提案法 1(ヒープ,k=30)

頂点数 辺密度 近似解 時間 [ms] 近似解 時間 [ms] 近似解 時間 [ms]

500 0.1 34.63 1.09 34.42 1.46 34.09 1.84500 0.2 45.09 1.08 44.90 1.32 45.03 1.77500 0.3 56.30 1.30 56.36 1.52 56.29 2.17500 0.4 68.89 1.46 69.06 1.68 69.33 2.42500 0.5 85.39 1.55 84.27 2.19 86.04 2.83500 0.6 107.14 1.99 108.50 2.61 107.40 3.63500 0.7 141.01 2.50 141.45 3.57 141.26 4.55500 0.8 197.38 3.52 198.27 5.05 199.91 6.61500 0.9 330.83 6.64 338.17 9.79 341.06 12.80

600 0.1 35.76 1.08 36.34 1.65 35.72 2.00600 0.2 46.40 1.38 46.58 1.58 46.61 2.28600 0.3 57.51 1.32 57.73 1.90 58.21 2.41600 0.4 71.43 1.70 70.95 2.14 72.12 3.08600 0.5 87.35 1.89 88.80 2.68 89.32 3.47600 0.6 111.66 2.42 112.62 3.30 112.30 4.34600 0.7 146.67 3.09 148.15 4.46 148.55 5.70600 0.8 207.06 5.02 209.02 6.17 210.19 8.84600 0.9 352.45 8.17 358.02 12.09 358.63 15.94

700 0.1 37.19 1.43 36.55 1.73 36.42 2.51700 0.2 47.30 1.76 47.00 1.89 47.21 2.69700 0.3 59.45 1.78 59.11 2.12 59.02 2.92700 0.4 71.99 2.15 74.25 2.60 72.25 3.57700 0.5 89.97 2.25 90.98 3.29 89.92 4.13700 0.6 113.49 2.80 115.05 3.86 115.53 5.01700 0.7 151.39 3.55 153.06 5.11 151.43 6.75700 0.8 213.91 5.10 215.53 7.42 217.20 9.94700 0.9 366.94 9.72 373.38 14.41 376.04 18.98

800 0.1 37.00 1.56 36.87 2.28 37.45 2.78800 0.2 48.14 1.78 47.97 2.43 48.40 2.97800 0.3 60.09 2.35 60.13 2.55 60.80 3.64800 0.4 74.29 2.24 74.74 3.16 76.07 4.03800 0.5 92.81 2.62 92.46 3.76 91.48 4.78800 0.6 117.42 3.72 118.56 4.39 117.89 6.61800 0.7 155.00 4.19 156.50 6.04 156.78 7.81800 0.8 219.92 6.02 225.91 8.74 225.38 11.52800 0.9 378.45 11.20 388.69 16.63 390.70 22.21

Page 29: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

25

表 5.6: 提案法 1(ヒープ,k=10),提案法 1(ヒープ,k=20),提案法 1(ヒープ,k=30)

の近似解及び計算時間 -3

 

提案法 1(ヒープ,k=10) 提案法 1(ヒープ,k=20) 提案法 1(ヒープ,k=30)

頂点数 辺密度 近似解 時間 [ms] 近似解 時間 [ms] 近似解 時間 [ms]

900 0.1 36.93 1.82 36.96 2.66 37.50 3.11900 0.2 48.73 2.01 49.01 2.75 48.41 3.55900 0.3 60.59 2.15 62.34 3.18 60.52 3.93900 0.4 75.74 2.60 75.35 3.56 76.00 4.59900 0.5 93.89 3.03 95.30 4.32 96.06 5.55900 0.6 119.52 3.70 121.23 5.28 119.79 6.92900 0.7 158.72 4.94 159.35 6.81 160.17 9.20900 0.8 227.18 6.98 229.24 10.01 229.22 13.22900 0.9 391.19 12.91 398.93 19.24 402.01 25.65

1000 0.1 37.48 1.95 37.54 2.74 37.84 3.431000 0.2 49.72 2.16 50.10 3.08 49.71 3.841000 0.3 62.75 2.45 63.50 3.49 62.47 4.421000 0.4 76.51 2.87 77.14 4.01 77.80 5.201000 0.5 95.65 3.33 96.88 4.83 95.71 6.261000 0.6 122.88 4.08 122.20 5.98 123.67 7.611000 0.7 162.07 5.27 162.52 7.73 163.49 10.061000 0.8 229.62 7.65 233.38 11.26 234.01 14.791000 0.9 401.78 14.47 408.89 21.44 410.71 28.63

5000 0.1 44.97 10.77 45.62 16.53 44.90 20.525000 0.2 60.04 11.73 59.17 17.18 60.14 22.095000 0.3 75.67 13.22 75.52 19.37 75.57 25.375000 0.4 94.84 15.29 95.43 22.74 94.80 29.995000 0.5 119.54 17.78 119.48 27.28 120.35 36.465000 0.6 153.27 21.84 155.62 33.70 156.50 45.495000 0.7 207.18 28.74 209.77 45.09 209.07 51.205000 0.8 304.00 42.10 307.62 51.93 309.93 56.895000 0.9 555.33 59.61 567.51 62.18 572.97 68.33

Page 30: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

26

表 5.7: 提案法 1(ヒープ,k=40),提案法 1(ヒープ,k=50),提案法 1(ヒープ,k=80)

の近似解及び計算時間 -1

 

提案法 1(ヒープ,k=40) 提案法 1(ヒープ,k=50) 提案法 1(ヒープ,k=80)

頂点数 辺密度 近似解 時間 [ms] 近似解 時間 [ms] 近似解 時間 [ms]

100 0.1 26.62 0.34 26.75 0.39 27.05 0.33100 0.2 33.73 0.39 33.78 0.39 33.71 0.44100 0.3 41.11 0.31 41.23 0.33 41.30 0.46100 0.4 49.51 0.46 49.70 0.40 49.91 0.56100 0.5 60.38 0.47 60.19 0.53 60.09 0.60100 0.6 73.55 0.62 73.21 0.71 73.11 0.78100 0.7 93.19 0.88 91.67 0.90 91.78 0.95100 0.8 122.63 1.16 123.52 1.18 123.06 1.41100 0.9 185.43 1.89 185.55 2.10 186.19 2.13

200 0.1 29.75 0.69 30.40 0.75 29.80 0.97200 0.2 38.53 0.79 38.67 0.82 38.44 1.05200 0.3 47.37 0.95 47.09 1.03 47.10 1.28200 0.4 57.95 1.06 57.49 1.27 58.07 1.52200 0.5 70.92 1.37 71.46 1.41 70.16 1.85200 0.6 88.15 1.53 87.85 1.84 87.81 2.26200 0.7 113.56 2.08 113.43 2.28 112.52 3.10200 0.8 155.57 3.03 154.50 3.30 155.36 4.24200 0.9 249.93 5.48 248.46 6.28 248.99 7.62

300 0.1 32.31 1.03 32.20 1.15 31.87 1.51300 0.2 41.73 1.34 41.62 1.53 41.41 1.88300 0.3 51.35 1.51 52.37 1.73 51.33 2.20300 0.4 61.94 1.60 63.57 1.78 62.83 2.45300 0.5 76.97 1.85 78.63 2.16 77.96 2.80300 0.6 97.77 2.31 96.76 2.62 97.18 3.60300 0.7 124.17 2.95 126.29 3.50 126.83 4.56300 0.8 176.28 4.83 177.21 5.81 174.96 7.90300 0.9 290.83 8.48 291.33 9.69 291.04 13.01

400 0.1 33.15 1.67 33.31 1.79 33.10 2.41400 0.2 43.22 1.83 43.77 2.07 43.40 2.78400 0.3 54.58 2.16 53.96 2.21 54.38 3.05400 0.4 66.44 2.16 66.87 2.43 66.60 3.36400 0.5 82.60 2.59 81.52 2.96 83.02 4.04400 0.6 102.54 3.83 103.96 3.96 103.52 6.00400 0.7 133.84 4.27 133.39 4.94 134.53 6.66400 0.8 189.18 6.21 188.40 7.26 190.69 9.95400 0.9 318.67 13.04 318.29 14.62 319.36 20.46

Page 31: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

27

表 5.8: 提案法 1(ヒープ,k=40),提案法 1(ヒープ,k=50),提案法 1(ヒープ,k=80)

の近似解及び計算時間 -2

 

提案法 1(ヒープ,k=40) 提案法 1(ヒープ,k=50) 提案法 1(ヒープ,k=80)

頂点数 辺密度 近似解 時間 [ms] 近似解 時間 [ms] 近似解 時間 [ms]

500 0.1 35.04 2.06 33.74 2.41 33.96 3.20500 0.2 44.55 2.25 44.41 2.64 45.09 3.45500 0.3 56.49 2.45 56.09 2.76 56.32 3.82500 0.4 69.89 2.85 68.73 3.27 68.76 4.39500 0.5 85.47 3.30 85.08 3.91 84.80 5.34500 0.6 108.04 4.22 108.32 4.87 108.35 6.56500 0.7 140.81 5.41 142.92 6.42 141.30 8.72500 0.8 199.94 8.18 199.99 9.28 199.18 12.94500 0.9 339.99 15.55 342.62 18.20 340.76 25.29

600 0.1 35.26 2.39 35.49 2.61 35.58 3.62600 0.2 46.54 2.75 45.82 3.23 46.39 4.52600 0.3 56.84 2.93 57.71 3.34 57.92 4.49600 0.4 71.91 3.56 71.25 4.08 70.97 5.75600 0.5 88.77 4.09 88.57 4.81 88.22 6.70600 0.6 112.42 5.12 111.60 6.03 112.81 8.35600 0.7 148.23 6.88 147.45 7.98 148.24 11.00600 0.8 210.19 10.87 210.42 12.76 209.99 17.27600 0.9 362.04 19.28 360.58 22.83 364.53 32.33

700 0.1 36.97 2.83 36.20 3.22 36.16 4.48700 0.2 47.18 3.14 47.94 3.62 47.26 4.91700 0.3 59.10 3.37 58.41 4.00 59.35 5.47700 0.4 72.57 4.23 72.57 4.87 73.03 6.58700 0.5 90.73 4.92 91.04 5.68 90.48 8.04700 0.6 115.08 6.05 114.46 7.03 116.12 9.92700 0.7 152.83 8.16 152.35 9.55 152.63 13.32700 0.8 216.62 11.93 217.44 14.03 217.34 19.56700 0.9 375.40 23.30 377.28 27.36 379.10 38.84

800 0.1 37.04 3.25 37.28 3.74 37.27 4.99800 0.2 48.70 3.65 48.31 4.06 48.28 5.54800 0.3 60.00 4.26 60.58 5.08 60.73 6.62800 0.4 75.66 4.83 75.40 5.61 73.74 7.72800 0.5 93.63 5.82 92.74 6.64 91.84 9.22800 0.6 118.08 8.59 116.82 9.33 118.27 12.77800 0.7 155.98 9.44 156.83 11.16 156.43 15.56800 0.8 224.37 14.04 223.55 16.36 225.47 23.22800 0.9 393.78 26.94 391.35 32.02 388.30 44.48

Page 32: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

28

表 5.9: 提案法 1(ヒープ,k=40),提案法 1(ヒープ,k=50),提案法 1(ヒープ,k=80)

の近似解及び計算時間 -3

 

提案法 1(ヒープ,k=40) 提案法 1(ヒープ,k=50) 提案法 1(ヒープ,k=80)

頂点数 辺密度 近似解 時間 [ms] 近似解 時間 [ms] 近似解 時間 [ms]

900 0.1 37.62 3.60 37.40 4.22 37.31 5.67900 0.2 49.46 4.06 49.35 4.75 48.47 6.38900 0.3 61.55 4.69 61.26 5.41 61.73 7.49900 0.4 76.25 5.46 76.42 6.37 74.95 8.77900 0.5 94.90 6.68 95.29 7.70 94.62 10.77900 0.6 121.61 8.28 120.51 9.68 121.14 13.42900 0.7 160.77 10.94 159.54 12.80 159.57 18.01900 0.8 229.56 16.04 230.70 18.89 230.65 26.61900 0.9 401.70 31.11 402.66 36.68 402.20 50.20

1000 0.1 37.90 4.03 38.04 4.59 38.04 6.321000 0.2 50.07 4.55 49.71 5.15 49.21 7.151000 0.3 62.44 5.26 63.08 6.11 63.46 8.331000 0.4 77.42 6.10 77.36 7.15 78.19 9.911000 0.5 97.17 7.48 97.15 8.66 96.29 12.111000 0.6 122.79 9.21 122.60 10.77 122.86 15.111000 0.7 163.87 12.25 163.63 14.22 165.15 20.221000 0.8 233.42 17.95 235.23 21.08 234.41 29.881000 0.9 414.38 35.21 413.51 41.48 410.36 48.04

5000 0.1 45.29 24.30 44.54 28.19 45.85 38.965000 0.2 60.74 26.95 60.24 31.45 60.81 44.605000 0.3 75.66 31.12 77.19 36.65 76.32 47.965000 0.4 95.09 36.91 96.17 43.77 94.97 49.855000 0.5 120.78 45.30 120.98 48.48 119.75 52.825000 0.6 156.80 49.63 154.71 51.17 155.07 56.595000 0.7 211.07 53.26 210.35 56.26 210.96 59.965000 0.8 311.79 57.88 311.12 61.03 312.30 70.935000 0.9 576.85 77.26 578.88 83.93 577.61 110.64

Page 33: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

29

5.2.3 ランダム初期系列を用いた提案法 1の結果

表 5.10,5.11,5.12にランダムな初期系列を用いた提案法 1(ランダム,k=10, 20)と重

み優先抽出法の近似解及び計算時間を載せる.

Page 34: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

30

表 5.10: 提案法 1(ランダム,k=10),提案法 1(ランダム,k=20)の近似解及び計算時間 -1

 

提案法 1(ランダム,k=10) 提案法 1(ランダム,k=20) 重み優先抽出法頂点数 辺密度 近似解 時間 [ms] 近似解 時間 [ms] 近似解 時間 [ms]

100 0.1 25.14 0.15 26.27 0.22 24.97 0.38100 0.2 32.76 0.15 33.11 0.19 32.70 0.35100 0.3 39.72 0.22 40.65 0.25 39.68 0.37100 0.4 48.72 0.16 49.35 0.31 47.42 0.46100 0.5 59.28 0.39 60.56 0.41 57.40 0.76100 0.6 72.88 0.37 71.97 0.38 69.35 0.89100 0.7 91.57 0.44 92.42 0.69 89.24 1.10100 0.8 120.96 0.59 124.09 0.91 116.09 1.62100 0.9 184.09 0.99 186.40 1.43 180.07 2.49

200 0.1 27.81 0.26 28.96 0.42 29.80 1.08200 0.2 37.24 0.37 38.20 0.46 38.17 1.37200 0.3 46.18 0.43 47.16 0.59 45.90 1.76200 0.4 54.97 0.57 56.54 0.63 56.72 2.01200 0.5 68.80 0.67 70.14 0.79 68.17 2.50200 0.6 85.55 0.79 87.45 1.04 84.43 3.15200 0.7 110.17 0.98 111.00 1.38 108.90 4.21200 0.8 152.54 1.32 153.86 1.92 148.61 6.25200 0.9 243.19 2.61 247.97 3.81 238.02 11.22

300 0.1 30.23 0.38 31.33 0.67 31.43 2.38300 0.2 39.51 0.54 40.69 0.83 40.65 3.28300 0.3 48.47 0.65 49.66 0.94 50.29 3.75300 0.4 59.48 0.67 61.48 0.99 61.86 4.44300 0.5 74.61 0.85 76.56 1.15 76.40 4.97300 0.6 93.83 1.07 97.04 1.51 93.67 6.33300 0.7 123.01 1.21 124.55 1.99 123.25 8.45300 0.8 171.62 2.21 175.28 3.02 170.10 12.93300 0.9 280.53 3.56 288.31 5.47 281.94 13.40

400 0.1 31.02 0.73 32.12 0.98 32.53 4.77400 0.2 40.88 0.74 42.14 1.10 41.70 5.65400 0.3 52.26 0.89 52.51 1.18 52.38 6.32400 0.4 64.48 0.92 64.45 1.29 65.81 7.16400 0.5 80.14 1.06 81.69 1.58 80.66 8.71400 0.6 100.13 1.56 103.13 2.21 101.84 12.24400 0.7 131.78 1.79 133.31 2.65 133.09 12.63400 0.8 184.75 2.51 187.95 3.94 185.69 14.06400 0.9 307.19 5.18 314.86 7.76 310.79 16.91

ランダム系列のものは,初期系列のソートを行わない分,重みの降順やヒープ系列のも

のに対して高速に近似解を出力することが出来ている.しかし,近似解の性能の部分にお

いて,頂点数や辺密度に関わらず大きく劣っている.よって,提案法 1の初期系列は,あ

る程度は頂点の重みを考慮した系列であることが望ましいと言える.

重み優先抽出法は近似解の性能はいいものの,計算時間において各提案法に大きく劣っ

Page 35: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

31

ていた.

Page 36: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

32

表 5.11: 提案法 1(ランダム,k=10),提案法 1(ランダム,k=20)の近似解及び計算時間 -2

 

提案法 1(ランダム,k=10) 提案法 1(ランダム,k=20) 重み優先抽出法頂点数 辺密度 近似解 時間 [ms] 近似解 時間 [ms] 近似解 時間 [ms]

500 0.1 31.48 0.85 32.55 1.24 33.88 7.45500 0.2 42.41 0.92 43.38 1.34 43.74 8.17500 0.3 54.11 1.03 54.64 1.49 55.77 9.58500 0.4 66.31 1.20 67.80 1.72 68.01 10.68500 0.5 82.20 1.46 83.46 2.03 85.10 12.19500 0.6 104.24 1.70 105.52 2.66 106.44 12.95500 0.7 136.98 2.20 141.00 3.43 139.03 13.83500 0.8 193.53 3.30 198.07 5.04 196.55 15.96500 0.9 327.97 6.20 335.78 9.68 329.94 19.05

600 0.1 33.19 0.85 33.83 1.34 34.90 9.82600 0.2 43.79 1.25 44.62 1.57 45.07 11.11600 0.3 54.05 1.19 55.91 1.62 56.77 10.80600 0.4 67.51 1.56 69.01 2.09 70.49 12.07600 0.5 84.19 1.68 87.18 2.49 86.81 13.09600 0.6 107.81 2.03 110.64 3.08 110.39 14.06600 0.7 144.11 2.71 146.03 4.15 146.69 15.37600 0.8 203.88 4.05 205.83 6.44 206.28 18.18600 0.9 346.83 7.43 355.81 11.79 355.36 22.56

700 0.1 34.47 1.23 35.12 1.69 35.93 10.84700 0.2 44.90 1.40 45.99 1.82 46.43 11.08700 0.3 56.00 1.44 57.51 2.05 57.77 11.58700 0.4 69.75 1.59 71.02 2.36 72.76 12.14700 0.5 87.58 1.96 88.18 2.97 88.74 14.02700 0.6 110.50 2.34 112.04 3.72 113.50 15.35700 0.7 147.30 3.15 149.48 4.84 148.61 16.73700 0.8 211.73 4.66 215.40 7.22 215.27 19.83700 0.9 363.14 9.00 370.85 14.06 368.44 26.20

800 0.1 34.21 1.36 35.04 1.84 36.30 10.83800 0.2 44.67 1.36 45.41 2.07 47.75 11.33800 0.3 56.91 1.67 59.06 2.45 59.55 12.75800 0.4 71.42 1.84 73.54 2.87 73.53 13.01800 0.5 89.68 2.27 91.39 3.32 92.24 15.11800 0.6 114.44 3.11 115.49 4.47 117.11 17.71800 0.7 150.16 3.59 152.34 5.55 154.26 18.57800 0.8 215.59 5.47 220.94 8.58 222.26 22.14800 0.9 374.93 10.30 381.70 16.35 384.77 28.79

Page 37: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

33

表 5.12: 提案法 1(ランダム,k=10),提案法 1(ランダム,k=20)の近似解及び計算時間 -3

 

提案法 1(ランダム,k=10) 提案法 1(ランダム,k=20) 重み優先抽出法頂点数 辺密度 近似解 時間 [ms] 近似解 時間 [ms] 近似解 時間 [ms]

900 0.1 34.68 1.55 35.88 2.10 37.73 11.55900 0.2 45.90 1.56 47.14 2.38 48.53 12.01900 0.3 57.82 1.88 59.46 2.67 61.51 12.70900 0.4 73.23 2.08 74.59 3.18 76.26 14.02900 0.5 91.09 2.50 93.59 3.85 94.73 16.41900 0.6 116.26 3.19 118.77 4.98 121.23 18.29900 0.7 154.62 4.32 158.20 6.46 159.60 20.63900 0.8 220.97 6.11 226.36 9.55 226.28 24.84900 0.9 385.35 11.81 396.81 18.66 397.25 32.59

1000 0.1 34.51 1.63 36.07 2.32 37.47 11.971000 0.2 47.36 1.79 47.90 2.69 49.60 12.581000 0.3 59.64 2.02 60.28 3.02 61.50 13.561000 0.4 73.87 2.43 75.70 3.61 76.47 15.271000 0.5 92.72 2.95 93.08 4.45 95.57 17.871000 0.6 118.01 3.40 120.68 5.47 122.16 20.001000 0.7 157.68 4.61 161.09 7.17 161.78 22.651000 0.8 227.27 6.86 230.30 10.63 232.24 27.861000 0.9 395.39 13.23 402.90 20.85 409.61 37.01

5000 0.1 41.51 7.32 43.06 10.87 45.18 75.845000 0.2 56.45 8.08 58.41 12.01 60.04 98.755000 0.3 71.42 9.15 73.06 13.83 76.18 127.405000 0.4 90.81 10.77 93.20 16.33 95.90 165.095000 0.5 115.46 12.98 117.14 20.04 121.53 202.315000 0.6 149.07 15.75 152.57 24.55 157.96 230.345000 0.7 201.45 20.91 206.46 33.27 213.79 283.115000 0.8 298.00 31.27 303.97 38.30 314.03 364.785000 0.9 545.89 48.54 558.04 48.59 584.36 604.93

Page 38: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

34

5.2.4 ヒープを用いた提案法 2の結果

表 5.13,5.14,5.15にヒープ系列を用いた提案法 2(k=10, 20)及び従来法 2の近似解

及び計算時間を,付録 Aに提案法 2(k=30∼50, 80)の近似解及び計算時間を載せる.

表 5.13: 従来法 2,提案法 2(ヒープ,k=10),提案法 2(ヒープ,k=20)の近似解及び計算時間 -1

 

従来法 2 提案法 2(ヒープ,k=10) 提案法 2(ヒープ,k=20)

頂点数 辺密度 近似解 時間 [ms] 近似解 時間 [ms] 近似解 時間 [ms]

100 0.1 27.20 0.48 27.25 0.40 27.11 0.48100 0.2 34.88 0.59 35.03 0.30 34.87 0.49100 0.3 41.83 0.60 41.83 0.27 41.48 0.37100 0.4 50.35 0.82 50.27 0.45 50.55 0.58100 0.5 61.32 1.04 61.21 0.55 61.41 0.80100 0.6 75.29 1.29 74.44 0.68 74.98 0.87100 0.7 94.54 1.73 94.05 0.87 93.78 1.16100 0.8 124.03 2.40 123.52 1.23 124.89 1.60100 0.9 186.58 4.04 184.72 1.81 187.04 2.45

200 0.1 30.78 1.60 31.10 0.68 30.92 0.82200 0.2 39.12 2.11 39.64 0.75 40.05 0.89200 0.3 48.55 2.60 48.38 0.91 47.76 1.12200 0.4 60.02 3.15 59.05 1.01 59.94 1.22200 0.5 71.34 3.84 72.47 1.12 72.94 1.59200 0.6 88.70 4.87 88.84 1.48 90.11 1.92200 0.7 116.94 6.36 114.51 1.79 115.40 2.53200 0.8 157.11 9.37 156.70 2.58 156.55 3.65200 0.9 249.41 16.28 246.91 4.57 249.00 6.48

300 0.1 32.84 3.69 33.34 1.06 33.87 1.32300 0.2 42.34 4.96 43.03 1.26 43.15 1.54300 0.3 53.06 5.88 52.69 1.42 53.45 1.73300 0.4 64.65 6.58 65.04 1.30 64.86 1.90300 0.5 78.01 7.54 79.80 1.54 80.22 2.18300 0.6 98.68 9.57 98.49 1.96 99.63 2.68300 0.7 127.86 12.51 128.25 2.55 128.03 3.58300 0.8 179.00 18.82 177.40 4.51 179.81 6.10300 0.9 294.47 30.66 289.39 6.67 291.14 9.72

400 0.1 34.46 7.34 34.02 1.73 34.92 1.92400 0.2 44.09 8.61 44.58 1.60 45.41 2.05400 0.3 54.36 9.92 55.46 2.01 55.90 2.41400 0.4 67.44 10.71 67.80 1.82 67.41 2.47400 0.5 83.90 13.20 84.06 2.10 84.17 2.97400 0.6 105.03 16.98 104.15 3.34 104.76 4.52400 0.7 138.03 20.72 136.19 3.49 137.13 4.86400 0.8 192.28 20.98 191.68 4.99 194.86 7.25400 0.9 322.20 26.84 314.93 10.07 322.71 14.47

Page 39: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

35

従来法 2に対する,提案法 2の傾向は,従来法 1に対する提案法 1の場合と同様に,k

の値を 20にすれば,同程度の近似解の性能で,計算時間を減らすことができた.k=20の

とき,頂点数や辺密度の違いにより,従来法 2に比べ大きく近似解の性能の優劣が変わる

ことはなかった.k の値が同じときの,初期ヒープを用いた提案法 1と比べると,計算時

間は大幅に増加しているが,近似解の性能も向上していた.初期ヒープを用いた提案法 1

では,k の値を大きくしても 50以上ではさほど近似解の性能も上がらず,提案法 2の方

が近似解の性能は優れていた.k = 20で,表 5.10,5.11,5.12の重み優先抽出法と同程

度の近似解の性能があり,計算時間で大きく優っていた.

次に,頂点数 1000, 5000,辺密度 0.9 のグラフに対する,提案法 1 と提案法 2 のパラ

メータ k の移り変わりによる,近似解の性能及び計算時間の変化を図 5.1に載せる.k の

値は 10∼50, 80である.まず,提案法 1 は k の値が 4,50 付近が最も近似解の性能が良いことが見て取れる.k

の値を 80に増やしても,計算時間が増加するだけで,近似解の性能は下がっている.提

案法 2 の方も,頂点数 5000 の方では k が 50 のとき最も良い近似解を出力しているが,

頂点数 1000の方では kを 50から 80に増やすと,計算時間は増すものの近似解の性能も

上がっている.次に提案法 1, 2を比べてみると,頂点数 1000の方では近似解の性能と計

算時間の関係が似通っている部分もある.一方頂点数 5000の方では 1000に比べて,提

案法 1の方が提案法 2に対して,より高速に近似解を出力できていることがわかる.しか

し近似解の性能においては,頂点数 1000のときに比べて,提案法 2の方がより良い近似

解を出力できている.よって,組み込みたいメタヒュースりティックや扱う問題の規模に

より,提案法 1, 2を使い分けることが望ましいと考えられる.

Page 40: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

36

図 5.1: kの値による提案法 1, 2の変化

Page 41: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

37

表 5.14: 従来法 2,提案法 2(ヒープ,k=10),提案法 2(ヒープ,k=20)の近似解及び計算時間 -2

 

従来法 2 提案法 2(ヒープ,k=10) 提案法 2(ヒープ,k=20)

頂点数 辺密度 近似解 時間 [ms] 近似解 時間 [ms] 近似解 時間 [ms]

500 0.1 34.77 11.34 34.92 2.05 35.84 2.45500 0.2 46.18 12.18 46.28 1.92 45.84 2.64500 0.3 56.95 14.32 57.09 2.15 57.72 2.78500 0.4 70.75 16.64 70.39 2.48 70.76 3.31500 0.5 85.99 18.06 86.66 2.69 87.20 3.77500 0.6 109.43 21.78 109.36 3.43 111.70 4.74500 0.7 143.42 20.87 142.92 4.34 144.79 6.13500 0.8 202.56 23.58 200.56 6.39 202.86 9.07500 0.9 344.46 30.74 336.86 11.74 340.35 17.27

600 0.1 36.33 14.84 36.78 2.28 36.46 2.83600 0.2 46.95 17.45 47.47 2.54 48.02 2.99600 0.3 58.73 19.98 58.98 2.37 59.36 3.22600 0.4 71.80 24.52 72.36 3.17 72.75 4.28600 0.5 88.75 26.66 90.12 3.31 89.60 4.51600 0.6 113.04 28.10 114.13 4.07 114.33 5.80600 0.7 151.07 30.40 150.84 5.27 150.35 7.61600 0.8 214.57 34.73 210.16 9.00 214.03 11.82600 0.9 365.99 40.18 358.17 14.64 365.47 21.57

700 0.1 37.63 20.09 37.00 2.92 37.05 3.43700 0.2 47.87 23.17 48.34 2.64 48.90 3.54700 0.3 59.14 26.93 60.28 2.82 60.40 3.87700 0.4 73.98 29.51 73.88 3.22 74.50 4.66700 0.5 92.30 28.39 92.47 3.90 92.76 5.51700 0.6 116.77 30.29 117.08 4.71 116.93 6.82700 0.7 154.13 32.87 155.27 6.18 154.76 8.90700 0.8 221.43 37.38 218.71 9.07 222.72 13.27700 0.9 382.89 50.98 373.63 17.14 379.53 25.34

800 0.1 37.12 17.75 37.85 2.98 37.72 3.59800 0.2 48.84 18.70 49.60 3.02 49.13 3.94800 0.3 61.06 25.18 61.56 3.68 61.41 4.87800 0.4 76.39 25.56 75.56 3.76 77.19 5.20800 0.5 93.96 22.82 94.36 4.44 94.28 6.33800 0.6 119.57 27.67 119.32 6.71 119.79 9.33800 0.7 158.60 28.73 159.23 7.22 159.36 10.46800 0.8 226.67 34.61 225.41 10.39 227.31 15.29800 0.9 393.60 47.26 386.26 19.68 391.19 29.35

Page 42: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

38

表 5.15: 従来法 2,提案法 2(ヒープ,k=10),提案法 2(ヒープ,k=20)の近似解及び計算時間 -3

 

従来法 2 提案法 2(ヒープ,k=10) 提案法 2(ヒープ,k=20)

頂点数 辺密度 近似解 時間 [ms] 近似解 時間 [ms] 近似解 時間 [ms]

900 0.1 38.20 18.32 37.98 3.40 37.98 4.10900 0.2 49.79 19.50 49.66 3.48 50.85 4.39900 0.3 62.22 25.04 62.83 3.77 63.91 5.06900 0.4 77.47 27.48 77.92 4.26 78.78 5.94900 0.5 95.88 24.85 96.72 5.09 97.46 7.21900 0.6 123.45 28.28 121.89 6.26 124.65 9.03900 0.7 162.33 32.46 161.46 8.34 163.05 12.25900 0.8 233.59 39.16 230.97 11.88 233.41 17.52900 0.9 408.06 54.61 399.87 22.57 403.98 33.59

1000 0.1 38.75 27.45 38.51 3.76 38.53 4.651000 0.2 50.50 31.64 50.29 3.68 50.16 4.891000 0.3 63.38 33.17 63.46 4.17 64.30 5.591000 0.4 78.40 34.06 78.63 4.80 78.73 6.661000 0.5 97.94 34.36 98.13 5.77 99.73 8.021000 0.6 124.21 37.65 124.57 6.97 126.01 10.041000 0.7 166.33 42.13 164.14 9.09 166.64 13.471000 0.8 237.72 49.89 236.94 13.23 239.30 19.421000 0.9 420.08 66.79 408.76 25.06 413.41 37.69

5000 0.1 45.14 112.87 44.84 20.56 46.06 25.575000 0.2 60.57 149.89 60.85 19.97 61.39 26.705000 0.3 76.98 194.18 76.87 21.78 77.12 30.805000 0.4 97.10 244.53 96.16 25.02 97.57 36.385000 0.5 121.42 306.10 121.45 29.68 122.62 43.985000 0.6 158.60 380.70 156.90 36.59 159.03 55.345000 0.7 213.02 475.37 211.11 48.65 213.85 74.685000 0.8 313.79 628.54 309.25 71.27 315.15 90.305000 0.9 585.43 1036.36 570.12 100.12 583.39 113.37

Page 43: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

39

5.2.5 メタヒューリスティックに提案法 1を組込んだ際の結果

最大重みクリーク問題などの最適化問題に対し,多くの場合局所探索法などのメタ

ヒューリスティックが使われることが多い.よって,提案法の評価には単体での近似解法

の他に,メタヒューリスティックに組込んだ際の性能評価も必要であると思われる.本

研究では,解の改良の仕方自体は研究目標ではないため,提案法を評価するためのメタ

ヒューリスティックには文献 [7]にある局所探索法を用いる.文献 [7]の局所探索法の内

部に用いられている近似解法 (従来法 1)をそのまま用いた場合と,提案法 1を内部に用い

る近似解法とした場合での挙動の違いを比較する.

文献 [7]に用いられているメタヒューリスティックの概要を以下に示す.

入力:グラフの G = (V,E),各頂点 v の重み w(v) > 0,制限時間

出力:制限時間内に得られた中で最も性能の良かった解の値

(1)  ある貪欲算法型近似解法による初期解の構築

(2)   while制限時間内 do

(3)   ランダムに 0∼1の実数を作成(4)   if 乱数が 0.9以上 true then

(5)   現在保持しているクリークの頂点の内

    50%をランダムにクリークより削除する

(6)   else

(7)   現在保持しているクリークと無関係な頂点を 1つ選び,

     クリークの中で選んだ頂点と隣接していない頂点を削除する

(8)   end if

(9)   初期解構築に用いた近似解法を用いて

     保持しているクリークを極大化する

(10)   今までの最良解より値が良ければ,最良解を更新する

(11)   end while

図 5.2: 文献 [7]のアルゴリズム

表 5.16,5.17,5.18,5.19にヒープ系列を用いた提案法 1(k=20)と従来法 1を,それ

ぞれ内部の近似解法として使用したメタヒューリスティックの,制限時間ごとの近似解の

平均値及び最大値を載せる.

内部の近似解法として提案法 1 を使用したもののほうが,従来法 1 を使用したものよ

Page 44: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

40

り,0.9と高い辺密度の時,近似解の性能が向上していると言える.制限時間を 1秒 ∼60秒と変動させた場合でもその傾向は変わらなかった.グラフの種類ごとに見ていくと,頂

点数 1000・辺密度 0.5 のグラフは,提案法・従来法ともに,多くの場合平均値が最大値

と同じであり,最大値の方は全て確認することができた厳密解を出力することが出来てい

た.頂点数 1000・辺密度 0.9のグラフと頂点数 5000・辺密度 0.5 のグラフは,提案法・

従来法ともに制限時間による著しい最大値の向上は見られないものの,平均値は時間を掛

けるほど最大値に近づいていた.頂点数 5000・辺密度 0.9のグラフでは,制限時間を掛け

るほど,最大値・平均値ともに改良されていく傾向が見て取れる.よって,出力された近

似解は厳密解に達しておらず,改良の余地があるものと思われる.実験した中で最も規模

の大きい頂点数 5000,辺密度 0.9では,他の条件の入力に比べ,提案法が従来法に比べ大

きく性能が優っていた.よって,さらに規模を大きくすると,より一層の性能の向上が見

られる可能性がある.

Page 45: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

41

表 5.16: 従来改良型,提案改良型の平均値及び最大値 1秒

従来改良型 提案改良型頂点数 辺密度 グラフの種類 平均値 最大値 平均値 最大値1000 0.5 0 114.93 115 114.90 1151000 0.5 1 114.00 114 114.00 1141000 0.5 2 114.60 115 114.94 1151000 0.5 3 120.00 120 120.00 1201000 0.5 4 121.00 121 121.00 1211000 0.5 5 113.00 113 113.00 1131000 0.5 6 116.00 116 116.00 1161000 0.5 7 117.00 117 117.00 1171000 0.5 8 115.00 115 115.00 1151000 0.5 9 117.96 118 117.98 118

1000 0.9 0 474.67 486 475.80 4861000 0.9 1 476.73 487 476.55 4891000 0.9 2 476.22 479 476.26 4791000 0.9 3 477.74 482 479.70 4821000 0.9 4 474.29 481 476.64 4811000 0.9 5 471.13 482 474.22 4831000 0.9 6 473.07 477 473.50 4821000 0.9 7 469.07 473 470.11 4721000 0.9 8 475.64 482 477.88 4841000 0.9 9 482.52 484 482.86 484

5000 0.5 0 140.78 150 141.27 1495000 0.5 1 141.34 148 141.37 1515000 0.5 2 140.54 147 140.71 1485000 0.5 3 140.39 150 141.94 1505000 0.5 4 140.82 151 141.09 1485000 0.5 5 141.62 150 141.26 1515000 0.5 6 141.86 149 141.94 1505000 0.5 7 141.10 149 142.00 1545000 0.5 8 140.95 150 141.19 1495000 0.5 9 141.02 151 141.88 152

5000 0.9 0 657.57 682 668.44 6915000 0.9 1 652.93 686 663.93 6875000 0.9 2 654.52 678 661.36 6875000 0.9 3 654.53 680 665.49 6885000 0.9 4 654.92 682 662.08 6865000 0.9 5 655.06 678 665.25 6945000 0.9 6 651.83 683 659.43 6935000 0.9 7 656.31 685 665.14 6875000 0.9 8 660.18 683 668.47 6895000 0.9 9 653.62 681 661.77 682

Page 46: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

42

表 5.17: 従来改良型,提案改良型の平均値及び最大値 5秒

従来改良型 提案改良型頂点数 辺密度 グラフの種類 平均値 最大値 平均値 最大値1000 0.5 0 115.00 115 115.00 1151000 0.5 1 114.00 114 114.00 1141000 0.5 2 115.00 115 115.00 1151000 0.5 3 120.00 120 120.00 1201000 0.5 4 121.00 121 121.00 1211000 0.5 5 113.00 113 113.00 1131000 0.5 6 116.00 116 116.00 1161000 0.5 7 117.00 117 117.00 1171000 0.5 8 115.00 115 115.00 1151000 0.5 9 118.00 118 118.00 118

1000 0.9 0 478.07 486 478.99 4861000 0.9 1 480.05 487 480.90 4901000 0.9 2 477.90 479 477.81 4791000 0.9 3 481.69 482 481.96 4821000 0.9 4 476.62 481 479.67 4831000 0.9 5 475.33 483 479.45 4831000 0.9 6 474.57 477 475.75 4821000 0.9 7 471.02 474 471.17 4741000 0.9 8 480.60 484 481.01 4841000 0.9 9 483.31 484 483.95 484

5000 0.5 0 144.40 152 144.53 1525000 0.5 1 145.77 154 145.32 1545000 0.5 2 143.54 150 143.59 1495000 0.5 3 144.94 154 144.77 1545000 0.5 4 144.15 151 144.55 1515000 0.5 5 144.50 151 144.78 1515000 0.5 6 145.42 151 145.32 1515000 0.5 7 144.96 154 145.24 1545000 0.5 8 144.49 153 144.54 1555000 0.5 9 144.69 152 144.99 152

5000 0.9 0 672.98 687 678.37 7005000 0.9 1 667.74 686 675.27 6965000 0.9 2 667.19 688 671.86 6905000 0.9 3 671.65 688 675.78 6945000 0.9 4 667.92 689 672.99 6925000 0.9 5 670.84 690 675.09 7015000 0.9 6 665.95 688 670.15 6965000 0.9 7 669.20 689 674.86 6935000 0.9 8 673.19 692 679.40 6975000 0.9 9 667.08 693 670.84 694

Page 47: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

43

表 5.18: 従来改良型,提案改良型の平均値及び最大値 10秒

従来改良型 提案改良型頂点数 辺密度 グラフの種類 平均値 最大値 平均値 最大値1000 0.5 0 115.00 115 115.00 1151000 0.5 1 114.00 114 114.00 1141000 0.5 2 115.00 115 115.00 1151000 0.5 3 120.00 120 120.00 1201000 0.5 4 121.00 121 121.00 1211000 0.5 5 113.00 113 113.00 1131000 0.5 6 116.00 116 116.00 1161000 0.5 7 117.00 117 117.00 1171000 0.5 8 115.00 115 115.00 1151000 0.5 9 118.00 118 118.00 118

1000 0.9 0 479.64 486 482.02 4861000 0.9 1 480.84 487 481.58 4891000 0.9 2 478.22 479 478.29 4791000 0.9 3 481.99 482 482.00 4821000 0.9 4 477.89 481 480.81 4831000 0.9 5 477.62 483 480.62 4831000 0.9 6 475.44 482 476.66 4821000 0.9 7 471.10 474 471.40 4741000 0.9 8 481.85 484 482.02 4841000 0.9 9 483.73 484 484.00 484

5000 0.5 0 145.77 152 146.16 1525000 0.5 1 146.90 154 146.71 1545000 0.5 2 144.95 151 145.07 1505000 0.5 3 146.64 154 146.57 1545000 0.5 4 145.38 151 145.40 1525000 0.5 5 145.64 151 145.60 1515000 0.5 6 146.60 151 146.53 1515000 0.5 7 146.25 153 147.29 1545000 0.5 8 146.14 155 145.59 1555000 0.5 9 146.30 152 146.33 152

5000 0.9 0 676.68 696 683.21 7015000 0.9 1 671.28 693 677.01 6965000 0.9 2 671.92 704 676.38 6905000 0.9 3 674.59 696 679.35 6935000 0.9 4 671.51 689 675.76 6965000 0.9 5 674.15 693 679.72 6975000 0.9 6 670.78 689 673.79 6915000 0.9 7 674.96 697 679.56 7055000 0.9 8 677.63 698 682.35 7065000 0.9 9 672.40 693 675.56 699

Page 48: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

44

表 5.19: 従来改良型,提案改良型の平均値及び最大値 60秒

従来改良型 提案改良型頂点数 辺密度 グラフの種類 平均値 最大値 平均値 最大値1000 0.5 0 115.00 115 115.00 1151000 0.5 1 114.00 114 114.00 1141000 0.5 2 115.00 115 115.00 1151000 0.5 3 120.00 120 120.00 1201000 0.5 4 121.00 121 121.00 1211000 0.5 5 113.00 113 113.00 1131000 0.5 6 116.00 116 116.00 1161000 0.5 7 117.00 117 117.00 1171000 0.5 8 115.00 115 115.00 1151000 0.5 9 118.00 118 118.00 118

1000 0.9 0 486.00 486 485.90 4861000 0.9 1 483.85 490 486.65 4901000 0.9 2 478.90 479 479.00 4791000 0.9 3 482.00 482 482.00 4821000 0.9 4 480.45 483 481.30 4831000 0.9 5 482.10 483 482.70 4831000 0.9 6 476.20 477 480.95 4821000 0.9 7 471.75 473 472.25 4741000 0.9 8 483.60 484 482.90 4841000 0.9 9 484.00 484 484.00 484

5000 0.5 0 148.90 152 150.00 1525000 0.5 1 150.55 154 149.90 1545000 0.5 2 147.40 150 147.85 1515000 0.5 3 149.90 154 149.80 1545000 0.5 4 149.00 152 148.65 1525000 0.5 5 148.35 152 148.40 1525000 0.5 6 148.70 151 149.00 1515000 0.5 7 151.35 154 150.60 1545000 0.5 8 149.95 155 148.10 1525000 0.5 9 149.20 152 149.65 152

5000 0.9 0 687.80 698 690.70 6975000 0.9 1 680.10 690 685.70 6985000 0.9 2 679.90 687 684.45 6905000 0.9 3 681.95 706 688.40 7005000 0.9 4 681.65 694 683.20 6905000 0.9 5 684.50 701 688.85 6985000 0.9 6 681.90 693 682.05 6915000 0.9 7 684.50 705 688.60 7055000 0.9 8 684.25 695 688.70 6995000 0.9 9 679.75 689 687.70 702

Page 49: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

45

第 6章

あとがき

本論文では,まず,最長路計算を用いた,線形時間での最大重みクリーク問題に対する

近似解法を示した.

ランダムグラフを用いた計算機実験により,単体の近似解法として用いた場合における

従来法に対する提案法の有効性を確認した.提案法は対応する従来法と同程度の性能の近

似解を出力することが出来ており,また,計算時間においては,グラフの規模が大きくな

るほど,従来法に比べ高速に解を出力することが出来ていた.

また,文献 [7]にある局所探索法に組み込むことで,従来法を局所探索法に用いた場合

との挙動の違いを確認した.提案法を組込んだものは,規模の小さいグラフだと従来法を

組込んだものと同程度の近似解の性能であったが,頂点数 5000,辺密度 0.9の規模の大き

なグラフだと,従来法を組込んだものに比べ,出力した近似解の平均値・最大値共に概ね

優っていた.

今後の課題として,まず,本研究ではメモリの都合上頂点数 5000 までの実験しか行

えなかったが,更に大規模なグラフでの実験を行い,挙動を確認する必要がある.メタ

ヒューリスティックの場合,入力グラフの頂点数が 5000でも,一回毎の解の改良の計算

を行う近傍は,大きくても 200頂点程度となるため,従来法との差が現れにくいと考えら

れる.よって,一回の解の改良に,提案法と従来法の計算時間の差がはっきり現れた頂点

数 5000程度の近傍を持つような入力グラフでの実験を行う必要があると思われる.

なお,本研究で使用したランダムグラフは全て隣接行列の形式である.隣接リストを使

用することで,時間計算量は落ちるものの,より高速に近似解を抽出することが出来る方

法も存在すると考えられる.

Page 50: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

46

謝辞

本研究を進めるにあたり,有意義な討論と御指導をいただいた,神戸大学大学院工学研

究科電気電子工学専攻,増田澄男教授,山口一章准教授に深く感謝いたします.

また,いろいろ手助けしていただいた,アルゴリズム研究室の院生,ならびに学部生の

方々に深く感謝いたします.

Page 51: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

47

参考文献

[1] I.M. Bomze and M. Budinich and P.M. Pardalos and M. Pelillo, “The maximum

clique problem,” in Handbook of Combinatorial Optimization (suppl. vol. A),

eds. Ding-Zhu Du and Panos M. Pardalos, pp.1–74, Kluwer Academic Publishers,

1999.

[2] K.C. Dukka Bahadur and T. Akutsu and E. Tomita and T. Seki and A. Fujiyama,

“Point matching under non-uniform distortions and protein side chain packing

based on an efficient maximum clique algorithm,” Genome Inormatics, vol.13,

pp.143–152, 2002.

[3] V.E. Alekseev, “An upper bound for the number of maximal independent sets in

a graph ,” Discrete Mathematics and Applications, 2007.

[4] A. Brandstadt, “On clique separators, nearly chordal graphs, and the maximum

weight stable set problem,” Theoretical Computer Science, vol.389, pp.295–306,

2007.

[5] S. Busygin, “A new trust region technique for the maximum weight clique prob-

lem,” Discrete applied mathematics, vol.154, pp.2080–2096, 2006.

[6] A. Han, D. Zhu “A new DNA-based approach to solve the maximum weight

clique problem,” Lecture Notes in Computer Science, 2006.

[7] 藤原正康,柴田和典,山口一章,増田澄男, “最大重みクリーク問題に対する2種類

の近似解法の提案” 情報処理学会関西支部支部大会講演論文集,2008.

[8] 吉川聡司,山口一章,増田澄男,“最大重みクリーク問題に対する貪欲アルゴリズム

の提案,” 電気関係学会関西支部連合大会講演論文集 (CD–ROM),G10-11,2008.

[9] 山口一章,増田澄男, “最大重みクリークの重みの上界の高速な計算法,” 信学技報,

COMP 2005-1, pp.1–4, 2005.

[10] 西尾達也,山口一章,増田澄男, “複数の上界計算法に基づく近似最大重みクリーク

抽出法,” 神戸大学工学部 電気電子工学科 卒業論文,2010.

Page 52: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

発表論文リスト

[1] 西尾達也,山口一章,増田澄男,“最大重みクリーク抽出アルゴリズムの提案および

実験的評価,” 平成 21年電気関係学会関西支部連合大会 講演論文集, B-10, 2009.

Page 53: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

49

付録 A

Page 54: 修 士 論 文 - kobe-u.ac.jpky/S4ronbun/2012/nishio.pdf · 大規模な問題の最適解を現実的な時間で求めるアルゴリズムは知られていない. そこで,近似率の保証はできないができるだけ近似率が高くなるような近似解を計算す

50

表 A.1: 提案法 2(ヒープ,k=30),提案法 2(ヒープ,k=40),提案法 2(ヒープ,k=50),

提案法 2(ヒープ,k=80)の近似解及び計算時間

提案法 2(ヒープ,k=30) 提案法 2(ヒープ,k=40) 提案法 2(ヒープ,k=50) 提案法 2(ヒープ,k=80)頂点数 辺密度 近似解 時間 [ms] 近似解 時間 [ms] 近似解 時間 [ms] 近似解 時間 [ms]100 0.1 26.89 0.45 26.88 0.55 26.87 0.56 27.12 0.57100 0.2 35.09 0.63 35.31 0.58 35.54 0.65 35.56 0.70100 0.3 42.10 0.46 41.25 0.60 41.12 0.67 41.56 0.61100 0.4 50.56 0.64 51.13 0.74 50.68 0.73 50.91 0.93100 0.5 60.82 0.83 61.30 0.93 61.84 0.94 61.43 1.13100 0.6 74.77 1.02 74.97 1.11 74.80 1.15 74.53 1.25100 0.7 93.86 1.35 93.32 1.43 94.31 1.53 93.93 1.68100 0.8 124.45 1.88 125.34 2.06 125.16 2.12 125.30 2.30100 0.9 187.35 2.93 187.86 3.21 186.56 3.35 186.77 3.63200 0.1 31.74 0.97 31.02 1.02 31.02 1.14 30.27 1.33200 0.2 39.89 1.07 39.21 1.24 38.96 1.21 39.51 1.68200 0.3 48.43 1.33 48.45 1.55 48.75 1.65 48.66 2.09200 0.4 58.88 1.60 58.87 1.83 59.02 2.06 58.93 2.54200 0.5 71.77 1.92 73.29 2.18 71.56 2.40 71.85 2.99200 0.6 89.08 2.43 89.53 2.76 88.51 3.06 87.87 3.65200 0.7 115.26 3.15 116.06 3.66 115.40 4.05 114.52 4.93200 0.8 158.71 4.54 157.87 5.32 155.63 5.98 157.66 7.21200 0.9 251.54 8.10 251.19 9.59 251.05 10.52 251.44 12.80300 0.1 33.30 1.48 32.93 1.70 33.57 1.77 33.72 2.30300 0.2 42.61 1.88 43.08 2.04 42.89 2.29 42.58 2.98300 0.3 52.43 2.09 53.73 2.41 52.12 2.67 53.11 3.47300 0.4 65.30 2.45 64.58 2.79 64.44 2.99 64.49 4.01300 0.5 79.58 2.78 78.65 3.21 79.08 3.52 79.68 4.66300 0.6 98.65 3.50 98.54 4.11 99.23 4.62 99.05 6.10300 0.7 129.09 4.63 128.02 5.46 128.78 6.03 128.22 7.85300 0.8 178.62 7.15 180.35 8.41 180.45 9.56 178.03 12.76300 0.9 294.00 12.72 294.82 15.28 295.71 16.93 295.10 22.37400 0.1 34.67 2.22 34.32 2.45 34.34 2.82 34.53 3.56400 0.2 44.37 2.43 44.60 2.87 45.09 3.29 44.13 4.18400 0.3 55.31 2.96 55.50 3.24 56.39 3.83 55.34 4.91400 0.4 68.91 3.09 68.40 3.67 67.70 4.08 67.76 5.47400 0.5 83.73 3.76 83.39 4.40 84.22 4.96 84.45 6.78400 0.6 105.67 5.42 104.93 6.86 105.16 7.45 104.37 9.67400 0.7 137.48 6.26 136.90 7.49 136.40 8.46 137.95 11.46400 0.8 193.56 9.35 193.86 11.20 194.78 12.70 193.54 17.21400 0.9 324.33 18.63 324.47 22.59 324.83 24.62 324.82 33.94500 0.1 35.54 2.82 35.48 3.22 35.25 3.60 35.05 4.60500 0.2 46.13 3.24 46.57 3.65 46.09 4.03 45.39 5.08500 0.3 57.72 3.50 57.62 4.06 56.80 4.71 57.22 6.18500 0.4 70.41 4.10 70.59 4.77 70.55 5.40 71.36 7.37500 0.5 86.61 4.78 87.16 5.81 87.57 6.44 86.77 8.95500 0.6 109.83 6.21 110.18 7.35 110.01 8.18 110.73 11.33500 0.7 144.42 8.09 144.76 9.63 145.86 11.07 143.10 15.16500 0.8 204.26 11.94 203.85 14.35 205.44 16.36 203.71 22.51500 0.9 346.11 23.09 344.56 28.17 344.96 31.38 344.65 43.94600 0.1 36.78 3.17 37.10 3.62 36.60 4.01 36.40 5.35600 0.2 47.55 3.91 47.06 4.58 47.47 4.75 47.49 6.70600 0.3 59.43 4.02 58.64 4.72 58.91 5.28 58.70 7.25600 0.4 72.15 5.26 72.58 6.28 72.07 7.34 72.14 9.36600 0.5 90.12 5.94 91.31 7.02 89.93 7.98 89.73 11.00600 0.6 114.72 7.56 113.17 8.97 113.99 10.16 112.95 14.06600 0.7 151.13 10.03 150.90 12.10 152.04 13.78 151.13 18.99600 0.8 214.78 15.87 214.37 18.82 214.18 20.99 212.94 29.35600 0.9 366.85 28.76 366.50 34.71 365.85 39.08 367.88 55.56700 0.1 37.05 3.98 37.41 4.67 37.64 5.05 36.58 6.75700 0.2 48.30 4.29 47.95 4.93 48.78 5.69 48.42 7.56700 0.3 60.48 4.95 61.10 5.83 61.32 6.38 59.54 8.89700 0.4 75.05 5.83 74.72 6.90 74.11 7.99 74.58 10.90700 0.5 93.00 7.05 92.72 8.42 92.42 9.52 91.43 13.29700 0.6 117.82 8.89 118.16 10.61 116.80 12.09 117.48 17.02700 0.7 155.19 11.85 155.61 14.28 155.43 16.22 154.75 22.64700 0.8 222.00 17.60 220.81 21.35 221.43 24.23 223.02 34.05700 0.9 380.75 33.87 383.44 41.48 384.69 47.15 382.90 66.32800 0.1 37.39 4.35 37.84 5.03 38.01 5.48 38.02 7.23800 0.2 49.26 4.75 49.22 5.55 49.81 6.27 49.47 8.47800 0.3 61.14 6.21 60.94 6.93 61.19 8.16 61.65 10.52800 0.4 76.34 6.69 76.22 7.95 76.42 8.90 76.64 12.49800 0.5 94.12 8.17 94.68 9.80 95.01 11.03 94.01 15.49800 0.6 120.39 11.17 121.02 13.42 119.78 15.26 119.08 20.61800 0.7 161.15 13.66 158.37 16.58 159.74 19.00 158.23 26.61800 0.8 228.96 20.23 229.64 24.84 229.90 27.98 228.80 39.60800 0.9 394.26 39.00 394.60 47.84 396.46 54.72 395.03 77.90900 0.1 38.23 4.92 37.99 5.75 37.97 6.17 38.16 8.26900 0.2 49.89 5.44 50.45 6.33 49.80 7.14 49.98 9.73900 0.3 63.03 6.37 62.98 7.52 62.57 8.57 62.60 11.70900 0.4 78.44 7.56 77.86 9.11 77.85 10.28 77.90 14.19900 0.5 96.76 9.22 98.21 11.20 96.49 12.74 97.38 17.76900 0.6 124.41 11.73 123.76 14.20 123.80 16.10 123.19 22.65900 0.7 162.04 15.69 163.66 19.22 163.06 21.78 162.88 30.70900 0.8 234.05 23.23 233.99 28.48 233.72 32.20 233.53 45.53900 0.9 411.35 44.94 408.56 54.60 410.53 62.86 407.38 87.901000 0.1 38.66 5.52 38.36 6.27 38.56 6.88 38.78 9.201000 0.2 51.14 6.08 51.53 7.19 50.31 7.95 50.01 10.821000 0.3 64.45 7.14 64.11 8.40 63.64 9.53 64.25 12.931000 0.4 79.28 8.53 78.81 10.23 79.74 11.61 78.94 16.031000 0.5 99.57 10.44 99.32 12.49 97.74 14.29 99.05 19.851000 0.6 124.98 13.16 124.80 15.84 125.71 18.03 124.72 25.621000 0.7 165.98 17.33 166.25 21.19 166.14 24.30 165.61 34.221000 0.8 238.35 25.74 237.97 31.66 239.97 36.29 238.89 51.391000 0.9 417.22 50.24 417.15 61.66 418.79 70.85 419.02 83.785000 0.1 46.48 31.22 45.46 36.26 46.18 40.68 45.91 55.145000 0.2 60.94 34.31 61.04 40.85 61.20 46.48 62.37 65.295000 0.3 78.02 39.82 76.85 48.33 77.17 55.91 77.28 79.095000 0.4 98.11 48.15 96.43 58.92 97.12 68.32 97.23 85.585000 0.5 123.23 59.40 122.92 72.97 122.56 82.94 122.65 91.695000 0.6 158.92 75.52 159.45 88.83 159.88 93.16 158.33 96.925000 0.7 213.83 89.85 214.84 93.14 215.91 95.77 215.47 109.175000 0.8 315.70 99.17 314.40 106.43 317.27 111.55 316.88 133.395000 0.9 585.57 129.93 588.97 151.85 589.78 163.46 587.09 199.00