本年度は、遅延時間の短い列挙アルゴリズムの構築を目指し、以下の列挙問題についてアルゴリズムの研究を行った。 1つ目は入力したグラフ含まれる極大なクリークの列挙である。既存の研究では頂点数×枝数に比例した遅延時間が必要であったが、これを最大次数の4乗とすることに成功した。疎なグラフにおいて効率的なアルゴリズムとなっている。クリークはデータマイニングやクラスタリングなどの分野に応用があり、それらの分野では疎なグラフが多く扱われるため、応用上有益である。 2つ目は自由木の列挙である。自由木とは根を持たない木のことであり、グラフとして同型な木は同一視し、与えられたnに対して頂点数nの全ての自由木を列挙する問題である。既存研究では、n^2時間程度の遅延時間がかかっていたが、今回の研究により、遅延時間を定数にすることができた。このアルゴリズムは、簡単な改良により頂点数1からnの木や、頂点数nの根付き木、ラベルのついた木などを列挙できるため、データマイニングの頻出木構造発見問題に適用でき、効率的なアルゴリズムを構築できる。 3つ目は、コードレスサイクルの列挙である。グラフの頂点集合で、誘導する部分グラフがサイクルになるものをコードレスサイクルといい、与えられたグラフに対して、そのグラフに含まれるコードレスサイクルを全て列挙するアルゴリズムを構築した。計算時間は、通常のサイクルの列挙と同じ計算量にすることに成功した。遅延時間も同じ計算料となった。なお、この問題に対する既存の研究はない。 また、これらの研究から、遅延時間を短縮する基礎的な方法が開発された。この方法を用いると各種列挙アルゴリズムの遅延時間を短縮することができる。この結果については、次年度にまとめる予定である。
|