Разработка экспертной системы имеет существенные отличия от разработки обычного программного продукта. Опыт создания экспертных систем показал, что использование при их разработке методологии, принятой в традиционном программировании, либо чрезмерно затягивает процесс создания экспертной системы, либо вообще приводит к отрицательному результату.
Перед тем как приступить к разработке экспертной системы, инженер по знаниям должен рассмотреть вопрос, следует ли разрабатывать экспертную систему для данной проблемы. В обобщенном виде ответ может быть таким: использовать экспертную систему следует только тогда, когда ее разработка возможна, оправдана и методы инженерии знаний соответствуют решаемой задаче. Ниже будут уточнены использованные понятия «возможно», «оправдано» и «соответствие».
Чтобы разработка экспертной системы была возможной, необходимо одновременное выполнение по крайней мере следующих требований:
- наличие экспертов в данной предметной области;
- эксперты способны выразить на естественном языке и объяснить используемые ими методы, в противном случае трудно рассчитывать на то, что знания экспертов будут «извлечены» и вложены в экспертную систему;
- задача хотя и не должна быть выражена в формальном виде, но все же должна относиться к достаточно «понятной» и структурированной области, т.е. должны быть выделены основные понятия, отношения и известные (хотя бы эксперту) способы получения решения задачи;
- решение задачи не полагается в значительной степени на использование так называемого «здравого смысла» (широкий спектр общих сведений о мире и о способе его функционирования, которые знает и умеет использовать любой нормальный человек), так как подобные знания пока не удается в достаточном количестве вложить в системы искусственного интеллекта.
Использование экспертной системы может быть возможно, но не оправдано. Применение экспертной системы может быть оправдано одним из следующих факторов:
- решение задачи принесет значительный эффект, например экономический;
- использование человека-эксперта невозможно либо из-за недостаточного количества экспертов, либо из-за необходимости выполнять экспертизу одновременно в различных местах;
- при передаче информации эксперту происходит недопустимая потеря времени или информации;
- существует необходимость решать задачу в окружении, враждебном для человека.
Решаемая задача соответствует методам экспертных систем, если обладает совокупностью следующих характеристик:
- задача имеет эвристическую, а не алгоритмическую природу, т.е. ее решение должно требовать применения эвристических правил. Задачи, которые могут быть гарантированно решены с помощью некоторых формальных процедур, не подходят для применения экспертных систем;
- решаемая задача задача может быть естественным образом решена посредством манипуляции с символами, а не с числами, как принято в математических методах и в традиционном программировании;
- задача должна быть достаточно узкой, чтобы решаться методами экспертных систем, и практически значимой.