![]() |
|
|
Реферат: Искуственный интеллектобъекте и список возможных его значений, считанные из файла этой ба- зы, вставляются в окно этой же процедурой. Запустить машину вывода можно тремя способами: 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, MAIN - модули, использующие процедуры обработки прерываний (например, модуль DRIVERS содержит процедуры обработки событий от клавиатуры и "мыши"), а механизм оверлеев не распространяется на такие процедуры; данные модули включены непосредственно в файл EXPERT.EXE. Таблица 6. Используемые объекты модулей Turbo-Vision. ┌─────────────┬──────────────┬───────────────────────────────────────┐ │ Модуль │ Объект │ Функция объекта │ ├─────────────┼──────────────┼───────────────────────────────────────┤ │APP.TPU │TAPPLICATION │Стандартная программа. │ │ │TDESKTOP │Поверхность экрана. │ ├─────────────┼──────────────┼───────────────────────────────────────┤ │OBJECTS.TPU │TOBJECT │Главный объект всей объектной иерархии │ │ │ │Turbo-Vision. │ │ │TCOLLECTION │Коллекция. │ │ │TBUFSTREAM │Буферизированный поток. │ │ │TRECT │Прямоугольник. │ │ │TSTREAMREC │Регстрационная запись. │ │ │TRESOURCEFILE │Файл ресурсов. │ │ │TSTRINGLIST │Коллекция строк. │ ├─────────────┼──────────────┼───────────────────────────────────────┤ │VIEWS.TPU │TVIEW │Абстрактный видимый объект. │ │ │TGROUP │Объект-группа. │ │ │TTPALETTE │Тип палитры. │ │ │TWINDOW │Базовый объект всех окон. │ │ │TSCROLLBAR │Полоса скроллинга. │ │ │TFRAME │Рамка видимого объекта. │ │ │TCOMMANDSET │Группы разрешаемых или запрещаемых ко- │ │ │ │манд. │ ├─────────────┼──────────────┼───────────────────────────────────────┤ │DIALOGS.TPU │TDIALOG │Диалоговое окно. │ │ │THISTORY │Протокол ввода. │ │ │TSTATICTEXT │Статический текст. │ │ │TSITEM │Элемент кластера. │ │ │TBUTTON │Командная кнопка. │ │ │TCHECKBOXES │Кластер с независимыми кнопками. │ │ │TRADIOBUTTONS │Кластер зависимых кнопок. │ │ │TINPUTLINE │Строка ввода. │ │ │TLABEL │Метка для кластера или строки ввода. │ │ │TLISTBOX │Скроллер списка строк. │ ├─────────────┼──────────────┼───────────────────────────────────────┤ │MENUS.TPU │TMENU │Список связанных записей для меню. │ │ │TMENUBAR │Горизонтальная полоса меню. │ │ │TMENUITEM │Элемент меню. │ │ │TSTATUSDEF │Контекстная подсказка строки статуса. │ │ │TSTATUSLINE │Строка статуса. │ │ │TSTATUSITEM │Элемент строки статуса. │ ├─────────────┼──────────────┼───────────────────────────────────────┤ │DRIVERS.TPU │TEVENT │Тип записи события. │ ├─────────────┼──────────────┼───────────────────────────────────────┤ │CALC.TPU │TCALCDISPLAY │Табло дисплея и вычислительные действия│ │ │TCALCULATOR │Окно калькулятора. │ ├─────────────┼──────────────┼───────────────────────────────────────┤ │CALENDAR.TPU │TCALENDARVIEW │"Начинка" календаря. │ │ │TCALENDWINDOW │Окно календаря. │ ├─────────────┼──────────────┼───────────────────────────────────────┤ │PUZZLE.TPU │TPUZZLEVIEW │Игровое поле и правила игры. │ │ │TPUZZLEWINDOW │Окно игры. │ ├─────────────┼──────────────┼───────────────────────────────────────┤ │GAUGES.TPU │THEAPVIEW │Индикатор доступной динамической памяти│ │ │ │ │ └─────────────┴──────────────┴───────────────────────────────────────┘ 3.4.2. Подготовка ресурсов Для уменьшения объема занимаемой памяти (как оперативной, так и памяти "винчестера") и повышения "читаемости" программы, в системе ис- пользуется механизм ресурсов. Его суть состоит в следующем: все объек- ты, используемые в основной программе, записываются в отдельный файл, затем по ходу выполнения программы, вызываются в ее тело по ее же ко- мандам. Программа M_VISUAL.EXE служит для подготовки файла ресурсов EXPERT.AIR. Алгоритм ее работы следующий: 1. Создает на диске поток (полиморфный файл данных, ориентирован- ный на работу с объектами). 2. Связывает с ним файл ресурсов EXPERT.AIR (в Turbo-Vision файл ресурсов - это поток с произвольным доступом к данным). 3. Регистрирует все объекты, входящие в файл ресурсов, получая их регистрационные записи из модулей записываемых объектов. 4. Загружает объекты из модулей и записывает их в файл ресурсов. 5. Закрывает поток. Каждый объект записывается в файл ресурсов под определенным уни- кальным ключом. Им может быть строка произвольных символов любой дли- ны. В теле основной программы в конструкторе TEXPERT.INIT производит- ся открытие файла ресурсов, а соответствующие процедуры используют нужные им объекты, подгружая их из EXPERT.AIR. Таблица 7. Ресурсы системы "Консультант" ┌────────────────┬──────────────────┬────────────────┬───────────────┐ │ Объект │ Назначение │Уникальный номер│Индексный ключ │ ├────────────────┴──────────────────┴────────────────┴───────────────┤ │ ФАЙЛ EXPERT.AIR │ ├────────────────┬──────────────────┬────────────────┬───────────────┤ │TBANKWINDOW │Окно банка знаний.│ 100 │ "Банк" │ │TNEWWINDOW │Окно создания но- │ 101 │ "Новая" │ │ │вой базы. │ │ │ │TRENAMEWINDOW │Окно переименова- │ 102 │"Переименовать"│ │ │ния базы. │ │ │ │TERASEWINDOW │Окно удаления базы│ 103 │ "Удаление" │ |
|
|||||||||||||||||||||||||||||
![]() |
|
Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое. |
||
При использовании материалов - ссылка на сайт обязательна. |