4) Стоимость. Эксперты, особенно высококвалифицированные обходятся очень дорого. ЭС, наоборот, сравнительно недороги. Их разработка дорога, но они дёшевы в эксплуатации.
Вместе с тем разработка ЭС не позволяет полностью отказаться от эксперта-человека. Хотя ЭС хорошо справляется со своей работой, тем не менее, в определённых областях человеческая компетенция явно превосходит искусственную. Однако и в этих случаях ЭС может позволить отказаться от услуг высококвалифицированного эксперта, оставив эксперта средней квалификации, используя при этом ЭС для усиления и расширения его профессиональных возможностей.
В работе ЭС можно выделить два основных режима: режим приобретения знаний и режим решения задачи (режим консультации или режим использования). В режиме приобретения знаний общение с ЭС осуществляет эксперт (при помощи инженера знаний).
Используя компонент приобретения знаний, эксперт описывает проблемную область в виде совокупности фактов и правил. Другими словами, "наполняет" ЭС знаниями, которые позволяют ей самостоятельно решать задачи из проблемной области.
Этому режиму при традиционном подходе к программированию соответствуют этапы: алгоритмизации, программирования и отладки, выполняемые программистом. Таким образом, в отличие от традиционного подхода в случае ЭС разработку программ осуществляет не программист, а эксперт, не владеющий программированием.
В режиме консультаций общение с ЭС осуществляет конечный пользователь, которого интересует результат и (или) способ его получения. Необходимо отметить, что в зависимости от назначения ЭС пользователь может:
1) не быть специалистом в данной предметной области, и в этом случае он обращается к ЭС за результатом, который не умеет получить сам;
2) быть специалистом, и в этом случае он обращается к ЭС с целью ускорения получения результата, возлагая на ЭС рутинную работу.
Следует отметить, что в отличие от традиционных программ ЭС при решении задачи не только исполняют предписанную алгоритмом последовательность операций, но и сама предварительно формирует её.
Хорошо построенная ЭС имеет возможность самообучаться на решаемых задачах, пополняя автоматически свою БЗ результатами полученных выводов и решений.
Особенности ЭС, отличающие их от обычных программ, заключаются в том, что они должны обладать:
1) Компетентностью, а именно:
а) Достигать экспертного уровня решений (то есть в конкретной предметной области иметь тот же уровень профессионализма, что и эксперты-люди);
б) Быть умелой (то есть применять знания эффективно и быстро, избегая, как и люди, ненужных вычислений);
в) Иметь адекватную робастность (то есть способность лишь постепенно снижать качество работы по мере приближения к границам диапазона компетентности или допустимой надёжности данных).
2) Возможностью к символьным рассуждениям, а именно:
а) Представлять знания в символьном виде;
б) Переформулировать символьные знания. На жаргоне искусственного интеллекта символ — это строка знаков, соответствующая содержанию некоторого понятия. Символы объединяют, чтобы выразить отношения между ними. Когда отношения представлены в ЭС они называются символьными структурами.
3) Глубиной, а именно:
а) Работать в предметной области, содержащей трудные задачи;
б) Использовать сложные правила (то есть использовать либо сложные конструкции правил, либо большое их количество).
4) Самосознанием, а именно:
а) Исследовать свои рассуждения (то есть проверять их правильность);
б) Объяснять свои действия.
Существует ещё одно важное отличие ЭС. Если обычные программы разрабатываются так, чтобы каждый раз порождать правильный результат, то ЭС разработаны с тем, чтобы вести себя как эксперты. Они, как правило, дают правильные ответы, но иногда, как и люди, способны ошибаться.
Традиционные программы для решения сложных задач, тоже могут делать ошибки. Но их очень трудно исправить, поскольку алгоритмы, лежащие в их основе, явно в них не сформулированы. Следовательно, ошибки нелегко найти и исправить. ЭС, подобно людям, имеют потенциальную возможность учиться на своих ошибках.
Технология их разработки ЭС, включает в себя шесть этапов (Рисунок 30): этапы идентификации, концептуализации, формализации, выполнения, тестирования, опытной эксплуатации. Рассмотрим более подробно последовательности действий, которые необходимо выполнить на каждом из этапов.
1) На этапе идентификации необходимо выполнить следующие действия:
а) определить задачи, подлежащие решению и цели разработки;
б) определить экспертов и тип пользователей.
2) На этапе концептуализации:
а) проводится содержательный анализ предметной области;
б) выделяются основные понятия и их взаимосвязи;
в) определяются методы решения задач.
3) На этапе формализации:
а) выбираются программные средства разработки ЭС;
б) определяются способы представления всех видов знаний;
в) формализуются основные понятия.
4) На этапе выполнения (наиболее важном и трудоёмком) осуществляется наполнение экспертом БЗ, при котором процесс приобретения знаний разделяют:
а) на "извлечение" знаний из эксперта;
б) на организацию знаний, обеспечивающую эффективную работу ЭС;
в) на представление знаний в виде, понятном для ЭС.
Процесс приобретения знаний осуществляется инженером по знаниям на основе деятельности эксперта.
5) На этапе тестирования эксперт и инженер по знаниям с использованием диалоговых и объяснительных средств проверяют компетентность ЭС. Процесс тестирования продолжается до тех пор, пока эксперт не решит, что система достигла требуемого уровня компетентности.
6) На этапе опытной эксплуатации проверяется пригодность ЭС для конечных пользователей. По результатам этого этапа возможна существенная модернизация ЭС.
Процесс создания ЭС не сводится к строгой последовательности этих этапов, так как в ходе разработки приходится неоднократно возвращаться на более ранние этапы и пересматривать принятые там решения.
4.2 Представление знаний в экспертных системах
При построении ЭС с особой остротой встал вопрос о том, какие знания должны быть в них представлены и в какой форме. Структура знаний зависит от сферы их использования и может быть довольно сложной. Существуют несколько моделей представления знаний, из которых мы выделим четыре: логические исчисления, фреймы, семантические сети и продукционные системы.
4.2.1 Логические исчисления
В основе логических моделей [18] лежит понятие формальной теории, задаваемой четверкой: S=< B, F, A, R>.
Здесь B - счетное множество базовых символов (алфавит теории S). Конечные последовательности базовых символов называются выражениями теории S.
F - подмножество выражений теории S, называемых формулами теории. Обычно имеется эффективная процедура построения выражений, являющихся формулами. Можно эту процедуру рассматривать как множество синтаксических правил, позволяющих строить из B синтаксически правильные выражения, то есть формулы.
A - выделенное множество формул, называемых аксиомами теории S, то есть множество априорно истинных формул.
R - конечное множество отношений
между формулами, называемых правилами вывода. Для каждого существует целое положительное число j такое, что для каждого множества, состоящего из j формул, и для каждой формулы f эффективно решается вопрос о том, находятся ли данные j формул в отношении с формулой f. Если отношение выполняется, то f называется непосредственным следствием данных формул по правилу .Следствием (выводом) формулы
в теории S называется всякая последовательность формул такая, что для любого i формула есть либо аксиома теории S, либо непосредственное следствие каких-либо предыдущих формул по одному из правил вывода. Правила вывода позволяют расширять множество формул, которые считаются истинными в рамках данной теории. Формальная теория называется разрешимой, если существует единая эффективная процедура, позволяющая узнать для любой данной формулы, существует ли ее вывод в S.Формальная система S называется непротиворечивой, если не существует формулы A такой, что A и
выводимы в S.Наиболее распространенной формальной системой, используемой для представления знаний, является исчисление предикатов.
Алфавит исчисления предикатов состоит из следующего набора символов:
1) знаков пунктуации {(,).};
2) пропозициональных связок {
};3) знаков кванторов {
};4) символов переменных
, k=1,2,...;