عیب‌یابی (هوش مصنوعی)
به عنوان یک زیرشاخه در هوش مصنوعی، عیب‌یابی به توسعه الگوریتم‌ها و تکنیک‌هایی می‌پردازد که قادر به تعیین درستی رفتار یک سیستم هستند. اگر سیستم به درستی کار نمی‌کند، الگوریتم باید بتواند تا حد ممکن به صورت دقیق تشخیص دهد که کدام بخش از سیستم از کار افتاده و همچنین با کدام نوع خطا مواجه است. محاسبات الگوریتم بر اساس "مشاهداتی است" که اطلاعاتی را در مورد رفتار سیستم ارائه می‌دهد.
عبارت "تشخیص یا عیب‌یابی" به این سوال پاسخ می‌دهد که آیا سیستم دچار مشکل است یا خیر و همچنین به فرایند محاسبه پاسخ اشاره دارد. این کلمه از علم پزشکی می‌آید که در آن تشخیص، فرایند شناسایی یک بیماری با علائم آن است.
به عنوان مثالی از عیب‌یابی، یک مکانیک را به همراه یک خودرو در نظر بگیرید. در ابتدا مکانیک سعی می‌کند هر گونه رفتار غیرعادی بر اساس مشاهدات و دانش قبلی خود از این نوع خودرو را تشخیص دهد. اگر متوجه هر گونه رفتار غیرعادی شود، سعی می‌کند با استفاده از مشاهدات جدید و آزمایش سیستم خودرو، تشخیص خود را بهبود دهد تا زمانی که قطعه معیوب را پیدا کند؛ مکانیک نقش مهمی را در عیب‌یابی خودرو دارد.
عیب‌یابی تخصصی (یا تشخیص توسط سیستم خبره) بر اساس تجربه با سیستم است. با استفاده از این تجربه، نگاشتی صورت می‌گیرد که به طور موثر مشاهدات را به تشخیص‌های مربوطه مرتبط می‌کند.
تجربه از طریق مسیرهای زیر فراهم می‌گردد:
اشکالات اصلی این روش‌ها عبارتند از:
به عنوان یک راهکاری که تا حدی متفاوت است، به جای استفاده مستقیم از تخصص، می‌توان یک سیستم خبره با استفاده از مدلی از سیستم ساخت. یک مثال برای این حالت محاسبه یک تشخیص‌دهنده برای تشخیص سیستم‌هایی با رویداد گسسته‌ است. این رویکرد را می‌توان مبتنی بر مدل دانست، اما از برخی مزایا و معایب رویکرد سیستم خبره برخوردار می‌باشد.
تشخیص مبتنی بر مدل، نمونه‌ای از استدلال ربایشی با استفاده از مدلی از سیستم می‌باشد. به‌طور کلی به صورت زیر عمل می‌کند:
ما مدلی داریم که رفتار سیستم (یا محصول) را توصیف می‌کند. مدل مذکور، خلاصه‌ای از رفتار سیستم است و می‌تواند ناقص باشد. به‌طور خاص، رفتار معیوب معمولاً شناخته شده‌ نیست و بنابراین مدل آن ممکن است نشان داده نشود. با توجه به مشاهدات، سیستم تشخیص، سیستم بدست آمده با استفاده از مدل را شبیه‌سازی می‌کند و مشاهدات واقعی را با مشاهدات پیش‌بینی شده با استفاده از شبیه‌سازی مقایسه می‌کند.
مدل‌سازی را می‌توان با قوانین زیر ساده کرد (که در آن formula_1 پیش‌بینی رفتار غیرعادی است):
formula_2
(مدل اشتباه) formula_3
معنای این فرمول‌ها مطابق توضیحات زیر می‌باشد: اگر رفتار و عملکرد سیستم غیرعادی نباشد (یعنی عادی باشد)، پس رفتار درونی (غیرقابل مشاهده) formula_4 و رفتار قابل مشاهده formula_5 خواهد بود. در غیر این صورت، رفتار درونی formula_6 و رفتار قابل مشاهده formula_7 می‌باشد. با توجه به مشاهدات formula_8، مسئله مشخص شدن این مورد است که رفتار سیستم عادی است یا خیر (formula_9 یا formula_10). این نمونه‌ای از استدلال ربایشی است.
سیستم قابل تشخیص سیستمی است که رفتار سیستم هرچه که باشد، بتوانیم بدون ابهام تشخیص منحصر به فردی ارائه کنیم.
مشکل تشخیص‌پذیری هنگام طراحی یک سیستم بسیار مهم است زیرا از یک طرف ممکن است یک نفر بخواهد تعداد سنسورها را برای کاهش هزینه کم کند و از طرف دیگر ممکن است بخواهد تعداد سنسورها را افزایش دهد تا احتمال تشخیص خرابی سیستم افزایش یابد.
چندین الگوریتم برای مقابله با این مشکلات وجود دارد. یک دسته از این الگوریتم‌ها به این سؤال پاسخ می‌دهند که آیا یک سیستم قابل تشخیص است یا خیر. دستهٔ دیگر به دنبال مجموعه‌ای از حسگرها می‌گردند که سیستم را قابل تشخیص می‌کند و به صورت اختیاری می‌توانند با معیارهایی مانند بهینه‌سازی هزینه تطابق داشته باشند.
به‌طور کلی قابلیت تشخیص یک سیستم از روی مدل سیستم محاسبه می‌شود. در برنامه‌هایی که از تشخیص مبتنی بر مدل استفاده می‌کنند، چنین مدلی از قبل وجود دارد و نیازی به ساخت مجدد آن نیست.DX یک کارگاه بین‌المللی سالانه در رابطه با اصول تشخیص است که از سال ۱۹۸۹ آغاز شده‌است.