Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


X ' КЛАССЫ 1 КЛАССИФИКАЦИЯ



9
10
11
12
13
14
15


Приложение Б
ПОДПРОГРАММЫ ДИАГНОСТИКИ

Добавив экраны, приведенные в настоящем разделе, к описанному в
приложении А прологоподобному расширению Форта, вы получите систему,
которая выполняет интерпретацию правил, ведет диалог с пользователем и
поддерживает функционирование рабочей памяти.

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

1. ГИПОТЕЗЫ. Сюда заносятся гипотезы, подлежащие проверке системой.
Среди них могут оказаться и конечные заключения ( см. экран 80 ).

2. ЗАКЛЮЧЕНИЯ. Короткий список, содержащий конечные заключения.

3. ФАКТЫ. Этот список используется как рабочая память или база данных
для истинных утверждений.

В приводимом расширении " главным" является слово ДИАГНОЗ. Оно пытает-
ся доказать гипотезы, поочередно помещая каждую в список ЦЕЛИ и выполняя ее
сопоставление с имеющимися предложениями. Доказательство проводится обратным
" методом, реализованным словом (ПОИСК). Если гипотеза оказывается верной,
процедура ДИАГНОЗ завершает свою работу и выдает конечное заключение.

Здесь мы имеем дело с модифицированным вариантом слова (ПОИСК),
допускающим диалог с пользователем и применение рабочей памяти.

Каждую цель процедура (ПОИСК) в первую очередь старается найти в спис-
ке ФАКТЫ (как уже доказанную) с помощью слова НАЙТИ-ФАКТ?, которое пред-
ставляет собой несколько модифицированный алгоритм слова НАЙТИ-
ПРЕДЛОЖЕНИЕ? . Если цель в списке ФАКТЫ не обнаружена, подпрограмма
(ПОИСК) пытается подыскать правило, используя слово НАЙТИ-ПРЕДЛОЖЕ-
НИЕ? . Если и этот поиск завершается неудачей, пользователю выдается запрос на
продолжение верификации. При получении на запрос ответа " Y" (" Да" ) цель до-
бавляется к списку ФАКТЫ как истинное утверждение. В том случае, когда выда-
ется ответ " N" (" Нет" ), программа (ПОИСК) возвращается по списку РЕШЕНИЯ
на один уровень выше текущего и продолжает функционирование.

Итак, в результате внесенных изменений имеем:

(ПОИСК)  модифицировано

СЛЕД      модифицировано

ПОИСК    модифицировано

ПОЛУЧ-ГИП получение гипотезы (аналогично слову ПОЛУЧИТЬ - ЦЕЛЬ)

НАЙТИ-ФАКТ? попытка обнаружения факта в списке ФАКТЫ аналогично

287


слову НАЙТИ-ПРЕДЛОЖЕНИЕ?

ДИАГНОЗ вновь определенное слово высокого уровня

ДИАЛОГ  получает ответ пользователя

Примечание. Проще добавлять доказанные факты к предложениям (а не к
списку ФАКТЫ), но в нашей системе это невозможно. ПРЕДЛОЖЕНИЯ -
список списков, и вы не можете внести цель в данный список без создания для нее
отдельного списка с последующим его присоединением к списку предложений.

Наша система не позволяет создавать списки в динамике. Вы всегда можете
определить с помощью команды ВЫДАТЬ, является ли некий объект атомом или
списком. Если выданный объект заключен в круглые скобки, он является списком, в
противном случае - атомом. Применяя выражение " ПОЛУЧИТЬ-ЦЕЛЬ ВЫДАТЬ",
мы получаем атом - верхний элемент списка ЦЕЛИ. С помощью же выражения
" ПРЕДЛОЖЕНИЯ @ ВЫДАТЬ" мы получаем список.

Поскольку наша система диагностики считается базовой, может возникнуть
потребность расширить ее следующим образом:

1. Добавить слово, которое при включении факта в список ФАКТЫ выдавало
бы след проведенного рассуждения для проверки, появились ли вследствие
добавления этого факта новые доказанные заключения, и если они появились,
присоединяло бы их к списку ФАКТЫ. Например, если доказано утверждение
ИМЕЕТ-ОПЕРЕНИЕ, то заключение ЭТО-ПТИЦА должно быть внесено в список
фактов, причем все вхождения выражения " ФАКТЫ СВЯЗЬ" в программу
(ПОИСК) должны быть заменены вводимым словом.

2. Добавить новый список ФАКТЫ, в котором запоминались бы неистинные
факты. В прежней реализации системы в список ФАКТЫ заносились истинные
факты, что не давало возможности задавать один и тот же вопрос при проверке
следующей гипотезы. Если же факт признавался ложным, он не сохранялся и
вопрос повторно задавался во время обоснования других гипотез. Требуется
модификация программы (ПОИСК) с тем, чтобы она проверяла и новый список.

Можно изменить наполнение базы знаний, приведенной на экранах с 80 по
83. Например, вы можете реализовать базу знаний для диагностики неисправности
автомобиля. Каковы при этом конечные гипотезы? Какие симптомы неисправностей
нужно учитывать? Что выбрать в качестве промежуточных целей?


Поделиться:



Последнее изменение этой страницы: 2019-03-29; Просмотров: 207; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.009 с.)
Главная | Случайная страница | Обратная связь