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