Методы искусственного интеллекта для синтеза проектных решений. Подольский В.Е - 26 стр.

UptoLike

12. Указатель переменных условия (правило 9)
9 1
Так как очередь пуста, процесс рассуждения заканчивается. Результатом работы алгоритма являются следующие
решения:
материал ванныхромоникелевая сталь;
ванна имеет защитную футеровку;
материал футеровкисвинец;
тип обогревапароводяная рубашка.
В простейшем случае результатом работы является список логических выводов, содержащий переменные вывода и их
значения. Однако существует ряд случаев, когда в качестве выходной информации используются и переменные условия. Это
позволяет обеспечить более логичное и наглядное представление исходных данных системы в виде, удобном пользователю.
Так в рассмотренном выше примере переменная выводаматериал футеровки входит в список выводов только при
определённых значениях переменной условияфутеровка”. Поэтому переменная условияфутеровка также может быть
рассмотрена как результат работы системы.
Предложенный алгоритм
не является самым универсальным и допускает ряд модификаций. В частности, допускается
различное толкование недостатка входных данных. В ходе работы алгоритма может возникнуть ситуация, когда при
обращении к некоторому правилу выяснится, что переменная условия в нём не была определена.
В данной ситуации система может либо запросить недостающие данные у пользователя, либо выдать сообщение о
недостающей информации и прекратить рассмотрение данного правила. Каждый из этих подходов имеет свои преимущества
и недостатки. В первом случае достигается более полный список выводов, но пользователю приходится вводить большее
количество информации. В противном случае недостаток входной информации может сделать невозможным получение
достаточно важных выводов, поэтому возникает задача выявления минимально необходимого комплекта входной
информации.
Существенного ускорения работы системы можно достичь за счёт исключения из дальнейшего рассмотрения уже
проверенных правил. Для тех правил, часть
ТО которых была выполнена, устанавливается признаквыполнено и они в
дальнейшем не обрабатываются системой. При этом следует помнить, что правило может не выполняться из-за недостатка
входной информации. По ходу работы алгоритма может быть найдена дополнительная информация, что позволит
обработать эти правила.
4.1.2. Алгоритм обратной цепочки рассуждений
В отличие от алгоритма прямой цепочки рассуждений при обратной цепочке рассуждений система ведёт работу от
гипотез и результатов к фактам и входной информации. Выдвинутая гипотеза проверяется на основе правил базы знаний. В
случае, если входной информации недостаточно для подтверждения гипотезы, происходит обращение к пользователю.
Работу алгоритма обратной цепочки рассуждений рассмотрим на основе примера, приведённого в предыдущем разделе
на основе фрагмента базы знаний проектирования гальванического оборудования. Набор фактов и правил в данном случае
остаётся без изменений.
Как и в прямом алгоритме, введём ряд вспомогательных таблиц, необходимых для работы алгоритма:
1)
список переменных условия (табл. 4);
2)
расширенный список переменных условия (табл. 5); построение этих таблиц рассмотрено ранее;
3)
список логических выводов. В список заносятся последовательно номера всех правил базы знаний и имена
переменных, расположенных в части
ТО соответствующих правил.
4)
стек логических выводов (табл. 13).
13. Стек логических выводов
Номер правила Номер условия
Пусть теперь системе требуется найти ответ на вопрос: какой материал необходим для изготовления защитной
футеровки проектируемой ванны?
Алгоритм ответа на вопрос будет включать в себя следующие шаги:
1. Определяем переменную, значение которой должно быть найдено. В нашем примере этоматериал футеровки”.
2. Находим переменнуюматериал футеровки в списке логических выводов. В стек логических выводов (табл. 14)
заносим номера правила и условия, содержащие вывод по материалу. Данный шаг алгоритма рассуждений допускает
некоторые модификации:
а) В стек заносятся в обратном порядке номера всех правил, содержащих в части
ТО искомую переменную:
Затем выбираем из стека верхнее правило и начинаем его обработку. Если правило доказать не удалось, из стека
выбираем следующее правило и т.д. В дальнейшем будем использовать данную модификацию алгоритма.
б) В стек заносится номер первого найденного правила, а на соответствующую строку в списке логических выводов
установим указатель. Если правило недоказуемо, повторяем поиск в базе знаний, начиная его с текущей позиции указателя
(табл. 15).