FPGAに代表されるプログラム可能論理デバイスを用いて、複雑で大規模な組合せ問題に対する解を高速に求めるためのハードウェア解法について研究を行った。以下に、本年度の研究の概要を示す。 1.グラフの最大クリークを求めるハードウェアアルゴリズムの提案 NP-困難な組合せ問題として、無向グラフの最大クリークを求める問題に注目し、最大クリーク問題を解くハードウェアアルゴリズムを開発した。提案アルゴリズムは与えられたグラフのインスタンスに基づいて構成され、分枝限定法に基づく解探索により最大クリークを効率よく求めることができる。 2.提案アルゴリズムのハードウェア設計 提案アルゴリズムはハードウェアによる実現を前提として、並列処理とパイプライン処理により効率のよい分枝限定を実現している。与えられたグラフの仕様からハードウェア解法のVerilog-HDL記述を自動的に生成するプログラムをPerl言語を用いて開発した。生成されたHDL記述はFPGA設計システムによりゲートレベル回路に変換され、さらにFPGAのコンフィギュレーションデータに変換されてFPGA評価ボード上で実行される。 3.FPGA評価ボード上での実現と評価 提案アルゴリズムをFPGA評価ボード上に実装して実行時間を実測し、ソフトウェアによる解法と比較した。実験の結果、提案解法はソフトウェア解法と比較して、データによっては1000倍以上高速に解を求めることができ、提案手法の有効性を示すことができた。
|