Изоморфизм различных моделей структурного описания предметной области

УДК 004.891.3

ИЗОМОРФИЗМ РАЗЛИЧНЫХ МОДЕЛЕЙ СТРУКТУРНОГО ОПИСАНИЯ ПРЕДМЕТНОЙ ОБЛАСТИ

С.С. Сосинская1, Д.А. Дубинин2

Иркутский государственный технический университет, 664074, г. Иркутск, ул. Лермонтова, 83.

Статья посвящена вопросам построения и взаимосвязи информационных моделей, используемых для описания предметной области. Высказывается гипотеза об изоморфности различных информационных моделей. Рассматриваются следующие преобразования: онтологии в базу данных; онтологии в данные для классификации и построения дерева решений; дерева решений в правила нечеткого вывода системы MatLab. Преобразования иллюстрируются примерами из предметной области технологических процессов изготовления деталей. Ил. 7. Библиогр. 5 назв.

Ключевые слова: онтология; дерево решений; классификация; нечеткий вывод; база данных.

ISOMORPHISM OF DIFFERENT MODELS FOR STRUCTURAL DESCRIPTION OF APPLICATION DOMAIN S.S. Sosinskaya, D.A. Dubinin

Irkutsk State Technical University, 83 Lermontov St., Irkutsk, 664074.

The article discusses development and interaction problems of information models used for describing the application domain. It puts forward a hypothesis on the isomorphism of various information models. It considers the transformations of the ontology into the database; the ontology into data for classification and derivation of a decision tree; the decision tree into the fuzzy inference rules of MatLab system. The transformations are illustrated with the examples from the application domain of technological processes for part manufacturing. 7 figures. 5 sources.

Key words: ontology; decision tree; classification; fuzzy inference; database.

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

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

Построение онтологии. Под онтологией понимается детальное описание некоторой проблемной области, которое используется для формального и декларативного определения ее концептуализации. Она включает в себя словарь терминов этой области и множество логических связей (типа «элемент-класс», «часть-целое»), которые описывают, как эти термины соотносятся между собой.

Разработка онтологии — это итеративный процесс, так как представления о структуре предметной области постоянно уточняются; существует стандарт представления онтологий IDEF5.

Программный продукт OntoStudio был разработан фирмой Ontoprise GmbH в 2007 году как профессиональная среда для решений, базирующихся на онто-

логиях. При описании структуры предметной области вначале создаются понятия (concepts), которые организуются в некоторую иерархию. Понятия могут иметь свойства (attributes) определенных типов и отношения (relationships), в качестве которых выступают другие понятия [5].

Понятия могут иметь экземпляры (instances), которые содержат конкретные значения свойств.

Для получения новых связей между понятиями существуют правила.

После создания онтологии к ней можно выполнить разнообразные запросы.

По сути онтология представляет собой экспертную систему, в которой экземпляры понятий играют роль фактов базы знаний, правила есть правила базы знаний, а ответы на запросы есть результаты экспертной консультации.

Преобразование онтологии в базу данных. Программа OntoStudio имеет в своем составе функцию преобразования базы данных в онтологию. Авторами разработан конвертер «Онтология - База данных».

Конвертер анализирует файл с онтологией, написанный на языке разметки Object Logic, и формирует скрипт с операторами создания таблиц (каждая таблица соответствует понятию, ее атрибуты - поля таблицы, первичный ключ - уникальное числовое значе-

1Сосинская Софья Семеновна, кандидат технических наук, доцент кафедры технологии машиностроения, тел.: 89149153062, e-mail: sos@istu.edu

Sosinskaya Sofya, Candidate of technical sciences, Associate Professor of the Department of Mechanical Engineering Technologies, tel.: 89149153062, e-mail: sos@istu.edu

2Дубинин Дмитрий Андреевич, магистрант, тел.: 89041534421, e-mail: dhdaan@istu.edu Dubinin Dmitry, Candidate for a Master's degree, tel.: 89041534421, e-mail: dhdaan@istu.edu

ние, вторичный ключ - ключ понятия - отношения) и добавления к базе данных информации об экземплярах понятий.

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

Преобразование онтологии в данные для классификации и построения дерева решений. Подмножество онтологии, соответствующее экземплярам понятий, может использоваться для решения задачи классификации или таксономии. Входом задачи классификации являются объекты, то есть экземпляры понятий с числовыми свойствами - атрибутами, рассматриваемые как точки в многомерном пространстве признаков. Алгоритм таксономии подразделяет эти точки на классы по степени их близости в пространстве признаков. Результаты таксономии можно визуализировать различными способами: в виде силуэтов, дендрограмм и дерева решений.

Все эти способы изоморфны.

Значение силуэта для каждой точки есть мера сравнения близости ее к точкам своего класса и удаленности от точек других классов; оно находится в диапазоне [-1, +1]:

S =

min(bt k —a ) max(ai}mm(bt к)) '

где а1 - среднее расстояние от 1-ой точки до других точек своего класса; Ь к - среднее расстояние от ¡-ой

точки до класса к.

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

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

Авторами разработан конвертер для преобразования экземпляров понятия в матрицу числовых признаков вида

<имя атрибута 1><имя атрибута 2><имя атрибута 3>...

<значение 1.1> <значение 1.2> <значение 1.3>... <значение 2.1> <значение 2.2> <значение 2.3>... <значение 3.1> <значение 3.2> <значение 3.3>...

где строки соответствуют экземплярам онтологии.

Также разработан скрипт средствами пакета МаАаЬ для проведения классификации по методу среднего ктеапБ

Функция [ЮХ, С] = kmeans(X, К) разбивает точки в матрице данных X размера №Р на К кластеров. Это разбиение минимизирует сумму расстояний точек от центров кластеров. Строки X соответствуют объектам, столбцы соответствуют свойствам - полям. Функция

вычисляет вектор IDX из N элементов, содержащий номера кластеров каждой точки. По умолчанию kmeans использует квадрат эвклидова расстояния. Кроме того, вычисляется положение центров K кластеров в матрице C размера K*P.

Наилучшей классификацией для kmeans является та, которая обеспечивает максимальное значение среднего значения силуэтов одной классификации.

Пакет Statistics MATLAB содержит программу построения дерева решений по результатам классификации.

Функция T = treefit(X,Y) создает дерево решений для данных X, которые являются матрицей N*M, Y -символьный массив, содержащий имена классов каждого объекта. T - двоичное дерево, в котором каждый нетерминальный узел имеет два дочерних на основе значений колонок X. Левая дуга соответствует истинности условия, правая - истинности противоположного условия.

Функция treedisp выдает визуальное представление дерева, а функция classregtree - его текстовое представление.

Преобразование дерева решений в правила нечеткого вывода системы MatLab. Один из инструментов MatLab Fuzzy Logic включает возможность построения системы нечеткого логического вывода в некоторой предметной области. Эта система на основе классов принадлежности термов входных переменных и правил определяет нечеткие значения выходной переменной. В частности, в рассматриваемом случае входными переменными будут свойства экземпляров понятий онтологии, то есть значения числовых признаков, разделенные на ряд интервалов, соответствующих термам, а выходная переменная также имеет ряд термов, которыми, как мы предполагаем, являются классы, полученные в результате таксономии набора объектов.

Нечеткий логический вывод отличается от обычного, реализуемого многими экспертными системами, в частности и OntoStudio, тем, что значения входных и выходных переменных оцениваются не точно, а с некоторой вероятностью или коэффициентом уверенности. Такой способ оценки ближе к реальности, так как позволяет ставить в соответствие термам и правилам некоторые значения, что хотя и вносит в расчеты элемент субъективности, но предоставляет исследователю более широкие возможности.

Авторами разработан конвертер дерева решений в систему нечеткого вывода. Здесь мы исходим из предположения, что дерево решений изоморфно правилам системы нечеткого вывода.

На вход конвертера поступает текстовый файл, содержащий минимальное и максимальное значения термов входных величин, а также правила дерева решений в текстовом представлении. Так как файл описания системы нечеткого вывода (расширение fis) является текстовым и имеет известную структуру, то это преобразование осуществляется с помощью определенного алгоритма.

Пример предметной области - технологические процессы изготовления деталей. Детали, изго-

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

Типизация технологических процессов. Обоснование общих принципов проектирования технологических процессов и разработка на базе классификации деталей типовых процессов позволяет сократить разнообразие последних и создать оптимальные процессы для различных условий производства.

Классификацией называется объединение в группы и классы деталей, близких по конструкции, размерам и общности технологии их изготовления.

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

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

Обработка деталей одной группы должна концентрироваться на одном рабочем месте с применением групповой настройки и характерных для данной группы приспособлений и инструментов.

Для разработки технологического процесса обработки деталей групп, называемого групповым, в каждой группе может быть выделена характерная для нее деталь, называемая комплексной. Такая деталь состоит из ряда простых поверхностей: наружных и внутренних цилиндрических, конических, наружных и внутренних канавок, резьбовых поверхностей и т. п. У отдельных деталей имеются лишь некоторые из этих поверхностей.

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

Для комплексной детали составляется групповой технологический процесс, предусматривающий возможность уменьшения количества операций и переходов с использованием общих приспособлений и инструментов (групповая наладка) [1].

Как показано в работе [2], для описания деталей и технологий их изготовления была разработана онтология, содержащая такие понятия, как изделие, узел, деталь, типовой процесс и т.д., которые образуют иерархию.

Понятия имеет отношения, в качестве которых выступают другие понятия. Например, понятие Дета-ле-Операция имеет отношения выполняемая операция, для детали, на станке, с наладкой.

Для получения новых знаний в онтологию включены правила.

Пример правила:

ЕСЛИ Деталь принадлежит Узел И Узел принадлежит Изделие, ТО Деталь принадлежит Изделие.

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

В качестве свойств понятия Комплексная деталь использовались: максимальный диаметр, высота, количество внешних диаметров, количество внутренних диаметров, количество конических поверхностей и количество резьб (рис. 1).

На рис. 2 показано, как они представлены в виде экземпляров онтологии в OntoStudio.

Вид дерева решений для атрибутов 34 втулок показан на рис. 3.

Команда t1 = classregtree(X,name) выдает текстовое представление дерева (рис. 4).

Для рассматриваемого примера фрагмент файла системы нечеткого вывода имеет вид: [Inputl ]

Name='maxdiam' Range=[0 30] NumMFs=4

MF1='maxdiam<25.5':'trimf',[0 0 25.5]

MF2='25.5<=maxdiam<20.6':'trimf',[25.5 25.5 20.6]

MF3='20.6<=maxdiam<20.6':'trimf',[20.6 20.6 20.6]

MF4='maxdiam>=20.6':'trimf',[20.6 20.6 30]

[Input2]

Name='h'

Range=[0 30]

NumMFs=3

MF1='h<5.9':'trimf',[0 0 5.9]

MF2='5.9<=h<14.25':'trimf',[5.9 5.9 14.25]

MF3='h>=14.25':'trimf',[14.25 14.25 30]

[Output1]

Name='Class'

Range=[0 7]

NumMFs=6

MF1='class 1':'trimf',[0.16] MF2='class 5':'trimf',[0.32] MF3='class 2':'trimf',[0.48] MF4='class 4':'trimf',[0.64] MF5='class 6':'trimf',[0.8] MF6='class 3':'trimf',[1] [Rules] 0 1, 1 (1):1 2 2, 2 (1):1

2 2, 3 (1):1

3 2, 4 (1):1

3 3, 5 (1):1

4 3, 6 (1):1

Рис. 1.Чертежи втулок, являющихся экземплярами понятия онтологии

Рис. 2. Атрибуты экземпляра понятия «комплексная деталь» онтологии в OntoStudio

Рис. 3. Дерево решений после классификации 34 втулок на 6 классов в MatLab

Этот фрагмент можно просмотреть в редакторе систем нечеткого вывода и с его помощью оценить

Рис. 4. Дерево решений в текстовом виде

выходную величину по входным (рис. 5, 6, 7).

Рис. 5. Окно системы нечеткого вывода

Рис. 6. Правила системы нечеткого вывода

Рис. 7. Зависимость выходной переменной от входных

Таким образом, в результате преобразований получим различные описания структуры рассматриваемой предметной области. Это доказывает изоморфизм механизмов и позволяет пользователю выбрать

тот, который ему наиболее удобен, без потери информации или несколько механизмов в их совокупности.

Библиографический список

1. Митрофанов С.П. Научная организация машиностроительного производства. Л.: Машиностроение 1976. 712 с.

2. Сосинская С.С. Объектное моделирование в задаче выбора оптимального варианта технологического процесса // Винеровские чтения: материалы III Всерос. конф. [Электронный ресурс]. Иркутск: Изд-во ИрГТУ, 2009.

3. Сосинская С.С. Преобразование онтологии, описывающей технологию изготовления деталей, в систему нечеткого

вывода // Винеровские чтения: материалы IV Всерос. конф. Иркутск: Изд-во ИрГТУ, 2011.

4. Штовба С.Д. Классификация объектов на основе нечеткого логического вывода [Электронный ресурс]. URL: http://matlab.exponenta.rU/fuzzylogic/book1/11 .php

5. Onto StudioTutorial [Электронный ресурс]. URL: http://help.ontoprise.de/ontoprise_content_static.html