Loading article…
ソルバーとは、数学的な問題を「解く」ための数学ソフトウェアの一種であり、スタンドアロンのコンピュータプログラム、あるいはソフトウェアライブラリの形態をとる場合がある。ソルバーは、何らかの汎用的な形式で記述された問題記述を受け取り、その解を計算する。ソルバーにおいては、類似したタイプの他の問題にも容易に適用できるプログラムまたはライブラリを作成することに重点が置かれる。
既存の専用ソルバーで解決できる問題の種類は以下のとおりです。
汎用問題解決器(GPS)は、1957年にハーバート・サイモン、JC・ショー、アレン・ニューウェルによって作成された、汎用問題解決器として機能することを目的としたコンピュータプログラムです。理論的には、適切な入力構成が与えられれば、記号体系で形式化できるあらゆる問題を解決できます。これは、問題に関する知識(ドメインルールの形式)と、問題を解決する方法(汎用検索エンジンとしての機能)を分離した最初のコンピュータプログラムでした。
汎用ソルバーは通常、GPSに似たアーキテクチャを使用して、問題の定義と解決戦略を分離します。この分離の利点は、ソルバーが特定の問題インスタンスの詳細に依存しないことです。汎用ソルバーが使用する戦略は、完全性のみを目標とする汎用アルゴリズム(一般的にはバックトラッキングに基づく)に基づいていました。これは指数関数的な計算時間を招き、その実用性を著しく制限します。現代のソルバーは、問題の構造を活用するより特化したアプローチを採用し、バックトラッキングに費やす時間を最小限に抑えています。
特定の種類の問題(例えば、非線形方程式系)に対しては、通常、複数のアルゴリズムが利用可能です。一部のソルバーは、複数のアルゴリズムを実装しています。