Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методуказания к лабораторным ИИС.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
792.58 Кб
Скачать

Подготовка к работе

1. Ответьте на контрольные вопросы.

2. Добавьте к ЭС, разработанной в лабораторной работе 2, изменения, в которых применяются ФУ. Для демонстрации варианта таких изменений в приложении 1 в настоящей лабораторной работе приведен пример ЭС с использованием специально объявляемых переменных среды и ФУ. Эта ЭС была ранее представлена как вариант № 6 лабораторной работы 1 (приложение 4 к лабораторной работе 1).

Порядок выполнения работы

1. Предъявите преподавателю текст изменений в ЭС, написанной и отлаженной при выполнении лабораторной работы 2.

2. Запустите систему "GURU". Создайте базу знаний на осно­ве своего варианта ЭС.

3. Проверьте с помощью HOW и WHY работу созданной ЭС. Результаты покажите преподавателю.

Отчет о работе должен содержать

1) ответы на контрольные вопросы;

2) вариант ЭС на естественном языке;

3) вариант ЭС на языке "GURU";

4) пример отладки ЭС с помощью НОW WHY;

5) заключение.

Приложение 1

GOAL: whattodo

/* ЭТОТ НАБОР ПРАВИЛ ПОЗВОЛИТ ВАМ ПОЛУЧИТЬ РЯД СОВЕТОВ НА */

/* ТЕМУ "КАК УСПЕТЬ НА ЭКЗАМЕН" В ЗАВИСИМОСТИ ОТ ОПОЗДАНИЯ И*/

/* ВАЖНОСТИ СВОЕВРЕМЕННОГО ПРИХОДА. ОЧЕВИДНО, ЧТО ЭТО */

/* ДАЛЕКО HE ПОЛНЫЙ НАБОР, НО ВЕДЬ ОН И ПРЕДНАЗНАЧЕН ДЛЯ */

/* ПОКАЗА САМЫХ ТРИВИАЛЬНЫХ СРЕДСТВ GURU. */

/* ТАК ЧТО НЕ ИЩИТЕ В НЕМ СВЕРХИНТЕЛЛЕКТУАЛЬНОГО. */

/* НА ВОПРОСЫ СИСТЕМЫ СЛЕДУЕТ ВВОДИТЬ СООТВЕТСТВУЮЩЕЕ */

/* ЗНАЧЕНИЕ БУЛЕВСКОЙ ПЕРЕМЕННОЙ (ДА-Y, HET-N) */

/* НУ И, КОНЕЧНО, НА ПРОСЬБУ СИСТЕМЫ ВВЕСТИ ЧИСЛО – СООТВЕТ- */

/* СТВУЩЕЕ ЧИСЛО. */

INITIAL:

clear

release variable /* УБИРАЕМ НЕНУЖНЫЕ НАМ ПЕРЕМЕННЫЕ */

e.lstr=250 /* МАКСИМАЛЬНАЯ ДЛИНА СТРОКИ */

output " ДЕНЬ ДОБРЫЙ, МИСТЕР (МИССИС)."

e.cfco="m"

e.cfjo="m"

e.cfva="mm"

output

output " У ВАС СЕГОДНЯ ЭКЗАМЕН, А ВЫ ПРОСНУЛИСЬ СЛИШКОМ "

output "ПОЗДНО... ВАМ, ЕСТЕСТВЕННО, НАДО УСПЕТЬ НА НЕГО, НО "

output "КАК ? МЫ ПОСТАРАЕМСЯ ДАТЬ ВАМ СОВЕТ, КАК, ИСХОДЯ ИЗ "

output "СЛОЖИВШЕЙСЯ СИТУАЦИИ, ВАМ СЛЕДУЕТ ПОСТУПИТЬ. НО ДЛЯ "

output "ЭТОГО ВЫ ДОЛЖНЫ ПРЕДОСТАВИТЬ МНЕ ВСЮ ИНФОРМАЦИЮ."

output " ИТАК, НАЧНЕМ ..."

output

lating="Y"

output" СКАЖИТЕ, ВЫ ДЕЙСТВИТЕЛЬНО ОПАЗДЫВАЕТЕ (Y/N)?"

input lating str using "a"

lating=lating cf 70

DO:

clear

output " ВОТ ЧТО МНЕ КАЖЕТСЯ ПРИЕМЛЕМЫМ В ДАННОЙ СИТУАЦИИ."

output

output whattodo

RULE: R1

IF: mainexam and biglate

THEN: whattodo=" БЕРИТЕ ТАКСИ НА ВЕСЬ ПУТЬ ДО ИНСТИТУТА. В"

whattodo=whattodo+"TAKОЙ СИТУАЦИИ ДЕНЬГИ ЗНАЧЕНИЯ НЕ "

whattbdo=whattodo+"ИМЕЮT."

RULE: R2

IF: not mainexam

THEN: whattodo=" УСПОКОИТЕСЬ, НА НЕ ОЧЕНЬ ВАЖНЫЙ ЭКЗАМЕН "

whattodo=whattodo+"HE СТОИТ СИЛЬНО СПЕШИТЬ. ПОВЕРЬТЕ,"

whattodo=whattodo+"BAM ПРОСТЯТ ВАШЕ ОПОЗДАНИЕ ИЛИ ДАЖЕ"

whattodo=whattodo+"ОТСУТСТВИЕ. ТАК ЧТО НЕСПЕША ПО-"

whattodo=whattodo+"EЗЖAЙTE НА АВТОБУСЕ." cf 80

RULE: R3

IF: not biglate and mainexam

THEN: whattodo=" HE ВОЛНУЙТЕСЬ, ВСЕ ЕЩЕ БУДЕТ ХОРОШО. ВАМ "

whattodo=whattodo+"СТОИТ ВЗЯТЬ ТАКСИ НА ЧАСТЬ ПУТИ,"

whattodo=whattodo+" НАПРИМЕР, ДО КАКОГО-НИБУДЬ "

whattodo=whattodo+"УЗЛОВОГО ПУНКТА (ДО МЕТРО, АВТ."

whattodo=whattodo+"OCTAHQBKИ). " cf 70

RULE: R4

IF: onlyge4

THEN: mainexam=false cf 85

RULE: R5

IF: veroyatn >= 90

THEN: mainexam=false cf 65

RULE: R6

IF: (veroyatn <90) and not onlyge4

THEN: mainexam=true cf 75

ROLE: R7

IF: (lating<>"Y" cf 40) and (lating<>"y" cf 50)

THEN: whattodo=" ВСЕ В ПОРЯДКЕ. ЖЕЛАЮ ВАМ НИ ПУХА ." cf 70

RULE: R8

IF: howcommon<onwalk+bymetro+bybus+15

THEN: biglate=true cf 60

RULE: R9

IF: howcommon >= onwalk+bymetro+bybus+15

THEN: biglate=false cf 80

VAR: WHATTODO

FIND: whattodo=" СОЖАЛЕЮ, Я НЕ ЗНАЮ, ЧТО ВАМ ПОСОВЕТОВАТЬ..."

LABEL: СОВЕТ КАК ДЕЙСТВОВАТЬ В ДАННОЙ СИТУАЦИИ.

VAR: MAINEXAM

LABEL: ПРЕДСТОЯЩИЙ ЭКЗАМЕН - ВАЖНЫЙ.

VAR: BIGLATE

LABEL: ТЕКУЩЕЕ ОПОЗДАНИЕ - ЗНАЧИТЕЛЬНОЕ.

VAR: LATING

LABEL: ВЫ РЕАЛЬНО ОПАЗДЫВАЕТЕ.

VAR: HOWCOMMON

FIND: output

output " СКОЛЬКО МИНУТ ВАМ ДОБИРАТЬСЯ ДО ИНСТИТУТА "

output "ОБЩЕСТВЕННЫМ ТРАНСПОРТОМ?"

input howcommon num using "nnn" cf 70

LABEL: ВРЕМЯ В ПУТИ ДО ИНСТИТУТА.

VAR: ONWALK

FIND: output

output " СКОЛЬКО МИНУТ ВАМ ПРИХОДИТСЯ ИДТИ ПЕШКОМ?"

input onwalk num using "nn" cf 75

LABEL: ВРЕМЯ ПЕШЕГО ПЕРЕДВИЖЕНИЯ.

VAR: BYMETRO

FIND: output

output " СКОЛЬКО МИНУТ ВАМ ПРИХОДИТСЯ ПРОВОДИТЬ В "

output "МЕТРО?"

input byimetro num using "nnn" cf 60

LABEL: ВРЕМЯ ПРОЕЗДА В МЕТРОПОЛИТЕНЕ.

VAR: BYBUS

FIND: output

output " СКОЛЬКО МИНУТ ВАМ ПРИХОДИТСЯ ПРОВОДИТЬ В "

output "АВТОБУСЕ?"

input bybus num using "nnn" cf 50

LABEL: ВРЕМЯ ПРОЕЗДА В АВТОБУСЕ, ТРОЛЛЕЙБУСЕ, ТРАМВАЕ.

VAR: ONLYGE4

FIND: output

output " НА ПРЕДСТОЯЩЕМ ЭКЗАМЕНЕ НЕ СТАВЯТ МЕНЬШЕ 4?"

input onlyge4 logic cf 60

LABEL: НА ПРЕДСТОЯЩЕМ ЭКЗАМЕ НЕ НЕ СТАВЯТ МЕНЬШЕ 4.

VAR: VEROYATN

FIND: output

output " КАКОВА ОБЪЕКТИВНАЯ ВЕРОЯТНОСТЬ ПОЛУЧЕНИЯ ВАМИ"

output " ЖЕЛАЕМОЙ ОЦЕНКИ?"

input veroyatn num using "nn" cf 60

LABEL: ОБЪЕКТИВНАЯ ВЕРОЯТНОСТЬ ПОЛУЧЕНИЯ ВАМИ ЖЕЛАЕМОЙ ОЦЕНКИ.

END: