Назад в библиотеку

Механизм логического вывода как основа создания шаблонов проектирования

Автор: Бондаренко Е.С., Григорьев А.В.
Источник: Сборник трудов Круглого стола Донецкого международного Круглого стола «Искусственный интеллект: теоретические аспекты и практическое применение ИИ-2022»

Аннотация

Бондаренко Е.С., Григорьев А.В. Механизм логического вывода как основа создания шаблонов проектирования. В предлагаемой статье рассматривается специфический вариант применения механизма логического вывода как инструмента построения проектных шаблонов в задачах синтеза геометрических объектов.

Общая постановка проблемы

Для построения шаблонов проектирования в системах автоматизированного проектирования используются различные методики. В предлагаемой статье рассматривается специфический вариант применения механизма логического вывода как инструмента построения проектных шаблонов в задачах синтеза геометрических объектов.

Исследование

Механизм логического вывода — это инструмент, используемый для логических заключений о ресурсах базы знаний [1]. Механизм логического вывода интерпретирует и оценивает факты в базе знаний, позволяя обеспечить синтез требуемого объекта.

Таким образом, механизм логического вывода в сочетании с базой знаний может обеспечить автоматическое построение требуемых геометрических объектов.

Механизм логического вывода может использовать определенные факты, заданные из-вне, как техническое задание, с целью синтеза на основе базы знаний определения целевого геометрического объекта.

База знаний состоит из правил, которые определяют соответствия между фактами и заключениями (выводами).

База знаний, предназначенная для автоматизации проектирования геометрических объектов, содержит в себе правила, благодаря которым осуществляется:

- поиск необходимых программных методов из существующего графического API (программного интерфейса пользователя);

- вызов методов на выполнение с набором сформированных требуемых входных параметров.

Факты трактуются как параметры желаемого объекта некоторого класса в рамках программного шаблона. В применении к задаче построения графических объектов в качестве фактов рассматриваются внешние условия построения геометрического объекта. Например, для точки можно назвать такие условия: точка на пересечении двух заданных прямых, точка на перпендикуляре и т.д. Аналогично трактуются факты для отдельной линии или четырёхугольника. База знаний имеет модульный вид, где модули (интеллектуальные шаблоны) вложены друг в друга (точка - как подмодуль линии, линия – как подмодуль четырехугольника и т.д.).

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

ЕСЛИ [требуемого признака у данной схемы (одного из классов шаблона) нет], ТО [удалить схему из дальнейшего рассмотрения];

ЕСЛИ [признак есть только у удалённых схем], ИЛИ [признак есть у всех доступных схем] ТО [удалить этот признак из дальнейшего рассмотрения].

Фактически создается И-ИЛИ-дерево вариантов выбора требуемого класса из программного шаблона, где правила определяют совместные или несовместные варианты (альтернативы ИЛИ-узлов) классов.

Выбор того или иного варианта одного из ИЛИ-узлов в И-ИЛИ-дереве в ходе синтеза (логического вывода) приводит к автоматическому удалению несовместных альтернатив в прочих ИЛИ-узлах. Таким путем осуществляется поиск и вызов метода для создания геометрических объектов по заданным пользователем параметрам.

Вершины типа И определяют необходимый состав структурных компонент объекта, а вершины типа ИЛИ – неопределенные компоненты, подлежащие конкретизации путем анализа согласованности свойств компонента. Результатом структурного проектирования являются состав компонентов и отношения (структурные связи) между ними. На этапе технического проектирования состав компонентов и соединения должны быть полностью конкретизированы [2].

Т.о., логический вывод реализуется при помощи сокращения И-ИЛИ узлов в дереве модуля знаний. Модуль знаний – это шаблон построения объекта, позволяющий выбрать (синтезировать) тот вид объекта, который имеет требуемые отличия [3]. Алгоритм работы логического вывода представлен на рисунке 1.

Рисунок 1 – Алгоритм логического вывода

Рисунок 1 – Алгоритм логического вывода

В различной части, которую этот модуль извлекает из модуля знаний, каждый элемент представляет собой листья И-ИЛИ дерева решений, по которым система в процессе диалога с пользователем и даёт ему возможность неявно выбрать ту или иную схему по её структурным особенностям. Система позволяет пользователю, как указать какой-либо элемент, удовлетворяющий его требованиям, так - и исключить элемент из выбора, т.е. выбранного признака в схеме не должно быть.

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

На рисунке 2 представлена UML диаграмма прецедентов для разработанной подсистемы проектирования.

Рисунок 2 – UML диаграмма прецедентов

Рисунок 2 – UML диаграмма прецедентов

Акторами выступают проектировщик, модуль логического вывода и API – взаимодействующие части системы.

Как видно из рисунка, проектировщик при использовании шаблона во взаимодействии с модулем логического вывода, исключает несовместные варианты и определяет необходимый метод, который после этого система вызывает.

Рассмотрим алгоритм работы логического вывода одного из модулей знаний подсистемы.

На рисунке 3 представлен алгоритм работы модуля «точка», который работает для построения простейшего геометрического объекта – точки.

Рисунок 3 – Алгоритм работы логического вывода модуля точки

Рисунок 3 – Алгоритм работы логического вывода модуля точки

После прохода по всему И-ИЛИ дереву решений создается объект «точка», являющийся результатом синтеза по шаблону данного геометрического объекта.

После входа подсистемы в модуль «точки», «линии» или «четырехугольника» и прохода по узлам подсистема определяет комплекс методов для построения геометрического объекта и вызывает их. В результате система синтезирует определенный геометрический объект.

Выводы

Таким образом, механизм логического вывода применим для создания шаблонов проектирования.

Однако стоит учитывать, что создание такой системы синтеза геометрических объектов требует детальной и точной проработки на подготовительном этапе создания шаблонов. При составлении правил для обхода И-ИЛИ деревьев решений необходимо учесть все возможные факты, вносимые в базу знаний, и связи между всеми ее компонентами.

Предлагаемый подход применялся авторами на практике для расширения функционала интеллектуальной САПР CATIA.

Список использованной литературы

1. Нильсон Н. Искусственный интеллект. Методы поиска решений. М.: Мир, 1973.
2. Katzenbach A., Bergholz W., Rolinger A.: Knowledge-based design – an integrated approach, in: S.B. Heidelberg (Ed.), The Future of Product Development, 2007, pp. 13-22.
3. Григорьев А.В. Специфика выполнения теоретико-множественных операций над контекстно-свободными грамматиками в условиях различных форм дополнительных семантических правил в семиотической модели интеллектуальных САПР // Научные труды Донецкого национального технического университета. Серия «Проблемы моделирования и автоматизации проектирования динамических систем» (МАП – 2006). Выпуск 5 (116). – Донецк: ДонНТУ, 2006. – С. 91-104.