
3к6с Интеллектуальные системы и технологии / С ИОС / МУ ПР1
.pdfМинистерство образования и науки Российской Федерации
Национальный исследовательский ядерный университет «МИФИ»
Балаковский инженерно-технологический институт
ИЗУЧЕНИЕ ПРОДУКЦИОННОЙ МОДЕЛИ
ПРЕДСТАВЛЕНИЯ ЗНАНИЙ
Методические указания к выполнению практической работы по дисциплине «Интеллектуальные системы и технологии» для студентов всех форм обучения
направления Информационные системы и технологии
Балаково 2015
Цель работы: изучение продукционной модели представления знаний.
В процессе выполнения практической работы студент должен решить следующие задачи:
-самостоятельно выбрать задачу для моделирования (Приложение 1);
-представить модель ПО в виде продукционной модели, т.е. построить базу правил (продукционную базу знаний) для предметной области задачи;
-проверить работу механизма логического вывода, применяя стратегию прямого и обратного вывода;
-разработка экспертной системы на основе продукционной модели представления знаний.
Продукционная модель
Психологические исследования процессов принятия решений человеком показали, что, рассуждая и принимая решения человек, использует правила, аналогичные продукциям. В общем случае продукционное правило (ПП) можно представить в следующем виде:
i, S, L, A B, Q
где i - идентификатор продукции;
S - описание класса ситуаций, в котором данная структура может использоваться (область применимости);
L – условие применимости (высказывание, истинность которого проверяется); A B - ядро продукции;
Q - постусловие ПП, описывает операции и действия (процедуры), которые необходимо выполнить после выполнения В, например, внести изменения в данные либо в саму продукцию.
A является множеством элементарных условий, связанных логическими связками "И", "ИЛИ" и "НЕТ", B – множеством элементарных заключений. При этом правило считается сработавшим (выполняется заключение B), если посылка A ис-
тинна. |
|
|
|
Пример: |
|
|
|
ЕСЛИ y является отцом x |
(А1) |
||
|
z |
является братом y |
(А2) |
ТО |
z является дядей x (B) |
||
Парадигма использования правил продукции для представления знаний состо- |
|||
ит в том, |
что левой части ставится в соответствие некоторое условие, а правой ча- |
||
сти - действие: |
ЕСЛИ <перечень условий>, ТО <перечень действий>. В такой ин- |
терпретации левая часть правил оценивается по отношению к БД (известному набору фактов) системы либо запрашивается у пользователя, и если эта оценка в определенном смысле соответствует логическому значению ИСТИНА, то выполняется действие, заданное в правой части продукции. В общем случае под условием понимается некоторое предложение - образец, по которому осуществляют поиск в БЗ, а под действием - действия, выполняемые при успешном исходе поиска - это могут быть реальные действия, если система управляющая, или заключение - вывод, представляющее собой новое (фактуальное) знание, или некоторая цель.
При использовании продукционной модели БЗ состоит из набора правил. Программа, управляющая перебором правил, называется машиной вывода. Механизм выводов связывает знания воедино, а затем выводит из последовательности знаний заключение.
Впродукционной системе процесс обработки информации может осуществляться двумя способами. Первый предполагает обработку информации в прямом направлении (метод сопоставления), когда образцом для поиска служит левая часть ПП - условие, т.е. задача решается в направлении от исходного состояния
кцелевому. Это соответствует стратегии «от данных к цели», или стратегии управления данными. После разрешения возникающих конфликтов выполняются правые части ПП, что соответствует логическому выводу новых утверждений. После добавления выведенных утверждений в БД процедура повторяется. Процесс оканчивается, если выполняется ПП, предписывающее прекращение поиска, или в БД поступает утверждение, являющееся решением.
Всамом общем виде алгоритм прямого логического вывода, записанный на псевдокоде в виде функции, выглядит так (условие ограничено конъюнкцией элементарных условий):
пока Цель не доказана
цикл
Формирование множества подходящих правил (по их условиям и наличию фактов).
Выбор одного правила из этого множества (с использованием определенной стратегии выбора).
Считать текущим элементарным условием первое.
пока не проверены все элементарные условия правила и не надо прервать проверку условия
цикл
если элементарное условие истинно
то
Перейти к следующему элементарному условию
иначе
Надо прервать проверку условия
конец если конец цикла
Выполнить заключение если при формировании заключения появился целевой факт
то
Считать, что Цель доказана
конец если конец цикла
При втором подходе обработка информации осуществляется в обратном направлении - метод «генерации» или выдвижения гипотезы и ее проверки (стратегия «от цели к данным»). При каждом обратном движении возникает подцелевое состояние, из которого целевое может быть получено при прямом движении. В этом случае проверяются правые части ПП с целью обнаружить в них искомое утверждение. Если такие ПП существуют, то проверяется, удовлетворяется ли
левая часть ПП. Если да, то гипотеза считается подтвержденной, если нет - отвергается.
функция Доказана_Цель(Цель): boolean; Поместить Цель в стек целей пока стек целей не пуст
цикл
Выбор цели из стека целей и назначение ее текущей Поиск множества правил, в правой части которых находится текущая цель (множества подходящих правил)
Считать, что Цель не доказана пока множество походящих правил не пусто и Цель не доказана
цикл
Выбор из этого множества одного текущего правила с использованием определенной стратегии Считать текущим элементарным условием первое
пока не проверены все элементарные условия правила и не надо прервать проверку условия
цикл
если в текущем элементарном условии участвует факт, встречающийся в правой части какого-то правила
то
если не Доказана_Цель(Этот факт)
то
Надо прервать проверку условия
конец если иначе
Запросить информацию о факте Проверить элементарное условие если элементарное условие истинно
то
Добавить факт в базу данных Перейти к следующему элементарному Условию
иначе
Надо прервать проверку условия
конец если конец если
конец цикла если условие правила истинно
то
Выполнить заключение Считать, что Цель доказана
конец если конец цикла
конец цикла конец функции
Метод прямого логического вывода можно применять тогда, когда факты появляются в базе данных не зависимо от того, какую задачу сейчас требуется решить
(какой целевой факт доказать) и в разные моменты времени. В этом случае можно говорить о том, что факты управляют логическим выводом (решением задачи). Кроме того, этот метод целесообразно применять для формирования вторичных признаков (фактов) из первичных для подготовки решения задачи в дальнейшем с применением обратного логического вывода. Метод обратного логического вывода можно применять тогда, когда необходимо минимизировать количество обращений к источнику данных (например, пользователю), исключив из рассмотрения заведомо ненужные для решения задачи факты.
________________________________________________________________________
Пример.
Имеется фрагмент БЗ из двух правил:
П1 : Если «отдых - летом» и «человек - активный», то «ехать в горы» П2 : Если «любит солнце», то «отдых летом».
Предположим в систему поступили данные - «человек - активный» и «любит солнце»
Прямой вывод - исходя из данных, получить ответ.
1-й проход.
Шаг 1. Пробуем П1, не работает (не хватает данных «отдых - летом») Шаг 2. Пробуем П2 , работает, в базу поступает факт «отдых - летом»
2-й проход.
Шаг 3. Пробуем П1, работает, активируя цель «ехать в горы», которая и выступает например, как совет, который дает система.
Обратный вывод - подтвердить выбранную цель при помощи имеющихся правил и данных.
1-й проход Шаг 1. Цель - «ехать в горы»: пробуем П1 - данных «отдых - летом»
нет, они становятся новой целью, и имеется правило, где она в правой части.
Шаг 2. Цель «отдых летом»: Правило П2 подтверждает цель и активизирует ее.
2-й проход Шаг 3. Пробуем П1 , подтверждается искомая цель.
________________________________________________________________________
Свойства ПС.
1.Модульность - отдельные ПП могут быть добавлены, удалены или изменены в БЗ независимо от других. Кроме того, модульный принцип разработки (сборки) позволяет автоматизировать ее проектирование.
2.Каждое ПП - самостоятельный элемент знаний (локальный источник знаний); отдельные ПП связаны между собой только через поток данных, которые они обрабатывают.
3.Простота интерпретации - «прозрачная» структура ПП облегчает их смысловую интерпретацию.
4.Естественность - знания в виде «что делать и когда» являются естественными с точки зрения здравого смысла.
Недостатки продукционных систем проявляются тогда, когда число правил становится большим и возникают непредсказуемые побочные эффекты от изме-
нения старого и добавления нового правила. Кроме того, затруднительна оценка целостного образа знаний, содержащихся в системе.
Продукционная модель чаще всего применяется в промышленных ЭС. Она привлекает разработчиков своей наглядностью, высокой модульностью, легкостью внесения дополнений и изменений и простотой логического вывода. Имеется большое число программных средств, реализующих продукционный подход (язык OPS, «оболочки» или «пустые ЭС» и др.), а также промышленных ЭС на его основе.
Экспертная система
Экспертная система (ЭС, expert system) — компьютерная программа, способная частично заменить специалиста-эксперта в разрешении проблемной ситуации. Современные ЭС начали разрабатываться исследователями искусственного интеллекта в 1970-х годах, а в 1980-х получили коммерческое подкрепление. Предтечи экспертных систем были предложены в 1832 году С. Н. Корсаковым, создавшим механические устройства, так называемые «интеллектуальные машины», позволявшие находить решения по заданным условиям. Например, определять наиболее подходящие лекарства по наблюдаемым у пациента симптомам заболевания.
Экспертные системы рассматриваются совместно с базами знаний как модели поведения экспертов в определенной области знаний с использованием процедур логического вывода и принятия решений, а базы знаний — как совокупность фактов и правил логического вывода в выбранной предметной области деятельности.
Область применения экспертной системы выбирается на усмотрение разработчика. Как правило, предметная область должна быть максимально приближена к той сфере, в которой специализируется разработчик. Разрабатываемая экспертная система должна быть уникальной. При выборе предметной области следует исходить из положения, что экспертные системы, могут быть использованы там, где все остальное оказывается неприменимым. Это значит, что сфера применения экспертных систем практически неограниченна.
Задание к практической работе

При выборе предметной области требуется разработать совокупность правил, обеспечивающих порождение фактов. При разработке правил должна быть предусмотрена возможность построения цепочки логического вывода. Это значит, что порождаемые факты должны быть подразделены на два вида: во-первых, терминальные факты; во-вторых, факты обеспечивающие порождение новых фактов, т.е. порождающие. В том случае, если порождаемый факт является порождающим, обеспечивается объединение двух правил в цепочку.
После того, как база знаний будет разработана, необходимо разработать программное обеспечение. Программное обеспечение должно включать следующие элементы.
Пример интерфейса программы приведѐн на рисунке 1.
Во-первых, основную программу. В основной программе обеспечивается описание базы знаний, других объектов, подключение процедур составляющих экспертную систему, организация функционирования экспертной системы.
Во-вторых, модуль усвоения знаний, который обеспечит загрузку закодированных правил в базу знаний.
В-третьих, модуль интерфейса с пользователем. Обеспечивает получение ответов пользователя, кодирование полученных ответов и занесение закодированных декларативных знаний.
В-четвертых, модуль, принятия решений, обеспечивающий построение прямой и обратной цепочки логического вывода.
В-пятых, модуль, управления логическим выводом. Этот модуль обеспечи-
вает выдачу запросов для конкретной ситуации, и принимает решение о методе логического вывода.
В-шестых, модуль, обеспечивающий объяснение полученного результата.
Рисунок 1 – Пример интерфейса программы
ПРИЛОЖЕНИЕ 1
Примеры задач, предлагаемых для реализации на практической работе.
1.Выбор программного обеспечения для ПК пользователя. Входные данные:
1)цели использования ПК;
2)доступные ресурсы ПК;
3)пределы стоимости требуемых приложений.
2.Выбор тарифного плана данного оператора сотовой связи (например, МТС). Входные данные:
1)какие вызовы преобладают:
-входящие;
-исходящие;
-на телефоны ГТС;
2)наличие абонентской платы;
3)размер абонентской платы;
4)другие услуги.
3.Выбор оператора сотовой связи.
Входные данные:
1)зона уверенного приема сигнала;
2)стоимость роуминга;
3)предоставляемые услуги SMS, MMS, WAP
4)тарифные планы.
4.Выбор оборудования для компьютерной сети. Входные данные:
1)количество компьютеров в сети;
2)топология сети;
3)пределы стоимости требуемого оборудования.
5.Выбор программного обеспечения для предприятия. Входные данные:
1)назначение:
-бухгалтерия;
-склад;
-……………………..
2)масштаб предприятия (количество подразделений, филиалов и т.п.);
3)пределы стоимости ПО.
6.Выбор пакета прикладных программ для решения задачи на ЭВМ. Входные данные:
1)предметная область:
-экономика;
-статистика;
-физика;
-………………..
2)математическая модель (если есть):
-нелинейные уравнения;
-обыкновенные дифференциальные уравнения;
-дифференциальные уравнения в частных производных;
3)требуемый результат:
-таблицы значений;
-функциональные зависимости;
-графики;
-………………..
7.Выбор программного обеспечения для компьютерной сети.
Входные данные:
1)ресурсы оборудования (размеры памяти, быстродействие и т.п.);
2)требования разграничения доступа в сети;
3)фирма – производитель.
8.Выбор специальности для обучения в ВУЗе.
Входные данные:
1)предыдущее образование:
-профильный класс (физико-математический, естественно-научный и т.п.);
-колледж (полученная специальность);
2)в какой сфере деятельности хотели бы работать после окончания ВУЗа
3)вид специальности, которую хотели бы получить:
-инженерная;
-физико-математическая;
-экономическая;
-……………………………….
4)результаты профориентационных тестов.
9.Анализ текущей успеваемости студентов на факультете.
Входные данные:
1)количество успевающих студентов;
2)количество студентов, имеющих более 50 % неудовлетворительных оценок и незачетов;
3)данные студентов, имеющих более 50 % неудовлетворительных оценок и незачетов. Выходные данные:
1)группы и дисциплины, по которым имеются низкие показатели успеваемости например, «в группе 02МОС(у) низкая успеваемость по дисциплине «Системы искусственного интеллекта»
2)возможные причины низкой успеваемости, например («больше 50 % студентов не прошли промежуточный контроль выполнения РГЗ»).
10.Анализ итогов сессии на факультете.
Входные данные:
результаты итогов рейтингового контроля и сессии по группам. Выходные данные:
возможные причины низкой успеваемости студентов, например «90 % студентов, не сдавших экзамен по высшей математике, по итогам рейтингового контроля № 2, имели по данному предмету оценки «3» и ниже»
11. Диагностика состояния здоровья студентов (на факультете, в ВУЗе). Входные данные:
1)количество пропусков по болезни;
2)наличие заболеваний определенного вида:
-дыхательных путей;
-опорно-двигательного аппарата;
-нарушения зрения;
-…………………………………….
3)длительность пропусков по болезни. Выходные данные:
1)возможные причины возникновения наиболее распространенных заболеваний среди студентов;
2)рекомендации по улучшению состояния здоровья студентов.
12.Анализ обеспеченности литературой учебного процесса
Входные данные:
1)наличие литературы в библиотеке;
2)потребности факультетов в учебной литературе;
3)финансовое обеспечение процесса закупки литературы; Выходные данные:
1)процент обеспеченности литературой для каждого факультета;
2) данные о том, литературы каких видов (справочники, учебники, методические пособия)
ипо каким предметам недостаточно для обеспечения учебного процесса.
13.Диагностика неисправности ЭВМ.
Входные данные:
1)какие программы «неправильно» работают;
2)как изменилось быстродействие системы;
3)работа каких устройств нарушена. Выходные данные:
1)возможная причина неисправности;
2)возможные способы устранения неисправности.
14.Анализ потребностей предприятия в сотрудниках. Входные данные:
1)количество специалистов в той или иной области, имеющихся на предприятии;
2)работы, выполняемые предприятием;
3)трудоемкость работ.
Выходные данные:
1)специалистов в какой области недостаточно;
2)какие специалисты не востребованы в данный момент;
3)рекомендации по оптимальному распределению трудовых ресурсов.
15.Диагностика загруженности ресурсов ЭВМ
Входные данные:
1)распределение процессорного времени по задачам;
2)приоритеты задач;
3)фрагментация жесткого диска;
4)свободное место на жестком диске;
5)…………………………..
Выходные данные:
1)состояние ресурсов системы;
2)рекомендации по оптимизации функционирования ЭВМ.
16.Диагностика технологического процесса.
Входные данные:
1)элементы технологической цепочки;
2)отклонения выпускаемых изделий от нормы;
3)на каком этапе производства обнаружены отклонения;
4)технологические режимы.
Выходные данные:
1) возможные элементы технологической цепочки, в которых произошел сбой; способы устранения неисправности.