Автор: Григорьев А.В.
Источник: Практика i перспективи розвитку iнституцiйного партнерства». Вiсник ДонГТУ – ТРТУ. Донецьк: РВА ДонНТУ, 2003 – C.96-106.
Григорьев А.В. Принципы организации вывода решений в базе знаний инструментальной оболочки для создания интеллектуальных САПР. Рассмотрены особенности концепции знаний в инструментальной оболочке. Описаны методы организации вывода решений.
В работе [1] был определен метод организация пространства поиска решений в специализированной инструментальной оболочке для создания интеллектуальных САПР - мета-эвристической оболочки (МЭО). Ранее в работе [2] был определен ряд принципов построения МЭО. К главным особенностям МЭО относится: 1) Использование семиотической модели [3] при представлении концептуальной модели предметной области МЭО; 2) Ориентации применяемой концептуальной модели ПрОб (КМ ПрОб) на физическую семантику ПрОб; 3) Ориентация при обучении базы знаний комплекса на ограниченное количество имеющихся в наличии апробированных на практике моделей – прототипов сложных объектов данной предметной области; 4) Задание признаков объектов (генотипа) как идентификаторов подмножества структурных элементов, явно определяющих его структуру (т.е. фенотип); 5) Грамматический подход к представлению описаний моделей. Ранее были изложены основные принципы представления знаний в МЭО.
В соответствии с работой [1] кратко изложим метод организации представления знаний в МЄО. Принятая в МЭО КМ ПрОб предполагает наличие явно введенной внутренней границы блока (включающей как подмножество и внешнюю границу блока), что позволяет рассматривать внутреннюю среду блока как замкнутый одноуровневый набор связей.
Предлагаемый путь представления знаний основан на выполнении теоретико-множественных операций (ТМО) - объединение, пересечение, дополнение и разность - над имеющимися прототипами как совокупностями "обобщенных" связей внутренней среды. Т.о. обучение, т.е. формирование базы знаний, выполняется автоматически, без участия пользователя. Рассмотрим пример. Пусть имеется некоторое множество прототипов, входящих в тип блоков А: А ' =(P 1 U P 2 U P 3 ). На рис. 1 показана обобщенная схема типа А, построенная в рамках предлагаемой концептуальной модели.
Результат выполнения теоретико-множественных операций над совокупностями "обобщенных" связей (далее - просто связей), образующими данные прототипы, составляет ряд подмножеств @j, определяющих некоторые части внутренней среды прототипов. При этом:Результат выполнения теоретико-множественных операций над совокупностями "обобщенных" связей (далее - просто связей), образующими данные прототипы, составляет ряд подмножеств @j, определяющих некоторые части внутренней среды прототипов. При этом:
P 1 =@1&@2 ; P 2 =@1&@2&@3; P 3 =@2&@3;
@1=5; @2=1&2&3&4; @3=6&7&8&9&10.
Рисунок 1 - Обобщенная схема типа А
Тут 1,2… - сквозные номера оригинальных связей, определенные в пределах всего типа блоков. Преобразуем множество прототипов A к форме И-ИЛИ-дерева:
А ' =(P 1 U P 2 U P 3 ) = @2 & H1; H1=@1 U @3 U H2; H2=@1&@3.
На рис. 2 изображено полученное И/ИЛИ дерево.
Рисунок 2 - Форма И-ИЛИ-дерева
В скобках показаны номера прототипов, входящих в данную вершину, числами заданы номера связей, стрелками показан порядок декомпозиции узлов. Номера прототипов в вершинах неявно задают продукционные зависимости для ИЛИ-узлов, используемые при выводе с целью синтеза (выбора) необходимых прототипов в САПР. Семантика зависимостей такова: "если в данном ИЛИ-синтерме (узле) удалить вариант (признак), включающий прототип К, то прототип К должен быть удален во всех прочих узлах". С учетом названных зависимостей А ' может быть определен как идентификатор модуля знаний о структуре внутренней среды объектов типа А.
Детально механизм вывода описан в [2]. Кратко суть вывода в таких условиях может быть охарактеризована следующими положениями:
Общий подход к синтезу гипотез предполагает, что автоматически формируется декартово произведению всех составляющих всех ИЛИ-синтермов, входящих в И-ИЛИ-дерево. Описанный выше порядок вывода может быть охарактеризован как монотонный вывод без предварительных допущений [4], на базе одной модели мира.
Недостатком приведенных выше результатов является отсутствие описания общего порядка организации вывода на множестве модулей знаний.
Для построения описания организации вывода в базе знаний МЭО. необходимо решить следующие основные задачи:
1) Определить порядок вывода на множестве модулей знаний.
2) Соотнести выполнение процесса задания ТЗ и процесса вывода.
3) Описать алгоритм управления выводом продукций разных типов на различных этапах вывода.
Целью данной работы является общее изложение организации вывода в базе знаний МЭО. Решение данной задачи позволит сформировать более полное теоретическое обоснование для построения специализированной инструментальной оболочки создания интеллектуальных САПР.
Считаем, что база знаний ориентирована на решение задач конструирования. Все средства организации вывода адаптируются к специфике модели САПР решения типичных задач проектирования и отражают модифицированную модель САПР, заданную ранее в теории сложности САУ [2].
Общий подход к организации базы знаний как множеству эвристических правил - продукций, работающих с грамматиками, базируется на организации немонотонного вывода, т.е. вывода, допускающего отрицание фактов, ранее определенных как истинные [4] [5]. Релаксация вывода, т.е. переход базы знаний в состояние, когда все условия соблюдены [5], достигается предлагаемым ниже порядком выполнения продукций, обеспечивающим сходимость процесса вывода. Цель вывода, т.е. релаксации - соотнести техническое задание (ТЗ) со структурой искомого решения.
База знаний, как совокупность продукций строится экспертным путем и задает "поверхностные" знания [5]. Т.е. продукции представляют собой эвристические правила, связывающие абстрактные категории данных (возможный вариант структуры объекта из текущего состояния модели как возможное техническое задание, вводимое пользователем) с абстрактными категориями решений (добавить в схему фрагмент, удалить фрагмент).
"Глубинные знания", т.е. знания о поведении и свойствах объекта, заданного структурой, выражаются через совокупность функций базовых структурных блоков и проявляются только после синтеза структуры уже в ходе моделирования. До этого "глубинные знания" определяются только через признаки структуры объекта.
По-прежнему в качестве основы базы знаний рассматривается И-ИЛИ-дерево, описывающее возможные комбинации групп связей. Но прототипы, лежащие в основе БЗ, явно не рассматриваются , и номера прототипов явно не входят в альтернативы синтермов. Неявные зависимости - продукции, составляющие основу вывода в ранее рассмотренной модели представления знаний, задаются в этом случае уже как явные продукции. Цель таких явных продукций, в данном случае, это неявно задать возможные допустимые прототипы через разрешенные комбинации частей.
Данные продукции связывают по некоторому алгоритму номера альтернатив, входящие в ИЛИ-синтермы, составляющие посылку продукции, с номерами альтернатив, входящих в ИЛИ-синтермы, составляющие вывод продукции. Типичная форма зависимости посылки и вывода:
ЕСЛИ данный вариант существует в посылке,
ТО существует и соответствующий вариант в посылке.
Возможные варианты: 1) "существует" - "не существует"; 2) " не существует" - "существует"; 3) "не существует" - "не существует".
ИЛИ-синтермы, входящие в посылку или вывод продукций, задают фрагмент или группу фрагментов описания модели, входящие в базу знаний.
Посылка, как правило, явно привязана к текущему состоянию модели, формируемой в процессе синтеза. Однако возможным считается режим, при котором, косвенно подразумевая наличие посылки в текущем состоянии модели, тем не менее, посылка привязана только к диалогу с пользователем, задающем ТЗ. Т.о., продукция есть совокупность ряда "простых" продукций связывающих зависимость множеств альтернатив посылки и вывода, что позволяет условно отнести такие продукции к макропродукциям.
Отличные исходные допущения, задаваемые как контексты - "среды обитания", задающие гипотетические модели мира [6], могут формироваться на основе продукций, требующих первоначально наличия в куче некоторого набора вариантов структуры в соответствии с выбором предметной области, задаваемой пользователем как фрагмент ТЗ.
Основой представления знаний есть модуль знаний - т.е. локальная БЗД о структурном блоке. Модуль включает знания о:
"Типичный" процесс синтеза структуры блока по модулю знаний состоит в построении его структуры, исходя из:
Этапы синтеза по модулю:
База знаний это:
1) И-ИЛИ-дерево, т.е. упорядоченное множество синтермов по "И" и по "ИЛИ", где все синтермы имеют адрес в И-ИЛИ-дереве;
2) Множество семантических двунаправленных зависимостей между ИЛИ-синтермами, описывающими их совместимость между собой, т.е. правил вывода или продукций.
Примечание 1.Имеется фиксированный порядок просмотра или нумерации синтермов по ИЛИ в порождающей грамматике как при подсчете вариантов структур в порождающей грамматике так и при формировании вопросов к пользователю (проектировщику), т.е. "спрашивании" у пользователя. Допускается любой возможный порядок: сверху-вниз и справа-налево или любой другой.
Наименование "куча" по отношению к элементам базы знаний взято по аналогии к известному примеру конструирования требуемой башни из ряда деталей, сложенных в кучу [4]. В нашем случае база знаний - это:
1) "Полная" куча, т.е. список всех синтермов по ИЛИ, т.е. альтернатив в их исходном, полном виде, взятых из исходного И-ИЛИ-дерева, при том, что:
2) Множество продукций;
3) "Пустая" куча, т.е. список имен ИЛИ-синтермов, у которых нет альтернатив; предназначена для заполнения конкретными решениями при синтезе, т.е. при работе множества продукций.
Примечание 2. Имена пустых ИЛИ-синтермов могут порождаться самими продукциями. В этом случае "пустая" куча первоначально действительно пуста.
Продукции могут иметь различные значения четырех параметров, определяющих механизм управления их срабатыванием. Эти параметры задают отношения между различными составляющими продукций и системы управления выводом, т.е. - посылки, вывода и кучи. Возможные отношения:
1) посылки с "кучей" - проверяющие и не проверяющие состояние кучи ("опускающие голову" и "не опускающие");
2) посылки с пользователем - спрашивающие и неспрашивающие;
3) вывода с "кучей" - удаляющие и прибавляющие;
4) посылки и вывода - однонаправленные и двунаправленные.
Допустимы любые формы продукций, которые можно получить, исходя из декартового произведения значений атрибутов:
- (оп, неоп)*(спр, неспр)*(удал, приб)*(одно, дву).
Т.е. возможно 16 типов продукций. Тип продукции является ее динамической характеристикой и определяется в зависимости от текущего режима вывода. Потенциально все продукции: проверяющие (опускающие); спрашивающие; двунаправленные. Характеристика продукций "прибавляющие" или "удаляющие" определяется в зависимости от операции, выполняемой выводом продукции в куче. Задача выбора типа продукций может ставиться следующим образом.
Дано:
- информация о проектируемом объекте у пользователя, т.е. ТЗ, само ТЗ может быть не полным или противоречивым, или же не иметь соответствия в БЗД;
- предпочтительный режим работы для пользователя (диалоговый, пакетный), требующий применения тех или иных критериев управления выводом.
Определить: - тип продукции.
Деление процесса вывода: 1) дерево модулей знаний; 2) отдельный модуль знаний; 3) этап, как часть модуля, как определение в описании структуры блока группы отношений некоторого типа (т.е. таблица); 4) шаг, как часть этапа. Детализируем сказанное.
Вывод по дереву модулей знаний:
- при синтезе имеет смысл рассосредоточить процесс вывода по отдельным блокам-модулям знаний;
- выбор модулей может осуществляться в соответствии с их порядком следования в дереве модулей, где они структурированы по включению друг в друга; движение по дереву модулей может осуществляться, например, по принципу слева-направо и сверху-вниз.
Собственно процесс вывода прототипа - это упорядоченный процесс прохода по синтермам ИЛИ, целью которого является задание ТЗ пользователем и проверка введенного ТЗ на семантическую и синтаксическую корректность.
Порядок выбора синтермов для просмотра и отработки и связанных с ними продукций определяется критериями управления выводом.
Имеется два варианта работы с кучей: 1) Сначала ТЗ, затем вывод; 2) Совмещение ввода ТЗ и процесса вывода. Рассмотрим их отдельно.
Этап задания пользователем ТЗ предшествует процессу вывода, т.е. проверки семантической корректности. При этом пользователь формирует ТЗ как ответы на все вопросы, касающиеся особенностей объекта:
В случае, если пользователь задал ТЗ как совокупность ответов в диалогово-пакетном режиме, то синтаксическая правильность ответов гарантируется самой системой вывода. В случае, если пользователь задал ТЗ в пакетном режиме, то необходим предварительный этап проверки синтаксической корректности ТЗ, цель которого - выяснение вопросов:
- есть ли такие ИЛИ-синтермы – вопросы в И-ИЛИ-дереве;
- есть ли в них такие термы - ответы.
В случае синтаксической верности ТЗ проводится собственно вывод, т.е. проверка семантической верности ТЗ. "Пустая" куча модифицируется в процессе вывода путем отработки продукций и редукции альтернатив, не соответствующих заданным в продукциях отношениям между альтернативами. В этом случае подразумевается работа системы вывода в режиме "опускающий"-"неспращивающий".
Задание ТЗ проводится постепенно, с проведением промежуточной проверки семантической корректности полученных от пользователя частных ответов, т.е.:
Управление выводом в этом случае задается следующим рядом мета-продукций, специфичных для данного случая:
1) ЕСЛИ после отработки всех продукций выполнилось одно из условий
((все альтернативы – ИЛИ-синтермы имеют один вариант, т.е. отсутствует неопределенность) И (пользователю больше нечего добавить, т.е. все ТЗ уже задано))
ИЛИ (пользователь дал ответ "больше ничего не знаю", т.е. ТЗ исчерпалось еще до конца процесса редукции неопределенности по ИЛИ в БЗД)
ТО достигнут "благоприятный" результат вывода, т.е. получено одно или ряд решений, соответствующих поставленному ТЗ.
2) ЕСЛИ после отработки всех продукций выполнилось одно из условий
((одна или несколько альтернатив не имеют ни одного варианта, т.е. ТЗ задает решение, отсутствующее в БЗД) И (пользователь не закончил ввод ТЗ))
ИЛИ (пользователь дал ответ "такого варианта в предложенном наборе нет") И (ТЗ не исчерпалось до конца)
ТО достигнут "неблагоприятный" результат вывода, т.е. не получено ни одно решение, соответствующее поставленному ТЗ;
3) ЕСЛИ ни одно из предыдущих условий не выполнилось
ТО идем на начало алгоритма, т.е. на выбор ИЛИ-синтерма.
Предполагает такие случаи переходов:
Имеются крупные и мелкие шаги. Рассмотрим их детальнее
1) Крупные шаги:
- сначала все прибавляющие продукции, работают в любом порядке до тех пор, пока полный их цикл ничего не изменит в куче;
- затем работают удаляющие продукции, в цикле, в произвольном порядке, но один раз.
2) Мелкие шаги:
- среди прибавляющих продукций сначала идут "не опускающие голову", а затем "опускающие голову";
- в режиме спрашивания управлять спрашиванием с помощью критериев оптимизации процесса вывода с точек зрения "экономии ресурсов машины" или "экономии времени человека".
Предлагаемый порядок призван обеспечить убедительность вывода [4], т.е. отсутствие зацикливаний в цепочке вывода.
В данной работе получены следующие результаты:
Таким образом, поставленная задача выполнена. Полученные результаты дают более полное представление о методах организации базы знаний в МЭО.
В качестве перспективных направления исследований, не раскрытых в данной статье, можно назвать:
1) Задание конкретных алгоритмов задания множества семантических зависимостей над ИЛИ-синтермами в дереве при определении множества имеющих смысл "производных" прототипов;
2) Детальное определение критериев оптимизации процесса вывода с точек зрения "экономии ресурсов машины" или "экономии времени человека";
3) Определение конкретных форм организации диалога с пользователем при задании ТЗ.
1. Григорьев А.В.. Организация пространства поиска решений в специализированной оболочке для создания интеллектуальных САПР. Вiсник ТРТУ-ДонГТУ. Материалы 2-го межд. н.-т. семинара "Практика и перспективы институционального партнерства". Донецк, ДонГТУ, 2001, N1, С.57-68.
2. Григорьев А.В. Семиотическая модель базы знаний САПР. Научные труды Донецкого государственного технического университета Серия: Проблемы моделирования и автоматизации проектирования динамических систем, выпуск 10: Донецк, ДонГТУ, 1999. — С. 30-37.
3. Поспелов Д.А. Ситуационное управление: теория и практика. М.: Наука, 1986. - 288 с.
4. Джексон П. Введение в экспертные системы. М.: ИД Вильямс, 2001.
5. Doule J. A truth maintenance system. 1979. Artificial Intelligence, N12, p.231-272.
6. De Kleer J. An assumption based TMS. 1986. Artificial Intelligence, N28, p.127-162.