на тему рефераты
 
Главная | Карта сайта
на тему рефераты
РАЗДЕЛЫ

на тему рефераты
ПАРТНЕРЫ

на тему рефераты
АЛФАВИТ
... А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

на тему рефераты
ПОИСК
Введите фамилию автора:


Реферат: Искуственный интеллект


TOBJECT и имеет следующие поля и методы:

    - поле SLOT - номер помеченного в поле MARK значения;

    - поле CON - поле-метка для определения предпосылки  или  заключе-

ния;

    - метод LOAD - конструктор для загрузки данного объекта из потока;

    - метод STORE - процедура для сохранения объекта в потоке.

    Следует отметить, что каждый из этих объектов имеет методы LOAD  и

STORE, поскольку предполагается, что БЗ будет сохранена в файле ресур-

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

вольным доступом к объектам по ключам).

         3.3. Программная реализация составных частей системы

              3.3.1. Реализация интерфейса системы и СУБЗ

    Интерфейс системы создается следующим образом. Объявляется  объект

TEXPERT - потомок от стандартного объекта из  библиотеки  Turbo-Vision

TAPPLICATION, в котором уже содержатся  такие  необходимые  компоненты

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

поверхности, поддержка мыши и команды "Выход". Потомок перекрывает та-

кие методы TAPPLICATION, как INITSTATUSLINE для  создания  собственной

строки статуса, INITMENUBAR - для создания собственной строки "выпада-

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

и установки новой палитры, INIT - для подключения к  системе  ресурсов

(то есть инициализации файлов EXPERT.AIR и EXPERT.BLC)  и  регистрации

объектов в этих ресурсах, HANDLEEVENT -  для  обработки  нестандартных

команд.

    Главное (верхнее) меню системы имеет следующую структуру  (см.рис.

1).

        СИСТЕМА                            БАЗА

      ┌─────────────┐                    ┌──────────────┐

      │ ПАУЗА       │                    │ ОТКРЫТЬ      │

      │ MS-DOS      │                    │ НОВАЯ        │

      │ О ПРОГРАММЕ │                    │ ПЕРЕИМЕНОВАТЬ│

      │ ВЫХОД       │                    │ РЕДАКТИРОВАТЬ│

      └─────────────┘                    │ УДАЛИТЬ      │

                                         └──────────────┘

        ОКНА                               СЕРВИС

      ┌────────────┐                     ┌─────────────┐

      │ РАСПАХНУТЬ │                     │ ПАРОЛЬ      │

      │ ДВИЖЕНИЕ   │                     │ КАЛЕНДАРЬ   │

      │ ЗАКРЫТЬ    │                     │ КАЛЬКУЛЯТОР │

      │ СЛЕДУЮЩЕЕ  │                     │ ИГРА        │

      │ ПРЕДЫДУЩЕЕ │                     └─────────────┘

      └────────────┘

              Рисунок 1. Структура меню "Консультанта"

    Меню СИСТЕМА содержит наиболее общие опции работы в системе,  БАЗА

- операции управления базами знаний, ОКНА - операции над окнами, нахо-

дящимися на рабочей поверхности, СЕРВИС -  некоторые  инструментальные

средства, упрощающие работу пользователя в  системе.  Каждая  операция

меню программно связана с командой, которая затем обрабатывается в ме-

тоде HANDLEEVENT. Так, например, операция  НОВАЯ  связана  с  командой

CMNEW. Процедура - обработчик событий HANDLEEVENT содержит строку:

                        ... CMNEW:NEWBASE ...  ,

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

бор операции подсвеченной полосой или двойной щелчок "мышью") обработ-

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

ресурсов окно создания базы (объект TNEWWINDOW), считывает  из  строки

ввода введенное имя базы, записывает его в  файл  EXPERT.BLC,  создает

на диске новый файл с расширением "PRO", связывает его  имя  с  именем

базы и затем уничтожает окно TNEWWINDOW на экране.

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

ры, с которыми связаны эти операции через обработчик событий:

    - ПАУЗА, процедура PAUSE (осуществляет гашение экрана на время от-

лучения пользователя);

    - MS-DOS, процедура DOSCALL (осуществляет временный выход в DOS  и

возврат в систему по команде EXIT);

    - О ПРОГРАММЕ, процедура ABOUT (вызывает из файла ресурсов окно  с

краткими сведениями о данной программе);

    - ВЫХОД, стандартная команда Turbo-Vision;

    - ОТКРЫТЬ, процедура OPENBASE (ищет на  диске  файл,  связанный  с

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

знаний и вызывает основную процедуру машины  вывода  OUTPUTMACHINE  из

файла EXPERT.OVR);

    - НОВАЯ, см. выше;

    - ПЕРЕИМЕНОВАТЬ, процедура RENAMEBASE (удаляет имя  активной  базы

из списка баз файла EXPERT.BLC, извлекает из файла ресурсов окно пере-

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

в EXPERT.BLC и связывает это имя с базой);

    - РЕДАКТИРОВАТЬ, процедура EDITING (для  активной  базы  считывает

из из файла ресурсов диалоговое окно  установок  редактора,  запрещает

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

команды на его отмену);

    - УДАЛИТЬ, процедура ERASEBASE (после второго подверждения пользо-

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

ка имен баз файла EXPERT.BLC, затем уничтожает связанный с  этим  име-

нем файл БЗ на диске);

    - операции меню ОКНА, стандартные процедуры работы с окнами библи-

отеки Turbo-Vision;

    - ПАРОЛЬ, процедура PAROLE (устанавливает на  выбранную  базу  па-

роль для защиты ее от других пользователей;

    - КАЛЕНДАРЬ, процедура EXPCALEND (вызывает из файла ресурсов  окно

календаря);

    - КАЛЬКУЛЯТОР, процедура EXPCALC (извлекает из файла ресурсов  ок-

но калькулятора);

    - ИГРА, процедура EXPGAME (выводит окно  игры-головоломки  на  эк-

ран, предварительно считав его из файла ресурсов системы EXPERT.AIR).

    Все данные процедуры инкапсулированы в  объект  TEXPERT,  то  есть

объявлены как его методы.

    В строке статуса содержатся наиболее  часто  используемые  команды

(операции) и их "горячие" клавиши. Описание этих команд приводится вы-

ше, исключение составляет команда МЕНЮ, активизирующая строку  верхне-

го меню - это стандартная команда Turbo-Vision.

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

котором одна в данный момент времени активна. На экран окно  выводится

процедурой DRAWBANKLIST, которая вызывается непосредственно из  проце-

дуры TEXPERT.RUN и, в свою очередь, вызывает из  файла  ресурсов  окно

банка знаний, вставляет в него список имен БЗ из файла EXPERT.BLC.

                                                            Таблица 5.

             Новые или перекрытые методы объекта TEXPERT

┌─────────────────────────┬──────────────────────────────────────────┐

│          Метод          │            Назначение метода             │

├─────────────────────────┼──────────────────────────────────────────┤

│INIT                     │Вывод оболочки системы на экран, иницииро-│

│                         │вание файлов EXPERT.AIR и EXPERT.BLC, ре- │

│                         │гистрирование объектов этих файлов,наст-  │

│                         │ройка оверлейного файла,установка палитры.│

│                         │                                          │

│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).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 ...ЕСЛИ <ОБЪЕКТ - заголовок столбца  выбранного  значения>=<выбранное

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

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

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

 ...И <ОБЪЕКТ 2>=<выбранное ЗНАЧЕНИЕ 2>...   ,

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

бинацией <CTRL+ENTER> добавит в правило строку:

 ...ТО <ОБЪЕКТ 3>=<выбранное ЗНАЧЕНИЕ 3>...   .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TDICPETCHER.

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

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

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

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

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

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

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

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

д.).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Страницы: 1, 2, 3, 4, 5, 6, 7


на тему рефераты
НОВОСТИ на тему рефераты
на тему рефераты
ВХОД на тему рефераты
Логин:
Пароль:
регистрация
забыли пароль?

на тему рефераты    
на тему рефераты
ТЕГИ на тему рефераты

Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое.


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.