русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Лабораторная работа №1


Дата добавления: 2014-11-28; просмотров: 696; Нарушение авторских прав


Тема: Знакомство с оболочкой CLIPS

Задание 1. Протестировать пример.

Программа состоит из трех частей: базы данных basic_state, описываемой конструкцией deffacts; шаблонов фактов fact и action; пяти правил work, rest, good_rest, take_umbrella, take_sunglasses.

В базе данных содержаться сведения о предметной области: какой сегодня день (будний или выходной) и какая погода (в данном примере не учитываются все разновидности погоды, а только знания о том, солнечная погода или дождливая). Сведения представлены в виде набора шаблонных фактов. Поле subject первого факта указывает на то, что речь идет о дне (day); поле property выходной — содержит значение свойства дня (day_off). Поле subject второго факта указывает на то, что речь идет о погоде (weather); поле property содержит значение солнечная (sunny). Правило — свойства погоды work определяет, нужно ли идти на работу. Правило активизируется, если будет выполнено условие "день будний", то есть если в базе данных будет факт (fact (subject day)(property weekday)). В этом случае в базу данных будет добавлен факт (action (to_do "go to work")), а также на экран будет выведено соответствующее сообщение командой printout.

Правила rest и good_rest определяют выходной. Первое правило — альтернативные действия в случае, если день активизируется единственным условием в списке LHS (достаточно, чтобы в базе данных был факт (fact (subject day)(property day_off))), в то время как второе правило активизируется, если будут удовлетворены два условия в списке LHS, то есть, если в базе данных будут факты, свидетельствующие, во–первых, что день выходной, во-вторых, что погода не дождливая. В нашем примере день — выходной, то чему отдать предпочтение: — активизированы оба эти правила, налицо конфликт отдыху дома или прогулке? Выбор приоритетного правила будет зависеть от стратегии разрешения конфликтов. Можно воспользоваться предусмотренным CLIPS свойством выпуклости и добавить, например, в правило rest после имени правила строку (declare (salience 10)), придав ему выпуклость 10, что сделает это правило приоритетным по сравнению с good_rest со значением выпуклости, равным 0 по умолчанию. Однако было бы предпочтительнее усовершенствовать программу, разделив контексты, в которых используются эти правила. Например, в контексте_1 (для человека ленивого) приоритетным действительно было бы остаться дома (активизация правила rest), а в контексте_2 (для человека активного) приоритетной была бы прогулка (активизация правила good_rest). Каждый контекст можно было бы обрабатывать отдельно.



 

 

Задание 2. Написать программу для следующего примера: для случайно выбранной птицы утверждается, что она умеет летать, но если птица – страус, то утверждается, что летать она не способна.

Задание 3. Написать программу для своего примера.

 



<== предыдущая лекция | следующая лекция ==>
Определение 15.61. Функция switch | Разработайте логическую схему поиска решения в базе знаний. Поиск решения начинается с определения фактов и заканчивается удовлетворением цели


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.061 сек.