43608 (Искуственный интеллект), страница 4

2016-07-31СтудИзба

Описание файла

Документ из архива "Искуственный интеллект", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика" в общих файлах.

Онлайн просмотр документа "43608"

Текст 4 страницы из документа "43608"

│INITSTATUSLINE │Вывод на экран новой строки статуса. │

│ │ │

│INITMENUBAR │Вывод на экран новой строки верхнего меню.│

│ │ │

│HANDLEEVENT │Обработка нестандартных команд (событий). │

│ │ │

│RUN │Извлечение из файла EXPERT.BLC списка │

│ │имен баз знаний, запуск программы на ис- │

│ │полнение. │

│ │ │

│DRAWBANKLIST │Вывод на экран окна банка знаний. │

│ │ │

│IDLE │Обновление индикатора кучи. │

│ │ │

│PAUSE │Гашение экрана. │

│ │ │

│CALLDOS │Временный выход в MS-DOS. │

│ │ │

│CALLWIN │Временный выход в Windows 3.х. │

│ │ │

│CALLNC │Временный выход в Norton Commander. │

│ │ │

│ABOUT │Информация о программе. │

│ │ │

│OPENBASE │Открытие выбранной базы знаний для кон- │

│ │сультации. │

│ │ │

│NEWBASE │Создание новой базы. │

│ │ │

│RENAMEBASE │Переименование базы. │

│ │ │

│EDITING │Редактирование базы. │

│ │ │

│ERASEBASE │Удаление базы. │

│ │ │

│PAROLE │Установка пароля на выбранную базу. │

│ │ │

│EXPCALEND │Вывод календаря. │

│ │ │

│EXPCALC │Вывод калькулятора. │

│ │ │

│EXPGAME │Вывод игры. │

│ │ │

│DONE │Удаление программы из оперативной памяти, │

│ │выход в MS-DOS. │

└─────────────────────────┴──────────────────────────────────────────┘

3.3.2. Реализация редактора знаний

Как уже упоминалось, при выборе в меню БАЗА операции РЕДАКТИРО-

ВАТЬ запускается управляющая процедура EDITING. Данная процедура, как

и прочие, инкапсулированая в объект TEXPERT, по имени активной (выб-

ранной) базы находит связанный с ней файл, извлекает из него объекты

DATABASE и RULEBASE, затем из файла ресурсов вызывает и выводит на эк-

ран диалоговое окно установок редактора. Это окно имеет:

- статический текст, показывающий, какая база будет редактировать-

ся;

- группы переключаемых опций (в терминах Turbo-Vision - кластеры)

двух видов (в библиотеке Turbo-Vision это объекты TRADIOBUTTONS и

TCHECKBOXES);

- командные кнопки.

Группы опций выполняют следующие установки:

- группа ВИД БАЗЫ позволяет установить конфигурацию БЗ и порядок

вывода из нее информации;

- группа ИНТЕРФЕЙС конфигурирует факты и правила таким образом,

чтобы машина вывода могла их вывести в том или ином виде;

- группа ВИД РЕДАКТОРА устанавливает один из двух приведенных ти-

пов редакторов знаний;

- группа РЕСУРСЫ позволяет сделать установки типа объектов, кото-

рые будут обрабатываться БЗ. Это могут быть либо строки либо текст;

- группа СОСТАВЛЯЮЩИЕ вызывает любой из редакторов, входящих в

состав редактора БЗ и представляющих собой редакторы отдельных элемен-

тов БЗ (объектов, вопросов об объектах, возможных значений объектов,

правил);

- группа РЕКВИЗИТЫ БАЗЫ позволяет включить в состав проектируемой

база знаний дополнительные компоненты.

Ниже групп в окне раполагаются четыре командные кнопки:

1. Кнопка ПУСК вызывает из оверлейного файла EXPERT.OVR процедуру

SELECTOR (см. ниже).

2. Кнопка СБРОС приводит переключаемые опции в группах в первона-

чальное положение.

3. Кнопка ОТМЕНА позволяет удалить окно с рабочей поверхности и

выйти из режима редактирования.

4. Кнопка ПОМОЩЬ выдает контекстную справку о том, как пользовать-

ся окном.

Как уже упоминалось выше, по команде ПУСК вызывается процедура

SELECTOR. Эта процедура обрабатывает полученную из диалогового окна

установок редактора информацию и позволяет вызвать ту или иную проце-

дуру в зависимости от этой информации.Например, при начальных установ-

ках по умолчанию вызывается редактор объектов и вопросов

ATRIBUTEDITOR (слово OBJECT внутри ЭС "Консультант" заменено на

ATRIBUT, поскольку OBJECT - зарезервированное слово языка Турбо-Пас-

каль 6.0).

Рассмотрим на уровне процедур процесс создания новой базы. В окне

установок редактора выберем установки по умолчанию. Первым после нажа-

тия кнопки ПУСК (или клавиши на клавиатуре) на экран посредст-

вом процедуры ATRIBUTEDITING (именно эту процедуру запустит SELECTOR

по умолчанию) выведется окно редактора объектов, вызванное из файла

EXPERT.AIR. Редактор объектов представляет собой диалоговое окно с

двумя строками ввода и восьмью управляющими командными кнопками. Каж-

дая кнопка связана с определенной процедурой посредством обработчика

событий окна TATRIBUTEDITOR.HANDLEEVENT. Все эти процедуры инкапсули-

рованы в объект TATRIBUTEDITOR. Словом, эти кнопки генерируют различ-

ные действия как с информацией, считанной из строк ввода процедурой

TINPUTLINE.GETDATA, так и поведения редактора объектов в теле редакто-

ра БЗ, составляющей которого он является. Так, например, кнопка ВВЕС-

ТИ включает полученные из строк ввода окна объект и вопрос о нем в ба-

зу фактов, кнопка ЗАПИСЬ сохраняет объекты или вопросы на диске в фай-

ле создаваемой или редактируемой БЗ, кнопка ДАЛЕЕ позволяет перейти к

следующему шагу редактирования - редактору значений, а кнопка НАЗАД -

к предыдущему (окно установок редактора). Все эти действия описывают-

ся методами объекта TATRIBUTEDITOR (его предок - объект TDIALOG) со-

ответственно INBASE, RECBASE, NEXT, PREVIOUS.

Как уже упоминалось выше, по команде ДАЛЕЕ вызывается процедура

NEXT, которая запускает процедуру VALUEEDITING. VALUEEDITING - проце-

дура, управляющая процессом ввода или редактирования значений. Редак-

тор значений - это ряд последовательно сменяющихся диалоговых окон,

аналогичных редактору объектов; отличие составляют:

- наличие статического текста, указывающего, для какого объекта

идет редактирование значений,

- имеется одна строка ввода вместо двух,

- имеется дополнительная кнопка ДРУГОЙ, позволяющая по окончании

редактирования одного объекта перейти к редактированию другого (то

есть, сменить окно).

Следует отметить, что редактор значений выдает такое количество

окон, сколько имеется объектов в базе знаний.

По команде ДАЛЕЕ окна редактора значений редактор БЗ переходит к

следующему этапу редактирования - редактору правил. Последний постро-

ен по принципу электронной таблицы и представляет собой матрицу, верх-

няя строка которой - имена объектов (FACT^.ATRIBUT), под каждым из ко-

торых в столбец выведены разрешенные значения. Перемещение по таблице

осуществляется клавишами управления курсором или "мышью", выбор значе-

ния для предпосылки - клавишей , выбор значения для заключения

- комбинацией клавиш . Подробнее: выбор какого-либо значе-

ния клавишей равносилен записи в правило следующего пункта:

...ЕСЛИ =<выбранное

ЗНАЧЕНИЕ>... ,

выбор другого значения из другого столбца добавляет в правило сле-

дующую строку:

...И =... ,

то выбор какого-либо значения из какого-либо другого столбца ком-

бинацией добавит в правило строку:

...ТО =... .

Необходимо отметить, что особенности синтаксиса баз знаний, разра-

батываемых в системе "Консультант", позволяют в данном правиле для од-

ного объекта выделить только одно значение, а в самом правиле - толь-

ко одно заключение (предпосылок может быть сколь угодно много).

Редактор правил реадизуется процедурой RULEEDITING, которая загру-

жает из файла ресурсов EXPERT.AIR объект TRULEEDITOR, в который инкап-

сулированы все процедурыуправления событиями внутри него. Помимо мат-

рицы (таблицы) редактор правил имеет также командные кнопки, такие же

как и в предыдущих редакторах. При нажатии кнопки ВНЕСТИ инкапсулиро-

ванная процедура INRULE вызывает процедуру RULESFORMER, обрабатываю-

щую помеченные в таблице значения и переводящая их во внутренний фор-

мат базы правил.

По окончании заполнения или редактирования базы правил с помощью

команды ДАЛЕЕ на экран выводится диспетчер редактора. Его вызывает

процедура CALLDISPECTHER, которая извлекает окно диспетчера из файла

ресурсов и выводит его на рабочую поверхность. Диспетчер редактора -

диалоговое окно с четырьмя командными кнопками, которые связаны с про-

цедурами, аналогично предыдущим инкапсулированными в объект

TDICPETCHER.

- Кнопка УПАКОВКА вызывает на исполнение процедуру PACKADER, поз-

воляющую удалить из базы фактов незадействованные при редактировании

правил значения и объекты.

- Кнопка ОПТИМИЗАЦИЯ связана с процедурой OPTIMIZE, позволяющей

без нарушения логики знаний исправить базу правил таким образом, что-

бы сократить ее размеры до минимальных и, следовательно, в дальнейшем

при ее использовании уменьшить время сеанса консультации (например,

удаление одинаковых правил, сокращение размеров логических цепей и т.

д.).

- Кнопка ПРОВЕРКА запускает процедуру LOOKFOR, которая проверяет

смысл введенных правил (например, устраняет зацикливание правил (см.

далее), указывает на неоднозначность (см.далее) и т. д.).

- Кнопка СОХРАНИТЬ вызывает процедуру SAVEBASE, которая выполняет

две функции: сохранение созданной или отредактированной БЗ на диске и

выход из режима редактирования в основной режим (СУБЗ).

Следует заметить, что если пользователь желает в дальнейшем про-

должить проектирование недоработанной БЗ, ему не следует применять

операции УПАКОВКА и ОПТИМИЗАЦИЯ по отношению к незаконченной базы,

поскольку часть фактов, значений и правил, возможно необходимых ему в

дальнейшем, процедуры могут счесть ненужными. Эти факты, значения и

правила будут безвозвратно потеряны.

3.3.3. Реализация машины вывода

Входящая в систему "Консультант" машина вывода имеет ряд особен-

ностей, отличающей ее от машин других ЭС:

- обработка правил, хранящихся в матричной форме (правила в дру-

гих ЭС имеют обычно текстовое представление);

- использование стратегии комбинированного вывода (см. ниже);

- возможность в ходе консультации возврата к предыдущему шагу.

Машина вывода физически предсавляет собой комплекс процедур, выра-

батывающих маршрут оптимального движения к поставленной пользователем

цели в зависимости от ответов на задаваемые ей вопросы.

На экране машина вывода - это ряд последовательно выводящихся

окон, в каждом из которых содержится вопрос пользователю и список воз-

можных ответов на него. Стандартное окно машины вывода процедурой

INITOUTPUTWINDOW извлекается из файла ресурсов системы, вопрос об

объекте и список возможных его значений, считанные из файла этой ба-

зы, вставляются в окно этой же процедурой. Запустить машину вывода

можно тремя способами:

1. Выбрать в списке баз окна банка знаний нужную базу, в сфере ко-

торой требуется получить консультацию, и нажать .

2. Выбрать нужную базу полосой-указателем и, войдя в верхнее меню

системы нажатием клавиши , выбрав пункт БАЗА и в нем операцию ОТК-

РЫТЬ, нажать .

3. Дважды щелкнуть левой клавишей "мыши" на имени нужной базы.

После этих действий автоматически запустится процедура OPENBASE,

которая, проведя необходимые настройки (поиск файла выбранной базы,

извлечение из него баз фактов и правил и т. д.), запускает в свою оче-

редь процедуру OUTPUTMACHINE, являющуюся ядром всей машины вывода. Ал-

горитм функционирования машины вывода таков:

1) Формирует базу целей.

2) Выводит на экран окно с просьбой пользователю выбрать цель и

списком возможных целей.

3) Получив от пользователя цель и ее номер, ищет ее в базе целей.

4) Исходя из этого номера, переформировывает базу правил в вид,

удобный для поиска ответа (так называемую рабочую базу правил).

5) Если в рабочей базе правил остался один элемент, выдает на его

основании свое решение, иначе выводит на экран окно с вопросом и спис-

ком разрешенных значений для объекта с номером, полученным от первого

объекта РБП, получает от пользователя номер значения и возвращается к

шагу N4.

6) Вызывает диспетчер вывода.

Машина вывода применяет разработанную стратегию комбинированного

(смешанного вывода). При получении номера цели от пользователя, из уп-

равляющей программы вызывается процедура формирования РБП, которая ис-

пользует обратный вывод (так называемый "поиск в ширину"). Его смысл

заключается в следующем: берется конечная цель (заключение), ищется

для него предпосылка, затем для полученной таким образом предпосылки

ищется заключение в другом правиле и так до тех пор, пока не обнару-

жится "висячая" предпосылка, не имеющая заключения. По ней и будет за-

дан вопрос пользователю. Однако машина вывода "Консультанта" в этом

месте действует по иному. Выявив все необходимые для достижения цели

"висячие" предпосылки, она формирует новую одноцелевую РБП, все прави-

ла которой построены по следующему принципу: "висячие" предпосылки ис-

ходной базы правил образуют предпосылки РБП, а целевые заключения ис-

ходной - заключения новой РБП. Так сформирована новая база правил с

одной целью и одинаковым количеством предпосылок в каждом правиле. Да-

лее применяется метод прямого вывода ("поиска в глубину"). С каждым

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5184
Авторов
на СтудИзбе
435
Средний доход
с одного платного файла
Обучение Подробнее