- •Лабораторная работа 1 Знакомство с инструментальными средствами для создания экспертных систем.
- •Краткие теоретические сведения
- •Режимы работы
- •Характеристики эс
- •Оперативная помощь
- •Правила "guru"
- •Стратегии управления
- •5.1. Прямой вывод
- •Обратный вывод
- •6. Переменные
- •6.1. Рабочие переменные
- •6.2. Предварительно определенные переменные
- •6.3. Выражения с переменными
- •7. Объяснение аргументации
- •8. Синтаксис правил "guru"
- •9. Отладка зс
- •9.1. Запрос во время консультации
- •9.2. Запрос после консультации
- •Порядок выполнения работы
- •Описание переменных среды
- •Основные команды "guru"
- •Выражения и функции "guru"
- •Контрольные вопросы
- •Лабораторная работа 2 Создание пробной экспертной системы.
- •Подготовка и работе
- •Порядок выполнения работы
- •Контрольные вопросы
- •Лабораторная работа 3 Учет факторов уверенности при создании экспертной системы
- •Факторы уверенности
- •Объединение фу
- •3. Методы объединения фу для переменной е.Gfjo, описывающей среду
- •4. Методы объединения фу для переменной e.Cfco, описывающей среду
- •5.Методы объединения фу для переменной e.Cfva, описывающей среду
- •6.Значения фу для выражений, содержащих переменные
- •Подготовка к работе
- •Порядок выполнения работы
- •Контрольные вопросы.
- •Лабораторная работа 4 Командный режим "guru"
- •Краткие теоретические сведения
- •1. Основные команды
- •Команда build
- •Команда compile
- •Команда consult
- •Команда run
- •Команда dir
- •Команда let
- •Команда output
- •Команда input
- •Команда if-theh-else
- •Подготовка к работе
- •Порядок выполнения работы
- •Контрольные вопросы
- •Лабораторная работа 5 Электронные таблицы "guru"
- •Краткие теоретические сведения
- •Режим обработки эв
- •2. Команды эв
- •2.13 Использование эв в программе
- •3. Пример программы с использованием эв
- •Подготовка к лабораторной работе
- •Порядок выполнения работы
- •Контрольные вопросы
- •Лабораторная работа 6 Графические средства "guru"
- •Краткие теоретические сведения
- •Управление графами с помощью утилитных переменных и
- •Команда plot bar
- •Команда plot pie
- •Команда plot line
- •Команда plot function
- •Команда range
- •Команда pattern
- •Команда plot to
- •Команда plot from
- •2. Пример программы, выводящей данные из эв
- •Подготовка к лабораторной работе
- •Порядок выполнения работы
- •Контрольные вопросы
- •Система guru Общие характеристики системы
- •Функциональные возможности
- •Построение экспертной системы
- •Р ис. 3.1. Дерево целей
- •Тестирование экспертной системы
- •Запуск системы и работа в режиме меню Запуск системы
- •Некоторые сведения о работе в режиме меню
- •Использование режима меню
- •Описание команд меню Expert Systems
- •Режим редактирования набора правил (guru Rule Set Manager)
- •Режим редактирования правил
- •Часть if – посылка правила. Может быть любым выражением.
- •Режим редактирования переменных
- •Описание команд меню Information Manager
- •Примеры использования системы
- •Приложение 1 Листинг 1. Эс для оценки надежности поставщика (в среде guru)
- •Листинг 2. Пример работы эс для оценки надежности поставщика
- •Пример объяснений
- •Листинг 3. Подсистема прогнозирования цен Текст программы
- •Пример консультации
2.13 Использование эв в программе
Ячейки ЭВ могут выступать в качестве переменных в программе. Имя ячейки должно начинаться с символа "#". Ячейке ЭВ можно присвоить какое-нибудь значение.
Пример: #С2=18.
3. Пример программы с использованием эв
Создадим ЭВ следующей структуры для расчета заработной платы:
А B C D E
1 Фамилия Пол Оклад Отработано дней Начислено
2 _________ ____ _____ _______________ _________
3 Иванов муж. (000) ( ) ( )
4 Смирнова жен. (000) ( ) ( )
5 Кузнецов муж. (000) ( ) ( )
6 _________ ____ _____ _______________ _________
Опишем последовательность действий для создания данной ЭВ.
1. Командой CALC войдем в режим обработки ЭВ.
CALC 6, 5 - создается ЭВ размером 6 строчек и 5 столбцов.
2. Командой \WIDTH зададим необходимую ширину столбцов.
3. Клавишами управления курсором выбрать по отдельности каждую ячейку и ввести заголовок таблицы, рамки, фамилии, пол.
4. Задать определение ячеек в столбце "Начислено".
#E3:#C3*#DS/30
#E4:#C4*#D4/30
#Е5:#С5*#05/30
5. Ввести команду \TEXT
6. Создать текстовым редактором "GURU" следующую программу:
CLEAR /*очистить экран*/
E.LSTR=80 /*задать длину символьной строки*/
OUTPUT "запросы для ЭВ по расчету заработной платы"
OUTPUT
OUTPUT "введите оклады работающих"
OUTPUT
INPUT #C3 WITH #А3+"-" USING"dddd"
INPUT #C4 WITH #A4+"-" USING"dddd"
INPUT #C5 WITH #A5+"-" USING"dddd"
OUTPUT
OUTPUT "Введите число отработанных дней"
OUTPUT
INPUT #D3 WITH #A3+"-" USING"dd"
INPUT #D4 WITH #A4+"-" USING"dd"
INPUT #D5 WITH #A5+"-" USING"dd"
CLEAR
Запомнить эту программу в файле MY_PROGRAM
7. Запустить эту программу командой PERFORM MY_PROGRAM и ввести необходимые данные.
8. Ввести команду \COMPUTE. В результате в столбце "Начислено" будут рассчитаны необходимые значения.
9. Сохранить ЭВ в файле командой \SAVE TO MY_FILE
10. Выйти командой \STOP
11. Распечатать командой \DISPLAY.
Подготовка к лабораторной работе
1. Ответьте на контрольные вопросы.
2. Согласно заданному варианту (приложение 1 к лабораторной работе 5) разработайте структуру ЭВ.
3. Подготовьте программу, с помощью которой можно ввести данные в ЭВ.
Порядок выполнения работы
1. Предъявите преподавателю разработанную по заданному варианту структуру ЭС.
2. Войдите в командный режим "GURU".
3. С помощью команды СALС< размер ЭВ > создайте ЭВ.
4. Опишите структуру ЭВ согласно заданному варианту.
5. Создайте программу, которая вводит определенные данные в ЭВ. Запустите и проверьте ее работу.
6. На основе исходных данных рассчитайте ЭВ.
7. Распечатайте ЭВ .
8. Результаты покажите преподавателю.
Отчет о работе должен содержать:
1) структуру ЭВ;
2) последовательность действий для создания ЭВ;
3) текст программы;
4) распечатку с полученными результатами;
5) выводы о результатах работы, достоинствах и недостатках ЭВ.
Приложение 1
Вариант 1
Когда вы переходите дорогу, то посчитайте, сколько машин проехало мимо. Создайте ЭВ, в которой будут следующие данные:
Марка автомобиля Скорость Часов в пути Расстояние
_____________________________________________________
ВАЗ-2106 100 5 ---
……….. ….. …… …….
_____________________________________________________
Написать программу, которая для каждого автомобиля на основе известных скорости и времени рассчитывала расстояние.
Вариант 2
Допустим, что магнитофон ремонтировал мастер. Он может на основе дня работы создать ЭВ со следующими полями: тип магнитофона, неисправность, кол-во однотипных деталей, для замены, стоимость одной детали, общая стоимость. Поле "Общая стоимость" определяется следующим образом: "кол-во однотипных деталей * стоимость одной детали". Написать программу, которая для каждого магнитофона рассчитает общую стоимость ремонта.
Вариант 3
При приеме человека на работу создается ЭВ следующей структуры:
Ф. И. О. Оклад Налог (в %) Сумма за год
_____________________________________________________
Иванов И. И. 1000 10 ----------
…………….. …. .. ……….
_____________________________________________________
где сумма за год = (оклад - оклад * налог) * 12. Написать программу, которая считает сумму за год.
Вариант 4
Допустим, что вы создаете программу, управляющую работой АЗС. Каждая ошибка в программе дает какой-нибудь экономический убыток. В программе может быть несколько однотипных ошибок. Создать ЭВ следующей структуры :
Тип ошибки Кол-во ошибок Убыток от одной Общий убыток
___________________________________________________________________
Пропущен оператор 3 1000 ----------------
…………………….. . …. …………….
___________________________________________________________________
где Общий убыток = кол-во ошибок * убыток от 1 ошибки. Написать программу, которая считает общий убыток для различных типов ошибок.
Вариант 5
Допустим, вам необходимо узнать, насколько изменилось количество осадков за текущий месяц в текущем году по сравнению с прошлым. Создайте ЭВ следующей структуры.
Месяц Тек. год Прошлый год Изменение
_____________________________________________________
Январь 100 120 -------------
……….. … … ………….
_____________________________________________________
Изменение = тек.год - прош.год. Написать программу, которая считает все изменения за год.
Вариант 6
Результаты тестирования детей заносятся в ЭВ следующей структуры:
Фамилия Балл за сложение Балл за умножение Общий балл
____________________________________________________________
Иванов 5 3 --------------
……….. … … …….
____________________________________________________________
Общий балл = Балл за сложение + Балл за умножение. По общему баллу судят о уровне подготовки ребенка. Написать программу, которая считает общий балл по исходным баллам тестирования.
Вариант 7
На бирже заключается сделка на продажу товара. Создать ЭВ следующей структуры:
Наименование товара Цена за 1 шт. Кол-во в партии Общая сумма
________________________________________________________________
Плита бетонная 10000 5 -------
……………….. ….. …… …….
________________________________________________________________
Общая сумма = Цена за 1 шт. * Кол-во в партии. Написать программу, которая считает общую сумму для нескольких товаров.
Вариант 8
Создать ЭВ, по которой сравнивается уровень воды в реке в прошлом году и в текущем, для того чтобы определить будет ли наводнение или нет:
Месяц Уровень в прошлом году Уровень в тек. году Изменение
________________________________________________________________
Январь 220 250 -------
……… … … ……..
________________________________________________________________
Изменение = Уровень в тек.году - Уровень в прош.году. Написать программу, которая считает изменение уровня воды в реке.
Вариант 9
Создать ЭВ, с помощью которой можно определить сколько километров проедет транспортное средство.
Трансп. ср-во Литров на 100 км Вместимость бака Расстояние
________________________________________________________________
ВАЗ 2105 5 40 -----------
………… … … ………..
________________________________________________________________
Расстояние = (вместимость бака /литров на 100 км) * 100. Написать программу, которая считает расстояние для нескольких транспортных средств.
Вариант 10
Допустим, что телевизор ремонтировал мастер. Он может создать на основе результатов своей работы ЭВ следующей структуры:
Тип TV Неисправность количество однотипных Стоимость Общая
деталей для замены одной детали сумма
__________________________________________________________________________
"РУБИН" сгорел резис. 5 1 -----------
………… …………….. … … ………..
__________________________________________________________________________
Общая сумма = (Количество однотипных деталей для замены * стоимость одной детали). Написать программу, которая для каждого телевизора рассчитывает стоимость ремонта.
