人工知能の一分野である診断は、システムの動作が正しいかどうかを判断できるアルゴリズムと技術の開発に関わるものです。システムが正しく機能していない場合、アルゴリズムは、システムのどの部分に不具合が生じているのか、またどのような種類の障害が発生しているのかを、可能な限り正確に特定できる必要があります。この計算は、現在の動作に関する情報を提供する観測データに基づいて行われます。
「診断」という表現は、システムが誤作動しているかどうかという問いへの答え、およびその答えを算出するプロセスも指します。この言葉は医学の文脈に由来し、診断とは症状から病気を特定するプロセスを指します。
診断の一例として、自動車整備士が自動車を点検するプロセスが挙げられます。整備士はまず、車両の状態を観察し、その車種に関する知識に基づいて異常な挙動がないかを確認します。異常な挙動が見つかった場合、整備士は新たな観察結果を得たり、システムをテストしたりして診断を絞り込み、最終的に故障箇所を特定します。このように、整備士は車両診断において重要な役割を果たします。
専門家による診断(またはエキスパートシステムによる診断)は、システムに関する経験に基づいて行われます。この経験を利用して、観測結果とそれに対応する診断結果を効率的に関連付けるマッピングが構築されます。
提供可能な体験は以下のとおりです。
これらの方法の主な欠点は以下のとおりです。
やや異なるアプローチとして、専門知識から直接ではなく、システムのモデルからエキスパートシステムを構築する方法があります。例えば、離散イベントシステムの診断のための診断器の計算などが挙げられます。このアプローチはモデルベースと見なすことができますが、エキスパートシステムのアプローチの利点と欠点の両方を持ち合わせています。
モデルベース診断は、システムのモデルを用いたアブダクション推論の一例です。一般的に、その仕組みは以下のとおりです。

システム(または人工物)の挙動を記述するモデルがあります。このモデルはシステムの挙動を抽象化したものであり、不完全な場合があります。特に、不具合のある挙動は一般的にあまり知られていないため、不具合のあるモデルが表現されていない可能性があります。診断システムは、システムの観測結果に基づいてモデルを用いてシステムをシミュレーションし、実際に得られた観測結果とシミュレーションによって予測された観測結果を比較します。
モデリングは、次のルールによって簡略化できます(Abは正規述語です):
(故障モデル)
これらの式のセマンティクスは次のとおりです。システムの挙動が異常でない場合(つまり、正常な場合)、内部(観測不可能な)挙動は次のようになります。そして、観察可能な挙動そうでなければ、内部動作はそして、観察可能な挙動観察結果を考慮すると問題は、システムの動作が正常かどうかを判断することです(またはこれはアブダクション推論の一例です。
システムが診断可能であるとは、システムの挙動がどのようなものであっても、曖昧さなく一意の診断を下すことができる場合をいう。
システムの設計において、診断可能性の問題は非常に重要です。なぜなら、一方ではコスト削減のためにセンサーの数を減らしたい場合があり、他方では、故障動作を検出する確率を高めるためにセンサーの数を増やしたい場合があるからです。
これらの問題に対処するためのアルゴリズムはいくつか存在する。あるアルゴリズム群は、システムが診断可能かどうかを判定するものであり、別のアルゴリズム群は、システムを診断可能にするセンサー群を探し出し、さらにコスト最適化などの基準を満たすものもある。
システムの診断可能性は、一般的にシステムのモデルから算出されます。モデルベース診断を用いるアプリケーションでは、そのようなモデルは既に存在するため、一から構築する必要はありません。
DXは、1989年に始まった、診断の原則に関する年次国際ワークショップです。