Смекни!
smekni.com

Искуственный интеллект (стр. 8 из 13)

│ Объект │ Назначение │Уникальный номер│Индексный ключ │

├────────────────┴──────────────────┴────────────────┴───────────────┤

│ ФАЙЛ EXPERT.AIR │

├────────────────┬──────────────────┬────────────────┬───────────────┤

│TBANKWINDOW │Окно банка знаний.│ 100 │ "Банк" │

│TNEWWINDOW │Окно создания но- │ 101 │ "Новая" │

│ │вой базы. │ │ │

│TRENAMEWINDOW │Окно переименова- │ 102 │"Переименовать"│

│ │ния базы. │ │ │

│TERASEWINDOW │Окно удаления базы│ 103 │ "Удаление" │

│TEXITWINDOW │Окно подтвержде- │ 104 │ "Выход" │

│ │ния выхода. │ │ │

│TSTATEWINDOW │Окно установок ре-│ 105 │ "Установки" │

│ │дактора. │ │ │

│TATRIBUTEDITOR │Окно редактора │ 106 │ "Объекты" │

│ │объектов. │ │ │

│TVALUEEDITOR │Окно редактора │ 107 │ "Значения" │

│ │значений. │ │ │

│TRULEEDITOR │Окно редактора │ 108 │ "Правила" │

│ │правил. │ │ │

│TDISPETCHER │Окно диспетчера │ 109 │ "Диспетчер" │

│ │редактора. │ │ │

│TMACHINE │Окно консультации │ 110 │"Машина вывода"│

│ │машины вывода. │ │ │

│TSTATUSLINE │Строка статуса. │ N Turbo-Vision │ "Статус" │

│TMENUBAR │Полоса меню. │ N Turbo-Vision │ "Меню" │

│TCALCULATOR │Калькулятор. │ N Turbo-Vision │ "Калькулятор" │

│TCALENDWINDOW │Календарь. │ N Turbo-Vision │ "Календарь" │

│TPUZZLEWINDOW │Игра. │ N Turbo-Vision │ "Игра" │

│TMANAGER │Диспетчер машины │ 111 │ "Менеджер" │

│ │вывода. │ │ │

├────────────────┴──────────────────┴────────────────┴───────────────┤

│ ФАЙЛ EXPERT.BLC │

├────────────────┬──────────────────┬────────────────┬───────────────┤

│TBANKLIST │Список баз знаний.│ 112 │ "Список" │

├────────────────┴──────────────────┴────────────────┴───────────────┤

│ ФАЙЛЫ ПОЛЬЗОВАТЕЛЯ BASE+<i>+.PRO │

├────────────────┬──────────────────┬────────────────┬───────────────┤

│TDATABASE │База фактов. │ 200 │ "Данные" │

│TRULEBASE │База правил. │ 201 │ "Правила" │

│TFACT │Факт. │ 202 │ - - - - - - - │

│TVALUE │Значение. │ 203 │ - - - - - - - │

│TRULE │Правило. │ 204 │ - - - - - - - │

│TUNITAL │Элемент правила. │ 205 │ - - - - - - - │

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

3.4.3. Организация поддержки длинных имен баз знаний.

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

разработан механизм поддержки так называемых "длинных имен" файлов.

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

за него это делает система; например, создавая новую базу, он видит

лишь то, что имя новой БЗ появляется в окне банка знаний и может и не

знать о том, что в это время происходит на диске.

Процесс поддержки длинных имен баз реализуется следующим образом.

Создается строковая коллекция имен БЗ BASES, где каждое имя имеет

свой уникальный индекс. При создании новой базы пользователь вводит

ее имя; система заносит новое имя в коллекцию BASES и создает на дис-

ке файл, сформировав его имя по принципу:

BASE+<номер базы в коллекции>+.PRO

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

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

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

банке знаний есть три базы: ПРОБА, ПОПЫТКА и ТЕСТ. На диске имеется

соответственно три файла: BASE1.PRO, BASE2.PRO, BASE3. PRO. При удале-

нии базы ПОПЫТКА, ее имя удаляется из списка, файл BASE2.PRO удаляет-

ся с диска, а файл BASE3.PRO базы ТЕСТ принимает имя BASE2.PRO).

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

мы все имеющиеся имена баз будут утеряны. Чтобы этого не случилось,

вся коллекция имен баз BASES записывается в специально созданный файл

ресурсов EXPERT.BLC. В конструкторе TEXPERT.INIT открывается файл

списка имен баз, а остальные процедуры управления БЗ могут всячески

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

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

в файл EXPERT.BLC деструктором TEXPERT.DONE.

При разработке системы файл EXPERT.BLC был создан программой M_

LIST.EXE. Эта программа производит следующие действия:

1. Создает на диске поток EXPERT.BLC и связывает с ним ресурс.

2. Создает пустую коллекцию BASES и регистрирует ее.

3. Заносит эту коллекцию в файл под ключом "Список".

4. Закрывает файл.

Следует отметить, что при потере этого файла все базы банка зна-

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

русском языке останутся лишь ничего не значащие имена файлов.

3.5. Выводы

Проанализировав все вышесказанное, можно указать следующие харак-

терные черты системы "Консультант":

1) система имеет все признаки приложения, разрабатываемого в Тур-

бо-Паскале с использованием библиотеки Turbo-Vision, такие как нали-

чие "выпадающих" меню и строки статуса, многооконный режим работы,

стандартный вид элементов диалоговых окон и многие другие.

2) система, как и другие приложения, созданные в Турбо-Паскале,

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

вателем типы данных.

3) Широкое использование таких инструментов Turbo-Vision, как ре-

сурсы, коллекции, потоки данных, скроллинг текста.

Вместе с тем следует отметить и те особенности системы, отличаю-

щей ее от других ЭС:

1) Поддержка длинных имен баз знаний.

2) Наличие пошагового многооконного редактора знаний.

3) Средства управления базами знаний (СУБЗ).

4) Редактор правил в виде электронной таблицы.

5) Возможность временного выхода в другие оболочки.

6) Комбинированная стратегия вывода.

7) Представление правил в виде кодов.

8) Возможность сохранения протоколов консультации и управления

ими.

9) Оптимизация базы правил.

10) Упаковка базы фактов.

11) Получение однозначного решения.

12) Средства проверки БЗ на непротиворечивость.

Таким образом, "Консультант" является качественно новой оболочкой

экпертных систем.

Часть 4. Методика работы в системе "Консультант"

4.1. Общие операции в системе

4.1.1. Установка и запуск системы

Запуск системы из оболочки Norton Commander осуществляется путем

выбора файла START.BAT из каталога EXPERT и нажатия клавиши <ENTER>,

либо двойного щелчка левой клавишей "мыши" на имени этого файла. Для

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

теля Norton Commander, путем внесения в файл NC.MNU следующих строк,

например:

1: система "Консультант"

с:&bsol;expert&bsol;start.bat

Для запуска системы из операционной системы MS-DOS следует наб-

рать после подсказки С:&bsol;> следующую строку, например:

с:&bsol;expert&bsol;start[.bat]

Если необходимо ускорить процесс запуска системы, путь поиска фай-

ла START.BAT можно указать в файле AUTOEXEC.BAT, внесением в него сле-

дующей строки,например:

PATH с:&bsol;expert

Тогда, по команде START независимо от того, на каком диске нахо-

дится пользователь, запустится "Консультант".

Если система внесена в операционную оболочку Windows 3.x (скорее

всего, она будет находиться в группе "Приложения"), то ее запуск про-

изведется после двойного щелчка "мышью" на ее пиктограмме (значке)

или выбора ее клавишами управления курсором и нашатия <ENTER>.

4.1.2. Выход из системы

Для осуществления выхода из "Консультанта" с помощью клавиатуры

следует выполнить ряд таких действий: нажать <F9> для входа в верхнее

меню, выбрать пункт СИСТЕМА и нажать <ENTER>, выбрать операцию ВЫХОД

и нажать <ENTER>, в появившемся диалоговом окне подтвеждения данной

операции выбрать кнопку ДА. Или можно просто нажать клавишу <F10>,

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

выхода.

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

бором из меню, либо щелчком на тексте "F10 ВЫХОД" в строке статуса,

после чего также появится диалоговое окно.

Таблица 8.

"Горячие клавиши" системы

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