Автор работы: Пользователь скрыл имя, 10 Ноября 2012 в 18:09, контрольная работа
Преимущество такой адаптивной информационной системы состоит в том, что можно редактировать базу знаний и влиять на работу системы в целом (изменять критические алгоритмы или данные, которые участвуют при выборе решения). Структура интеллектуальной части системы является универсальной и не зависит от её наполнения. Следовательно, эту часть системы можно использовать в разных адаптивных информационных системах без каких-либо изменений.
Тогда Qïï представлено в формуле (3).
Предложение (3) выражает то, что (Вид_работы, Доп_сведения), взятые вместе, являются ключом отношения вид_работы_ставка в формуле (2). Если использовать аналогию с описанием баз данных, то Qïï соответствует описанию функциональных зависимостей отношений, записанных в Qï.
При описании Qïï использовался синтаксис языка логического программирования Пролог. Согласно этому синтаксису имена отношений, функций и констант пишутся малыми буквами, а имена переменных начинаются с заглавных букв. Знак :- является символом импликации, но записанной справа налево (¬); запятая служит символом конъюнкции [5, 6]. Предложение (3) является примером правила. В правилах неявно предполагается, что все переменные связаны квантором ".
Предложения пролога состоят из головы (В) и тела (А), А®В. Тело – это список целей, разделённых логической связкой. Также в Прологе предложения бывают трёх типов: факты, правила и вопросы.
Факты содержат утверждения, которые являются всегда безусловно верными. Они имеют пустое тело.
Правила содержат утверждения, истинность которых зависит от некоторых условий. Правила имеют голову и (непустое) тело.
С помощью вопросов пользователь может спрашивать систему о том, какие утверждения являются истинными. Вопросы имеют только тело [5, 6].
Qï и Qïï вместе предоставляют средства для описания логической модели предметной области, хранимой в базе знаний. Используя их, можно осуществлять проверку правильности введения новых фактов в базу знаний.
На основе описания Qï и Qïï заполним предикатную базу данных следующими фактами (4).
(4) |
Таким образом, в предикатной базе данных (рис. 2) находятся пять фактов. Одинарные кавычки означают, что данное выражение является атомом (значением из множества «Вид_работы»).
Теперь опишем систему правил Qïïï. Для простоты правила будут иметь вид А®В:
|
(5) |
|
(6) |
|
(7) |
|
(8) |
|
(9) |
|
(10) |
|
(11) |
Формула (5) означает, что для всех X и Y, Y является максимальной ставкой работника X, если Y1 – максимальная ставка работника X по базе фактов и Y2 – максимальная ставка работника X по базе правил и Y равен минимальному значению из Y1 и Y2.
Формула (6) означает, что для всех X и Y1, Y1 является максимальной ставкой по базе фактов для работника X, если Y1 является максимальной ставкой по виду работы B и дополнительным сведениям D из входных данных работника. Остальные правила интерпретируются аналогично правилам (5) и (6).
Правила (10) и (11) определяют минимальное значение из Y1 и Y2, причём в зависимости от ситуации срабатывает только одно из этих правил.
Итак, пусть на вход системы поступает входной факт (12) и запрос (13).
|
(12) |
|
(13) |
Входной факт (12) передаёт в интеллектуальную подсистему данные, которые находятся в приложении (рис.1). Этот факт является дополнением к фактам, хранящимся в предикатной базе данных (рис. 2).
Вычисление запроса инициируется формулой (13), которая формирует цель: «Найти факт, унифицируемый с макс_ставка_работника(X,Y)». Логический блок (рис. 2) для достижения поставленной цели предпринимает следующие шаги.
Шаги вычисления.
1) Искомый список
целевых утверждений: макс_
2) Логический блок ищет в базе знаний предложение, у которого голова сопоставима с целевым утверждением. Поиск начинается с предикатной базы данных, а затем переходит к базе правил. В результате логический блок находит правило (5). После этого происходит замена списка целевых утверждений телом правила (5). Таким образом, порождается новый список целевых утверждений.
макс_ставка_факты(X,Y1),
макс_ставка_правила(X,Y2),
min(Y1,Y2,Y).
3) Затем происходит
просмотр базы знаний для
вход_данные_работника_ставка(
вид_работы_ставка(В, Y1, D).
4) Далее происходит поиск предложения
вход_данные_работника_ставка(
5) Цель вид_работы_ставка(’
6) Рассматриваем следующее целевое утверждение
макс_ставка_правила(’Иванов И.И.’,Y2). Логический блок находит правило (7). Но, анализируя правило (7), логический блок обнаруживает, что условие O<16 не выполняется, т.к. O=20, поэтому логический блок ищет следующее правило для рассматриваемой цели. Находит правило (8), которое также не подходит. Затем логический блок находит правило (9). В данном правиле выполняются два условия, и переменная Y2 приобретает значение 1.00. Таким образом, предикат макс_ставка_правила(’Иванов И.И.’,Y2) принимает истинное значение, если Y2=1.00. Опять возвращаемся к шагу 3 и рассматриваем последнее целевое утверждение.
7) Для целевого утверждения min(0.50,1.00,Y) логический блок находит правило (10). Т.к. условие Y1£Y2 выполняется, то переменной Y будет сопоставлено значение 0.50. Таким образом, утверждение min(0.50,1.00,Y) будет истинно при Y=0.50.
8) Возвращаясь
к шагу 1, мы получаем истинное
значение предиката макс_
В результате логический блок передаёт вызвавшему его приложению следующий результат: макс_ставка_работника(’Иванов И.И.’, 0.50).
В данном примере подбор правил и фактов для решения поставленной задачи выявил только одно возможное решение. В общем случае решений может быть несколько. Поэтому, когда интерпретатор ищет в базе знаний соответствующее предложение, после первой успешной конкретизации переменных и получения результата необходимо вернуться к дальнейшему поиску и просмотру базы знаний до конца. В результате в нашем примере база знаний просматривалась целиком неоднократно. Для уменьшения затрат времени на поиск нужных фактов логический блок должен сначала анализировать структуру Qï, а только затем обращаться непосредственно к предикатной базе. Для уменьшения времени просмотра правил нужно использовать структуру продукций, приведённую выше.
В данной статье
рассмотрена структура
Структура интеллектуальной подсистемы, в первую очередь, зависит от выбора модели представления знаний. Для реализации базы знаний адаптивной информационной системы выбрано сочетание продукционной и логической моделей. Такое представление знаний обладает рядом преимуществ: снижает требования к качеству и полноте хранящихся знаний, увеличивает эффективность обработки продукций и повышает наглядность представления знаний.
Таким образом, возможности применения адаптивной информационной системы не будут ограничены одной предметной областью. В зависимости от заполнения интеллектуальной части знаниями, её можно использовать в разных предметных оластях.
1. Информационная
управляющая система МГТУ им.
Н.Э. Баумана «Электронный
2. Информационные
технологии в инженерном
3. Андрейчиков А.В., Андрейчикова
О.Н. Интеллектуальные
4. Искусственный интеллект. – В 3-х кн. Кн. 2. Модели и методы: Справочник/ Под ред. Д.А. Поспелова – М.: Радио и связь, 1990. – 304 с.
5. Братко И. Программирование
на языке Пролог для
6. Адаменко А.Н., Кучуков
А.М. Логическое
7. Нильсон Н. Принципы искусственного интеллекта: Пер. с англ. – М.: Радио и связь, 1985. – 376 с.