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, то есть окно с командными кнопками
и инкапсулированными связанными процедурами.
... исследования в области искусственного интеллекта и медицины как совершенно независимые. В этом случае допускается возможность только использования медицинских знаний в плане психологического обеспечения работ по ИИ. Но и работы по искусственному интеллекту тоже влияют на развитие медицины.. В качестве первого результата можно выделить появление новой области психологических исследований, а ...
... основные линии работ по ИИ. Первая связана с совершенствованием самих машин, с повышением "интеллектуальности" ис- кусственных систем. Вторая связана с задачей оптимизации совместной работы "искусственного интеллекта" и собственно интеллектуальных воз- можностей человека. Переходя к собственно психологическим проблемам ИИ О.К. Тихомиров выделяет три позиции по вопросу о взаимодействии ...
... будет несколько другим). Когда система построенная из базовых элементов достаточно разовьется (будет иметь сложную структуру , а следовательно определенное количество опыта), то она сможет стать действительным Искусственным интеллектом, который также как и человек будет непредсказуем и не однозначен. И перед человеком будет задача только в наведении интерфейса с этим ИИ. (для решения определенных ...
... решить большое число сложных задач, либо способность найти нетривиальное решение? Насколько важно, к примеру, развитие дивергентного, "латерального" мышления, и как взаимосвязаны уровень способностей и творческая отдача? Эти вопросы изучаются теорией интеллектуальных различий. В настоящее время существует, как минимум, три трактовки понятия интеллекта: 1. Биологическая трактовка: "способность ...
0 комментариев