Системы, основанные на знаниях
На начальном этапе исследований по искусственному интеллекту возникло всеобщее убеждение, что за интеллектуальным поведением человека скрываются его знания об окружающем мире. Речь идет о знаниях, которыми обладают специалисты профессионалы.
Интеллектуальная система, основанная на знаниях, представляет собой такую систему, в которой с помощью логического вывода знания применяются к решению поставленных задач.
Экспертные системы отличаются от традиционных вычислительных пакетов программ тем, как они организованы. С традиционных позиций программы представляет собой процедуру и данные.
Общее представление о работе экспертной системы показано на рисунке 6.2.
Экспертные системы содержат в базе данных три различных модуля:
факты о признаках конкретной ситуации
правила относящиеся к области экспертизы
правила работы с «экспертными правилами» или «машина вывода»
Схема работы экспертной системы.

Рисунок 6.2
Архитектура экспертных систем
Если компьютерной программе предстоит выполнить задачу эксперта, то она нуждается в большом объеме знаний, позволяющих решать сложные проблемы, подобно тому, как это делает человек. Система должна быть тщательно организована. В общем случае знания разделяются на три типа:
Фактические (декларативные) знания. Этот вид знаний представляет собой информацию о конкретном случае, обычно собираемую посредством диалога с пользователем, который указывает какие факты следует считать справедливыми в настоящее время. Важно то, как представлена эта информация, поскольку сама структура представления также информативна. Структуру представления следует выбирать в зависимости от содержания знаний.
Процедурные знания. Эти знания обычно собираются заранее путём опроса специалиста в данной предметной области и составляют ядро базы знаний. Они используются также в блоке рассуждения системы, позволяя потом выводить следствия. Процедурные знания дают возможность при необходимости генерировать и факты. Таким образом, фактические и процедурные знания тесно переплетаются. Кроме того, в ходе работы системы приходится принимать решения, какие из тех правил следует использовать.
Управляющие знания. Системе должен быть предусмотрен некоторый набор стратегий, чтобы можно было рассматривать альтернативные возможности в ходе работы, переход при неудаче от одной стратегии к другой.
Системы продукций представляют собой конкретный метод организации программ в виде совокупностей трех групп, указанных выше. Каждая группа рассматривается отдельно, поэтому такую систему легко понять и с ней легко работать.
База данных (БД)
Список порождающих правил (ПП)
Метод выбора, какое порождающее правило следует применить при данном состоянии базы данных
Каждое порождающее правило (продукция) имеет форму ЕСЛИ (условие), ТО (действие) или, возможно, форму ЕСЛИ (условие), ТО (действие 1), В ПРОТИВНОМ СЛУЧАЕ (действие2). При этом процедуры сопоставления с образцом определяет, является ли данное правило применимым вообще.
Условная часть продукции сопоставляется с имеющейся базой данных. Если процесс сопоставления заканчивается успешно, то всем переменным, входящим в образец, то есть переменным из условной части некоторого порождающего правила, придаются определенные значения из БД, которые обеспечивают сопоставимость. В дальнейшем эти значения будут использоваться в части, соответствующей действию того же самого порождающего правила. Эта часть может быть произвольной процедурой, которая запускается только при условии успешного сопоставления и если данная продукция была выбрана управляющим механизмом. Все изменения могут быть осуществлены посредством двух элементарных функций - добавления и удаления. В начале работы системы запускается некоторое простое правило, которое обеспечивает сбор информации о рассматриваемом случае и вносит ее в базу данных. В дальнейшем система действует по простому принципу: «выбери продукцию - примени соответствующие действия». Централизованная база данных является сосредоточием активности системы, причем программист должен внести в систему потенциально весьма сложные стратегии управления, которые позволят избежать столь естественной неупорядоченности в работе системы, поведут ее по верному пути к успешному решению поставленной задачи. Самый распространенный способ как «запуска» системы продукций, так и «управления» ею состоит в использовании механизмов, названных «демонами».
Существует три возможные разновидности демонов, а именно «если-добавлено», «если-удалено» и «если необходимо». Демоны запускаются в работу путем добавления их в базу данных. Как правило, демоны вида «если-добавлено» будут использоваться для проведения прямых логических дедукций, осуществляемых автоматически, если стали известны некоторые дополнительные факты. Демоны вида «если-удалено» запускаются функцией удаления. Эти демоны представляют по смыслу полную противоположность демонам «если-добавлено», но работают в значительной степени точно таким же образом. Как правило, демоны «если-удалено» используются для удаления из БД тех явных дедукций, которые были сделаны демонами «если-добавлено», как только те вещи, которые вызывали эти дедукции, были удалены из БД (что необходимо для поддержания согласования БД). Демоны «если-необхолдимо» используются для проведения дедукции в обратном направлении.
Большую часть БД составляют правила, которые запускаются путем сопоставления с соответствующими признаками, характеризующими данную задачу, и которые могут добавляться, модифицироваться или изыматься пользователем. Базу данных такого специального типа обычно называют базой знаний.
Для взаимодействия пользователя с экспертной системой существует три режима, в отличие от единственного режима взаимодействия (получение ответов на поставленные задачи), типичного для более привычных вычислительных систем:
получение решений поставленных задач - пользователь как потребитель
усовершенствование или наращивание знаний системы - пользователь как учитель
извлечение пользы для человека из базы знаний - пользователь как ученик
