AI用語事典
ヒューリスティック
heuristics
ヒューリスティクスとは「経験則の」「試行錯誤的な」という意味で、計算機科学において、答えの精度はそう高くない(必ずしも正解を導き出せるわけではない)が、ある程度正答に近い答えを出せる方法のこと。IT業界では主にコンピューターにシミュレーションや計算をさせる時用いられる。
例えば「決まったアルゴリズムなら確実な結果を出せるが、正しい解にたどり着くためには膨大な手順や計算が必要だ」という時や、新種のウイルス発見をはじめとして既存のデータを参考にできない目的がある時には、このヒューリスティクスという手法が最適である。
ウイルス検知が目的である場合、従来の検出法である「パターンマッチング」を使用しないのが特徴。双方には以下のような違いがある。
・パターンマッチング……プログラムコードの中にウイルスの特徴を持ったコードが存在するかを見て、該当するとひとつの「パターン」として記録する。それをセキュリティソフトに読み込んで内部のファイルと照合することでウイルスをあぶり出す方法。ただし、あらかじめウイルスのデータが必要なので、従来にはない特徴をもったウイルスには通用しないのが難点である。
・ヒューリスティクス……あらかじめウイルスが取るかもしれない挙動を登録しておき、それをプログラムコードに含まれる特徴と比較する。仮想的な環境でウイルスの危険性があるプログラムを動作させて判定するというソフトも。ただし、あくまでも仮定的なものなので誤検出もあり得るのが難点とされる。
また、心理学においては「経験則」と同義の意味として扱われている。何らかの意思決定を行う際に実体験を基にして判断することであり、スピーディーに物事を解決できるのが利点だが、必ずしも正しいとは限らない。感情が含まれるか否かの違いだけで、コンピューターに使われるヒューリスティクスと人間に使われるヒューリスティクスはほぼ同じ意味をもつと言って良いだろう。
ヒューリスティックスはその適用範囲が特定の問題限定だが、メタヒューリスティックスはどんな問題にも適用可能で、最適化問題におけるアルゴリズムとして、注目度が高まっている。
AI用語解説:×AI編集部監修