研究概要 |
Field Programmable Gate Array(FPGA)に代表されるプログラム可能論理デバイス(programmable logic device, PLD)は、チップのマスクパターンを変更することなく任意のハードウェアを繰り返し実現可能な集積回路であり、近年は1000万ゲート規模で1GHzのクロック周波数で動作可能なFPGAも出現している。PLDの持つハードウェアでありながらプログラマブルであるという特性を生かすことで、PLDは従来の逐次コンピュータ上で動作するソフトウェアや専用ハードウェアによる問題解法とは異なる新しい問題解決の手段となることが期待されている。本研究はこのようなPLDを用いた新しい問題解法の確立を目的として、PLDを用いて複雑で大規模な最適化問題に対する解を高速に得るためのハードウェア解法について研究した。具体的には、NP-困難な組合せ最適化問題に対し、与えられた問題の具体的な入力(インスタンス)を解析し、インスタンス解析とハードウェア回路の生成に必要な計算時間と、生成されたハードウェア回路の実行時間のトレードオフを考慮しながら、インスタンスに最適化したハードウェア回路を自動生成する手法を考察した。本研究ではグラフ上で定義されるNP-困難な組合せ問題を対象とし、最大クリーク問題、最小被覆問題、最小支配集合問題に対してそれぞれハードウェア解法を提案し、実際にFPGA上に実現して、従来手法であるソフトウェア解法と比較した。与えられたグラフのインスタンスからそのインスタンスに特化した専用ハードウェアの回路記述を自動生成するプログラムを開発した。評価実験の結果、提案手法はソフトウェア解法と比較して数100倍以上高速であり、提案解法は十分に実用的であることがわかった。また、回路規模が増大した場合に、複数のFPGAを用いてどのように回路を実現するかについても考察した。得られた研究成果は関運学会の研究会、シンポジウム等で発表した。
|