エキスパートシステム
エキスパートシステムは、その原理(知識工学)が70年前からあったにもかかわらず、成功は限定的だった。専門家の知識は定式化できないことが多く、定式化してみると規則間で矛盾していたりする。推論エンジンの能力も低いことが多く、結果としてエキスパートシステムを実動させてみると満足な結果が得られず、プロジェクトが中止になることも多かった。正しい開発方法論でこの問題を緩和できる。専門家にインタビューして、ひとつずつ規則を追加していき、同時にその専門家にエキスパートシステムの実行結果を示すことで規則群の一貫性を保つソフトウェアが存在する。それにより、専門家と利用者がソフトウェアの品質を完成前にチェックできる。
そのような精巧化は発展しづらく、まだ不完全である。
エキスパートシステムは、組み合わせが膨大となるような領域でうまく機能する。
高度な対話・会話型アプリケーション。自動音声応答装置、音声サーバ、人工無脳
障害診断、医療診断
複雑系、プロセス制御、対話型マニュアルなどでの意思決定支援
教育ソフトウェア
機械やシステムの論理シミュレーション
ナレッジマネジメント
常に変化し続けるソフトウェア
エキスパートシステムと伝統的な問題解決プログラムの間の重大な違いは、問題に関する専門知識がコード化される方法である。伝統的なアプリケーションの中では、問題に関する専門知識はプログラムとデータ構造の両方で符号化される。エキスパートシステム的手法では、関連した専門知識は全てデータ構造だけに符号化され、プログラムの中にはない。いくつかの利点はこのような構成手法によるものである。