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

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

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

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


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


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

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

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

    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       │  "Удаление"   │

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


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

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

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


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