скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

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

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

событий окна 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. Выбрать в списке баз окна банка знаний нужную базу, в сфере ко-

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

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

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

РЫТЬ, нажать <ENTER>.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

шагу N4.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ненужные правила до тех пор, пока не останется одно  правило,  состоя-

щее из одного элемента (заключения).

    Преимущества этой стратегии вывода в следующем:

    1) Количество вопросов сокращается до  минимума,  поскольку  метод

исключает возможность появления лишних.

    2) Сокращается время поиска вопросов для достижения цели; они фор-

мируются естественным путем при формировании РБП.

    3) Исключается возможность неоднозначных решений.

    Машина вывода реализуется следующими процедурами:

    - OUTPUTMACHINE - основная управляющая процедура;

    - INITOUTPUTWINDOW - выводит окно консультации с вопросом и  спис-

ком возможных ответов;

    - MAKETARGET - формирует базу целей;

    - WORKRULEBASEFORMER - формирует РБП из исходной базы  правил  об-

ратным методом;

    - WORKRULEBASEREFORMER - переформировывает РБП  в  зависимости  от

номера ответа пользователя (прямым методом);

    - CONCLUDE - выводит окончательное решение на экран.

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

цедуры машины вывода в своем теле.

    По окончании сеанса консультации процедура OUTPUTMACHINE  вызывает

из файла ресурсов диспетчер вывода - специальную сервисную  программу,

выполняющую некоторые полезные операции. Диспетчер вывода  -  диалого-

вое окно с пятью кнопками:

    - кнопка МАРШРУТ выводит на экран полный путь,  проделанный  маши-

ной вывода в поисках цели;

    - кнопка ПРОТОКОЛ создает на диске текстовый  файл  с  расширением

"REP" и именем XXXXXXXX (где первые две цифры - число,  вторые  две  -

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

вый номер протокола за эти сутки), в который помещает протокол  прове-

дения консультации;

    - кнопка СПИСОК выдает диалоговое окно  выбора  сохраненных  ранее

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

них;

    - кнопка ПЕЧАТЬ позволяет распечатать полученный протокол с  помо-

щью принтера;

    - кнопка ВЫХОД возвращает пользователя  в  основной  режим  (режим

СУБЗ).

    Диспетчер вывода реализуется  процедурой  CALLMANAGER,  вызывающей

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

и инкапсулированными связанными процедурами.

            3.3.4. Реализация связи с другими программами

    "Консультант" представляет собой интегрированную  систему,  однако

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

оболочку.

    Этой цели служит операция меню СИСТЕМА - ОБОЛОЧКИ.  Данная  опера-

ция разворачивает подменю с тремя операциями:

    - операция MS-DOS вызывает процедуру CALLDOS, позволяющую  времен-

но выйти в операционную  систему  MS-DOS,  выполнить  там  необходимые

действия и вернуться в систему, набрав в командной строке DOS  команду

EXIT;

    - операция NORTON COMMANDER выполняет те же действия по  отношению

к оболочке Norton Commander. Реализуется процедурой CALLNC, возврат  в

систему - последовательное нажатие клавиш <F10> и <ENTER>;

    - операция WINDOWS 3.X также позволяет выполнить аналогичную  про-

цедуру с графической оболочкой  Windows  3.x.  Реализуется  процедурой

CALLWIN, возврат в систему нажатием комбинации клавиш <ALT+F4>  и  за-

тем клавиши <ENTER>.

    Все эти операции реализуются аналогично:

    1) отключаются все подсистемы "Консультанта" (распределение  памя-

ти, обработчик системных ошибок, поддержка стандартного вида экрана  и

т. д.);

    2) администратор кучи сохраняет ее в оперативной памяти;

    3) устанавливаются стандартные векторы прерываний DOS;

    4) активизируется командный процессор DOS;

    5) командному процессору передается необходимая команда для запус-

ка той или иной оболочки.

    По окончании действий пользователя в оболочке:

    1) устанавливаются векторы прерываний;

    2) восстанавливается куча;

    3) включаются все подсистемы системы;

    4) восстанавливается предыдущий вид экрана системы.

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

можно будет загрузить любую другую программу. Если какая-либо из  обо-

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

но выполнить эту операцию!"

           3.4. Программы, не входящие в комплект поставки

     3.4.1. Создание и использование библиотек (модулей)

    Система "Консультант" использует следующие модули:

    1. Стандартные модули Турбо-Паскаля:

    - SYSTEM.TPU (основной модуль Турбо-Паскаля);

    - CRT.TPU (модуль, содержащий процедуры работы с  текстовым  экра-

ном);

    - DOS.TPU (модуль,  позволяющий  работать  с  операциями  среднего

уровня - уровня операционной системы);

    - PRINTER.TPU (операции печати);

    2. Стандартные модули Turbo-Vision%

    - APP.TPU (базовый модуль для любой программы);

    - OBJECTS.TPU (модуль, содержащий все невидимые объекты, использу-

ющиеся в программе);

    - VIEWS.TPU (базовый модуль для создания видимых компонентов прог-

раммы);

    - DIALOGS.TPU (модуль, включающий диалоговые окна и  их  компонен-

ты);

    - MENUS.TPU (модуль, используемый при создании строк меню и стату-

са);

    - MEMORY.TPU (модуль управления памятью);

    - DRIVERS.TPU (модуль, служащий для обработки событий);

    3. Демонстрационные модули  Turbo-Vision,  не  входящие  в  состав

Turbo-Vision, но идущие в комплекте Турбо-Паскаль 6.0:

    - CALC.TPU (реализация калькулятора);

    - CALENDAR.TPU (создание календаря);

    - PUZZLE.TPU (реализация игры-головоломки);

    - MSGBOX.TPU (испрользование информационных окон);

    - GAUGES.TPU (управление кучей);

    4. Созданный при разработке системы  модуль  MAIN.TPU,  содержащий

все объекты, используемые системой (см. выше), указатели на эти объек-

ты, регистрационные записи этих объектов, основные глобальные процеду-

ры СУБЗ, машины вывода и редактора знаний, а  также  константы  команд

для обработчиков событий объектов.

    Все используемые процедуры перечисленных модулей, кроме CRT,  DOS,

DRIVERS и MAIN, включаются  в  файл  EXPERT.OVR.  CRT,  DOS,  DRIVERS,

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


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.