Диагностика (искусственный интеллект)
Диагностика — это направление в области искусственного интеллекта, связанное с разработкой алгоритмов и методов, позволяющих установить, корректно ли функционирует система. Если система работает неправильно, задача алгоритма — максимально точно определить, какая часть системы неисправна и в чём именно заключается сбой.[1] Диагностические вычисления основываются на наблюдениях, которые содержат информацию о текущем поведении системы[2].
Термин «диагностика» также может обозначать как сам ответ на вопрос о наличии или отсутствии неисправности в системе, так и процесс вычисления этого ответа. Слово происходит из медицинского контекста, где диагностика — это процесс определения заболевания по его симптомам.
Экспертная диагностика
Экспертная диагностика (или диагностика с помощью экспертной системы) опирается на накопленный опыт эксплуатации системы. На основе этого опыта строится сопоставление наблюдений конкретным диагнозам.[3]
Источниками опыта могут быть:
- Человеческий оператор. В этом случае знания оператора необходимо формализовать и перевести на язык, понятный компьютеру.
- Примеры поведения системы. Тогда эти примеры должны быть классифицированы как корректные или ошибочные (и в последнем случае с указанием типа неисправности). Для обобщения по примерам используются методы машинного обучения.
Главные недостатки таких методов заключаются в следующем:
- Сложность приобретения экспертных знаний. Такие знания обычно становятся доступны лишь после длительной эксплуатации системы (или аналогичных систем), поэтому методы плохо подходят для задач повышенной ответственности, связанных с безопасностью или критической миссией (например, на ядерных электростанциях или для космических роботов). Более того, никогда нельзя гарантировать полноту экспертных знаний, поэтому при возникновении ранее не встречавшегося поведения дать корректную диагностику невозможно.
- Сложность обучения. Построение экспертной системы вне режима реального времени требует значительных ресурсов по времени и памяти ЭВМ.
- Размер построенной экспертной системы. Поскольку система стремится соответствовать каждому возможному наблюдению, её размер может быть очень большим.
- Недостаточная устойчивость: даже небольшие изменения системы могут сделать прежние знания неактуальными и требуют повторного построения экспертной системы.
Существуют также подходы, при которых экспертная система строится по формальной модели системы, а не напрямую на основании экспертных знаний. Примером является вычисление диагностера для диагностики дискретных событийных систем. Такой подход относится к модельно-ориентированным, однако сочетает преимущества и некоторые недостатки экспертных систем.
Пример
Примером диагностики может служить работа автомеханика в гараже по определению неисправностей автомобиля. Механик сначала пытается выявить аномалии на основе наблюдений за машиной и своего опыта работы с подобными транспортными средствами. Если поведение машины кажется ему ненормальным, он уточняет свой диагноз с помощью дополнительных наблюдений или испытаний, пока не обнаружит неисправную деталь; роль человека в диагностике автомобиля зачастую ключевая.
Модельно-ориентированная диагностика
Модельно-ориентированная диагностика — пример абдуктивного вывода с использованием модели исследуемой системы. Общий принцип следующий:
Имеется модель, описывающая поведение системы (или устройства). Эта модель отражает упрощённое представление о поведении системы и может быть неполной. В частности, ошибочное поведение, как правило, изучено крайне ограниченно, и соответствующие модели неисправностей могут отсутствовать. На основании наблюдаемых данных система диагностики моделирует работу объекта и сравнивает фактические наблюдения с предсказанными с помощью моделирования.
Моделирование может быть упрощено с помощью следующих правил (где — предикат аномальности):
(модель неисправности)
Смысл этих формул состоит в следующем: если поведение системы не аномальное (т. е. нормальное), то внутреннее (ненаблюдаемое) поведение будет , а наблюдаемое — . В противном случае внутреннее поведение — , наблюдаемое — . Задача — по наблюдаемым данным определить, является ли поведение системы нормальным () или аномальным (). Это пример абдукции.
Диагностируемость
Система называется диагностируемой, если при любом её поведении можно однозначно установить диагноз без неоднозначности.
Вопрос диагностируемости играет важную роль при проектировании систем, поскольку, с одной стороны, число датчиков стремятся уменьшить ради снижения стоимости, а с другой — увеличивают для повышения вероятности обнаружения неисправностей.
Существует несколько классов алгоритмов для решения этих задач. Одни позволяют ответить на вопрос, диагностируема ли система, другие — находят наборы датчиков, позволяющие обеспечить диагностируемость и, при необходимости, оптимизируют их структуру по критериям (например, стоимости).
Диагностируемость системы, как правило, рассчитывается на основании её модели. В системах, использующих модельно-ориентированную диагностику, модель уже имеется и не требует дополнительного построения.
Примечания
Литература
- Hamscher, W. Readings in model-based diagnosis / W. Hamscher, L. Console, J. de Kleer. — San Francisco, CA, USA : Morgan Kaufmann Publishers Inc, 1992. — ISBN 1-55860-249-6.