Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Проектирование экспертных систем. Учебное пособие
.pdf
Эти диапазоны могут быть менее обширными, мы выбрали такие широкие,
по счатнсгически значительные группы для простоты демонстрации. Аналогично
мы можем сгруппировать по категориям вес:
вес=40_или_мепыпе
вес =между_40_и_60
вес =между_60_и_80
вес=между_80_и_100
вес=100_или_более
Вес будет оцениваться и связи с другими факторами, каждый из которых
также имеет диапазон возможных значений:
рост =5_футов_или_меныне
рост =между_5_фу тами_и_5_с половинойфу то»
рост=межАу_5_с_ноловиной_футов_и_6_футами
рост =6_футов_или_6ольше
комплекция =мелкая
комплекция =средняя
комплекция =крупная
После завершения разработки, экспертная система будет выводить заключе-
ние на основе перечисленных фактов о весе человека. Вывод системы будет представлен выражениями:
вес =недостаточпый
вес=нормальпый
вес =излишний
Когда система запрашивает оператора о привычке к курению, возможны два
факта:
курение=да
курение=нст
151

Наша демонстрационная система анализируег также потребление холесте-
рина, ненасыщенных жиров, соли и кальция. Ранжируя возможные значения каждого объекта, мы можем построить следующие выражения:
потребление_холестерина =высокое
потребление_холестерина =нормальное
погребление_холестерина =низкое
потребление_ненасыщенных_жиров =высокое
потре6ление_ненасыщенных_жиров =нормальное
потрс6ление_ненасыщенных_жиров =низкое
потребление_соли =высокое
потребление_соли =нормальное
потребление_соли =низкое
потребление_кальция =высокое
потребление_кальция =нормальное
потребление кальция =низкое
Система контроля здоровья будет также учитывать тип личности субъекта. В
соответствии с исследованиями Фридмана-Росса, которые мы примем за основу,
возможны два значения типа. Поскольку оценка типа является в значительной степени условной, доверие к каждому факту определяется коэффициентом 75.
Тип_личности =тип_а, кд =75
тип_личности =тип_b, кд=75
При построении заключения системы будут учитываться такие дополнитель-
ные факты:
риск_сердечных_заболеваний =выше_среднего
риск_сердечных_заболеваний=средний
риск_сердечных_заболеваний =ниже_среднего
риск_рака =выше_среднего
риск_рака =средний
риск_рака =ниже_среднего
152

риск_остеопороза =отсутствует
риск_остеопороза =умеренный
риск_остеопороза =высокий
Потребление человеком алкоголя также попадает в одну из трех статистиче-
ски определенных категорий:
потребление_алкоголя=нет
пoтребление_алкоголя=умеренно
потребление_алкоголя=чрезмерно
Поскольку система должна быть способна находить более одного решения,
объект ПРЕАСКАЗАННАЯ_ПРОДОЛЖИТЕЛЬНОСТЬ имеет такие возможные
значения:
предсказанная_продолжительность =84
предсказанная_продолжительность =82
предсказанная_продолжительность =80
предсказанная_продолжигельность =72
предсказанная_продолжительность =70
предсказанная_продолжительность =68
предсказанная_продолжительность =64
предсказанная_продолжительность =60
предсказанная_продолжительность =56
предсказаниая_продолжительность =52
предсказанная_продолжительность =50
Чтобы проверить новые модули, откомпилируйте и запустите программу в
исправленном варианте. Исходное меню будет содержать новую возможность - выбор 4, "объявление объекта многозначным". Выберите один из набора фактов этого
раздела и добавьте к базе знаний первую пару "объект - значение". Затем выберите
возможность 4 и введите имя объекта. Теперь вы можете добавить к набору оставшиеся пары .
153

Кроме того, можно проверить следующие возможности меню: Ввод разре-
шенных значений; Добавление вопросов об объекте; Ответ на вопрос об объекте;
Для выхода из программы достаточно нажать красный крестик в правом
верхнем углу экрана.
Для проверки последних модулей необходима доработка системы оценки со-
стояния здоровья, использовавшейся в предыдущих параграфах. Ранее мы ввели в
базу знаний факты в виде пар "объект - значение", потом снабдили выражения фактов коэффициентами доверия, наконец, сделали объекты многозначными. Теперь
воспользуемся этими фактами для формирования вопросов и разрещенных значений, с помощью которых наша демонстрационная система будет проводить консультацию.
После загрузки программы выберите из меню возможность «Ввод разрешен-
ных значений». Введите список разрешенных значений в следующем формате:
ОБЪЕКТ =ЗНАЧ1, ЗНАЧ2, ..., ЗНАЧn
где n - последнее paзpешеннoe значение. После ввода каждого списка выби-
райте возможность 6 для описания вопроса. Здесь приведены разрешенные значения и вопросы, требующиеся нашей гипотетической программе оценки состояния
здоровья.
Изменив основную программу для включения новых модулей, ее можно за-
пустить в действие, гак как к настоящему моменту у нас есть достаточно модулей
для проведения консультации.
В приведенном ниже листинге дана вся основная программа, включая моди-
фикации для вызова новых подпрограмм. В первую очередь, это введение новой
возможности для оператора - "Достижение цели". Когда в качестве выбора вводится 8, программа предлагает оператору ввести цель в форме имени объекта. Затем она считывает это имя и вызывает процедуру pursue.
Испытание системы. Хотя программа нашей экспертной системы теперь со-
держит достаточно команд для проведения настоящей консультации, ей нужна база
154

знаний. Чтобы испытать программу, сначала скомпилируйте новые модули и переработайте основную программу. Затем сделайте следующее:
1. Используя текстовый редактор создайте текстовый файл, содержащий ряд
правил с парами "объект - значение" в предпосылке и заключении. Для ввода правил воспользуйтесь следующим форматом:
правило1: если
[ОБЪЕКТ]=[ЗНАЧЕНИЕ1]
то
[ОБЪЕКТ]=[ЗНАЧЕНИЕ2].
При чтении файла правил, программа ищет точку в конце каждого правила.
Если вы опустите эгу точку, система не сможет отличить одно правило от другого.
Вы можете также добавить в этот текстовый файл предложения "вопрос",
"разрешен" и "многозначный".
2. Запустите основную программу.
3. Для проведения консультации выверите возможность "Достижение цели".
4. Введите имя объекта, представляющего цель, и нажмите клавишу
RETURN.
Пробный запуск программы. При запуске программы expert, она считает пра-
вила из текстового файла на текущий дисковод, введет их в базу знаний, а затем
выведет на экран меню возможностей оператора.
Кроме правил, текстовый файл может содержать предложения с разрешен-
ными значениями, вопросами и множественными значениями. Когда программа
читает файл правил, она добавляет эти элементы к базе знаний, избавляя вас от
необходимости вводить их с помощью программы меню. В следующей главе мы
рассмотрим метол ввода в файл правил полной базы знаний.
Изменения в программе. Для того чтобы включить в программу новые мо-
дули, нам нужно добавить в процедуру PURSUE две строки: одну для вызова
EXPLAIN_HOW и одну для вызова процедуры EXPLAIN_WHY. Кроме того, в ос-
155

новную программу перед первым оператором WHILE нужно добавить предложение EXPLA1N:=TRUE. Процедуры EXPLAINHOW и EXPLA1N_WHY нужно вставить в программу непосредственно перед процедурой PURSUE.
Ниже приведен полный листинг подпрограммы PURSUE с новыми предло-
жениями. Переработанная основная программа целиком приведена в Приложении
А.
Порядок работы с системой. При запуске появляется основная экранная
форма, но активна только одна опция: «Ввод». Необходимо нажать на эту иконку.
После этого на экране появляется надпись: «Введите фамилию». В базе субъектов
имеется только два человека: Салли Шепард и Роберт Морган. При выборе этих
фамилий компьютер считает часть информации о них из базы и задаст меньше вопросов при выводе. Если же введена другая фамилия, компьютер первоначально
проведет поиск по базе данных и не найдя фамилии, а следовательно и информации
о возрасте, росте весе, происхождении, расе задаст все эти вопросы в ходе дальнейшего диалога.
После введения фамилии загорается надпись: «Цель». Необходимо нажать
эту иконку. Появится вопрос: «Какова ваша цель?». Обычная консультация с этой
системой сводится к оценке продолжительности жизни, поэтому в появившееся
лкно необходимо вписать слово – продолжительность. Далее необходимо нажать
иконку результат и в мемо-поле появится результат консультации.
По меню в верхней части экрана видно, что программа может проверять ис-
тинность фактов, добавлять новые факты, правила, вопросы.
156

4 Методические указания к выполнению лабораторных работ
На базе описанной экспертной системы можно организовать следующий ла-
бораторный практикум.
4.1 Лабораторная работа №1
Название работы: Изучение функций экспертной системы
Цель работы: исследовать работу всех функций системы включенных в менб
экспертной системы.
Порядок выполнения работы:
1. Запустить программу. На экране должно появиться диалоговое окно экс-
пертной системы с опциями: добавление в БЗ, проверка факта, просмотр фактов,
многозначность, ввод, вопросы, цель, результат, добавление факта.
2. Провести консультацию с одним из субъектов Салли Шепард, Роберт Мор-
ган, Вики Швapц.
3. Добавить правило в БЗ. Сформулировать правило, проверить на непроти-
воречивость с уже имеющимися в базе правилами. Выполнить требования интерфейса, убедиться, что правило добавлено.
4. Проверить факт. Выбрать факт, связанный с каким-либо объектом про-
граммы. Задать его верное и неверное значения. Убедиться, что программа реагирует адекватно.
5. Просмотреть факты. Отдельно убедиться, что программа 1)считала факты
из файла, предварительно открыв файл SUBJECTS и 2) правильно ввела ваши ответы на вопросы.
6. Просмотреть факты и выбрать объект, который вы хотите объявить много
значным. Выполнить требования интерфейса. Убедиться, что объявленный объект
действительно стал многозначным.
157

7. Выбрать новый объект. Сформулировать вопрос, обеспечивающий одно-
значный ввод информации. Добавить вопрос, убедиться, что программа его задает
во время диалога.
8. Добавление факта. Просмотреть факты, выбрать не активизированный
факт. Выполнить требования интерфейса и задать факт, включая коэффициент доверия. Еще раз просмотреть факты для проверки активизации выбранного факта.
4.2 Лабораторная работа №2
Название работы: разработка элементов диалоговой составляющей эксперт-
ной системы.
Цель работы: Научиться вводить новые объекты и формулировать вопросы,
связанные с информацией об этих объектах.
Порядок выполнения работы:
1. Просмотреть факты. Выбрать объект, отсутствующий в данных.
2. Выбрать свойства вновь введенного объекта. Сформулировать вопрос ка-
сающийся значений выбранного свойства.
3. Добавить значения к имеющимся свойствам. Просмотреть файл RULES,
выбрать объект и дополнить его разрешенные значения.
4. Проконсультироваться с экспертной системой. Убедиться, что вновь вве-
денные объекты и разрешенные значения востребованы программой.
4.3 Лабораторная работа № 3
Название работы: изучение компоненты пополнения базы знаний
Цель работы: научиться формулировать новые правила
Порядок выполнения работы:
1. Найти в имеющейся базе знаний логические неувязки. Проверить базу зна-
ний на полноту всех условий, означенных в имеющихся правилах.
158

2. Сформулировать новое правило, увязав его с имеющимися условиями.
Можно ввести новое условие, связанное с новым объектом и добавить правили относительно этого объекта.
3. Убедиться в верности встроенного правила. Проверить не будет ли про-
грамма обращаться только к этому правилу, обходя аналогичные или не являются
ли сформулированные условия невостребованными.
4. Убедиться в работоспособности введенных правил. Проконсультироваться
с программой добавив при необходимости в файл SUBJECTS нового человека со
значениями объектов, использованными в новых правила.
4.4 Лабораторная работа №4
Название работы: изучения интерфейса экспертной системы
Цель работы: научиться применять программные средства, делающие интер-
фейс дружественным.
Порядок выполнения работы:
1. Отыскать недосток в интерфейсе, имеющейся программы. Недостатками
могут быть: видимость меток или полей, не использующихся в данной опции, Неудачное местоположение элементов интерфейса, неотключенные пункты меню и
так далее.
2. Работа с программой. Открыть программу и отыскать место, реализующее
функцию с выявленным недостатком интерфейса.
3. Разобраться, как работает программа и придумать новое решение.
4.Запустить программу и убедиться, что внесенные изменения валидны.
4.5 Лабораторная работа №5
Название работы: разработка базы знаний экспертной системы.
Цель работы: приобрести навыки формулирования и логической увязки но-
вых знаний.
159

Порядок выполнения работы:
1. Выбрать область консультирования. Область должна быть ограниченной
количеством объектов – не более пяти.
2. Задание разрешенных значений. Определиться с количеством и наимено-
ванием разрещенных значений.
3. Сформулировать вопросы. Вопросы должны однозначно пониматься в от-
ношении определяемых свойств объектов.
4. Сформулировать небольшое количество правил. Это количество должно
быть достаточным для проведения простейшей консультации.
5. Проверка работоспособности экспертной системы. Запустить программу и
провести консультацию с экспертной системой, убедившись, что построенная база
знаний функционирует.
160
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
