Гофман Е. А., Олейник А. А., Субботин С. А.
СОКРАЩЕНИЕ БАЗ ЛИНГВИСТИЧЕСКИХ ПРАВИЛ НА ОСНОВЕ ДЕРЕВЬЕВ РЕШЕНИЙ
Рассмотрена задача индукции лингвистических правил. Разработан метод идентификации деревьев решений для индукции лингвистических правил. Создано программное обеспечение на основе предложенного метода. Проведены эксперименты по решению практических задач, что позволило исследовать эффективность предложенного метода.
Ключевые слова: дерево решений, индукция правил, лингвистическое правило.
УДК 004.78; 004.021; 004.046
Ильяшенко М. Б.1, Голдобин А. А.2
1Канд. техн. наук, доцент Запорожского национального технического университета 2Ассистент Запорожского национального технического университета
РЕШЕНИЕ ЗАДАЧИ ПОИСКА ИЗОМОРФИЗМА ГРАФОВ ДЛЯ ПРОЕКТИРОВАНИЯ СПЕЦИАЛИЗИРОВАННЫХ ВЫЧИСЛИТЕЛЕЙ
Предлагается усовершенствованный алгоритм поиска изоморфизма графов и результаты исследования его эффективности. Объектом исследования является множество граф-схем алгоритмов достижения цели, полученная после обхода заданной семантической сети абстрактной машиной Уоррена.
Ключевые слова: декларативная логика, предикат, дерево вывода, пролог, рекурсивный обход с возвратом, граф-подграф изоморфизм.
то применения которых - системы автоматизированного проектирования (САПР) цифровых и микропроцессорных устройств различного назначения.
Абстрактная машина Уоррена (англ. Warren’s abstract machine, WAM) [3] представляет собой формальную модель устройства, реализующего основные операции исчисления предикатов первого порядка, представленных дизъюнктами Хорна. Известное приложение WAM - японский проект вычислителей пятого поколения (1982-1992 гг).
В абстрактной машине Уоррена одновременно выполняется семантический анализ программы на входном языке Lpro и формирование таблиц лексико-синтаксического анализа. Результаты анализа используются для генерирования программы на выходном языке L . Язык L представляет собой набор типовых, функцио-
нально-ориентированных операций линейной резолюции в терминах WAM - конечного множества команд типа unify variable, put list и др.
Формальная грамматика является абстрактной структурой, описывающей множество правил образования строк языка из заданного алфавита терминальных и нетерминальных символов. Генерирующая и анализирующая формальные грамматики используются для решения противоположных задач, в зависимости от семантики грамматического разбора. Генерирующая грамматика образуется конечным множеством порождающих правил (продукций) формирования строк формального
© Ильяшенко М. Б., Голдобин А. А., 2012
ВВЕДЕНИЕ
В составе программно-лингвистических средств автоматизации проектирования цифровых устройств на программируемых логических интегральных схемах (ПЛИС) широко используются методики формального описания структурно-функциональной организации проектируемого объекта. Методология проектирования на основе математического аппарата теории ориентированных гиперграфов [1] позволяет использовать унифицированные алгоритмы выполнения основных этапов создания цифровых устройств, в том числе специализированных (проблемно-ориентированных) вычислителей.
Ориентированный гиперграф, допускающий петли и кратные дуги, является наиболее общим типом графовых моделей и называется ориентированным псевдогипергра-фом. В дальнейшем, для краткости, ориентированный, помеченный псевдогиперграф будем именовать «графом».
Для формального описания свойств узлов и дуг графа удобно применять операторное пространство, образующее многозначную логику. Примером такого пространства является трехзначная логика модальных операторов Лукасевича [2].
Применение многозначного операторного пространства для описания актов синтеза цифрового устройства, которое формально задано графом, и исследование способов преобразования проблемно-ориентированных описаний является актуальной задачей. Ее решение позволяет разрабатывать эффективные инструменты, мес-
Gofman Ye., Oliinyk A., Subbotin S.
LINGUISTIC RULES BASES REDUCTION BASED ON DECISION TREES
The problem of linguistic rules induction is considered. A method of decision trees identification for linguistic rules induction is developed. The software based on the proposed method is created. Experiments on the solution of practical problems, which allowed to investigate the effectiveness of the proposed method are made.
Key words: decision tree, rules induction, linguistic rule.
языка. Анализирующая грамматика предназначена для грамматического разбора строк формального языка, поступающих на вход.
Графически правила продукций формальной грамматики представляются в виде ориентированных помеченных псевдогиперграфов. Например, продукции регулярной грамматики описываются в виде граф-схем алгоритма (ГСА).
Иерархия Хомского [2] представляет собой иерархию классов последовательно вложенных формальных грамматик, описывающих языки разного типа. В исходном виде иерархия Хомского образована четырьмя уров -нями, которые задают законы образования основных классов формальных языков. Каждому уровню иерархии Хомского соответствует своя модель распознающего автомата, начиная с машины Тьюринга с бесконечной лентой, которая предназначена для распознавания продукций грамматик общего вида (уровень 0 иерархии Хомского), и заканчивая конечным автоматом, порядок переключения состояний которого описывается регулярной грамматикой (уровень 3 иерархии Хомского).
Абстрактная машина Уоррена способна распознавать грамматики уровня 2. Это контекстно-свободные грамматики, с помощью которых определяются контекстносвободные языки. Языки, образованные такими грамматиками, могут быть распознаны с помощью стекового автомата. Таким образом, с точки зрения анализа входной программы, поведение ^АМ эквивалентна работе стекового автомата.
В процессе выполнения запроса ^АМ способна генерировать описание ориентированного графа, представляющего ГСА выходной программы на регулярном языке Ь .
■№ат
Так как абстрактная машина Уоррена занимает в иерархии Хомского более высокий уровень по отношению к конечному автомату и способна преобразовывать строки контекстно-свободного языка Ьрго в конструкции регулярного языка Ь , она может использоваться в следующих приложениях:
- ввод задания на проектирование специализированного вычислителя на ПЛИС;
- конфигурирование микропроцессорных систем с программируемой архитектурой;
- реализация технологий логического, концептуального, функционального программирования.
В данной работе описан алгоритм поиска граф-подграф изоморфизма и приведены результаты исследования его эффективности на примере помеченных ориентированных гиперграфов, которые представляют результат работы абстрактной машины Уоррена.
1. ПОСТАНОВКА ЗАДАЧИ
Графически концептуальная область входной программы для абстрактной машины Уоррена может быть задана семантической сетью. Например, на рис. 1 показан концептуальный граф вычислительной модели прямоугольного треугольника.
COR TAN
Рис. 1. Концептуальный граф
Программа на входном языке Lpro абстрактной машины Уоррена образована объектами двух типов: термом программы р и термом запроса ?- q. Цель работы машины можно сформулировать так: определив программу р, необходимо составить запрос ?- q, выполнение которого или закончится неудачно, если р и q нельзя унифицировать, или будет завершено удачно, если получилась связка переменных из q с переменными из p.
При доказательстве теорем методом резолюции, проверка невыполнимости запроса наталкивается на препятствия, связанные с бесконечным числом областей интерпретации запроса. В общем случае, если выбранная область бесконечна, то запрос допускает бесконечно много конкретизаций, т. е. существует бесконечно много интерпретаций относительно языка Lpro. Для обхода данной проблемы в WAM клаузальная форма концептуального пространства, заданная программой p, ограничивается эрбановой областью [2].
По этой причине пролог-процессор, реализованный на WAM, реализует стратегию разбора И/ИЛИ-дерева запроса «слева направо и вглубь с возвратом при неудаче». На рис. 2 показан случай поиска конкретизации переменной b в вычислительной модели прямоугольного треугольника, при условии, что грамматический разбор начинается с фразы SQU.
Можно сделать выводы относительно порядка работы машины Уоррена.
1. Концептуальное пространство, в котором выполняется грамматический разбор запроса ?- q машиной Уор-рена ограничивается множеством конкретизированных во входной программе p переменных и функционалов.
2. Время выполнения запроса ?- q зависит от выбора начальной языковой конструкции - хорновского дизъюнкта, определяющего правило в программе на входном языке L .
pro
3. Если hM (G) - множество всех ГСА, сформированных машиной Уоррена при выполнении k-го запроса на максимально определенном пространстве, то лю-
ИЛЬ А Кошсретизяция А
Рис. 2. Пример грамматического разбора
бое множество (О) не полностью определенных кон-
цептуальных пространств сюрьективно отображается на
множество Им (О): иМ (О) с V И^(О).
Не полностью определенным концептуальным пространствам соответствуют различные семантические сети, представляющие их графически. Поиск изоморфного подграфа в ориентированном графе семантической сети концептуального пространства программы для ^АМ является важной задачей, обеспечивающей значительное повышение эффективности работы генератора программно-лингвистических описаний, созданного на основе машины Уоррена. Для решения этой задачи был разработан усовершенствованный алгоритм определения изоморфизма двух заданных графов.
2. МЕТОД РЕШЕНИЯ ЗАДАЧИ
Пусть даны графы О1 = (, Еъ ^) и О 2 = (, £2, Ь), где V - множество вершин графа, Е - множество ребер графа и Ь метки вершин графа. Граф О1 изоморфен подграфу графа О2 (обозначается, как О1 = £2 с О2), если существует подстановка ф: V2 ^ V., такая, что для каждой пары вершин V,vJ■ е^, если (V,vJ■)е £2, то (ф(уг ), ф(Уу ))е Е1 и для всех 11 е Ь2 выполняется
I] е Ь2 = ф( )е Ь1.
Алгоритм установления граф-подграф изоморфизма для помеченных графов является развитием и продолжением алгоритма установления изоморфности [4].
Алгоритм установления изоморфизма удобно описывать в терминах поиска в пространстве состояний. Каждое состояние 5 процесса совмещения вершин соответствует частичной подстановке ф(), которая содержит часть вершин полной подстановки. Каждому состоянию так же соответствуют подграфы О^') и О2 (5), полученные из вершин графов О1 и О2, вошедших в
частичную подстановку ф(«), и ребер, соединяющих эти вершины. В дальнейшем обозначим через ф1 (5) и ф2 (5)
проекции подстановки ф(я) на VI и V2.
Алгоритм состоит из предварительной и основной части. В предварительной части выполняются операции упорядочивания вершин графов и выполнения однократных, по ходу алгоритма, операций, призванных сократить область поиска основной, переборной части алгоритма.
Предварительная часть алгоритма. Основные действия, выполняемые в предварительной части алгоритма - сортировка вершин графов и формирование матрицы возможных совмещений.
Матрица возможных совмещений Мг- - это бинарная
таблица размером |^| х ^|. Каждому элементы таблицы соответствует пара вершин исходных графов VI, ] и V2 j. Значения матрицы формируются следующим образом:
- М1 j = 0, если на основании предварительных проверок вершины VI ] и К2,j совместить нельзя;
- мI j = 1, в противном случае.
Смысл матрицы возможных совмещений в том, чтобы выполнить однократно в рамках предварительной части алгоритма все проверки, не основанные на информации, полученной в процессе совмещения вершин, тем самым, ускорить обработку соответствующих ограничений, сведя ее к одной операции сравнения.
В программе реализованы следующие предварительные проверки:
т т т ” - степень вер-
- число входя-
1. M,, j = 0, если Yu < V2, j |, где Vx ,y
шины Y графа X;
2. Mi, j = 0, если Vlin < Vin V2,j , где vin VX ,Y
щих ребер вершины Y графа X;
3. M,, j = 0, если
V1
1,i
<
V
2, j
где
V
X ,Y
- число ис-
ходящих ребер вершины Y графа X;
4. Mi, j = 0, если W1V^frtex < W27tex, где WXefx - число вершин в волновом разложении подграфа окружения вершины Y графа X;
kk
Zttг Vertex W1,i,l l=l l=l
5. Mi, j = 0,
<t W2jex,
, k = 1.
W
vertex
2,} ,1 = I"4, где - число вершин в 1-ой
волне волнового разложения графаХ, начиная с вершины Т;
6. мі,] = 0, если W{,1jbes < W2|ljes, где WX!JS - число ребер в волновом разложении подграфа окружения вершины Т графа X;
7.
к = 1.
Mi, j = 0:
если
l =1
<lW£j,l l =1
ribes
2, j
l = 1..4 , где WX^Yl - число ребер в l-ой вол-
не волнового разложения графа X, начиная с вершины Y;
8. М;, / = 0, если Ьу ф ^2,/, где Ьху - метка вершины У графа X.
Возможно использование и других критериев для оценки возможности совмещения вершин графов. Метод разработки таких критериев основан на волновом разложении графов, начиная с заданной вершины [5]. По мере распространения волны получаются подграфы окружения вершин. Сравнивая параметры соответствующих подграфов окружения вершин графов, которые предполагается совмещать, делается вывод о потенциальной возможности или принципиальной невозможности такого совмещения. В приведенных критериях для этого использовались сумма вершин и ребер в подграфах окружения сравниваемых вершин для всех этапов распространения волны.
Сортировка вершин графов производится с целью ускорения нахождения изоморфной подстановки, в случае, если такая подстановка существует. В переборной части алгоритма переставляются только вершины большего графа, в то время, как порядок вершин меньшего графа не меняется. Порядок следования вершин меньшего графа определяется в предварительной части алгоритма.
Пусть 72г - количество ребер инцидентных верши-
N
нам с меньшими номерами и Р2, = ^ М/ г - суммар-
/=1
ное количество вариантов совмещения вершины г графа 02 с вершинами графа О^ Тогда порядок сортировки вершин графа О2 следующий:
Ы ( )
^2,, = У2,к , где Т2,к = ШШ (72,/ ).
/=г+1
Если Т2,г = Т2,/, то ^2,г = У2,к, где Р2,к = ™п(р2,г, Р2,/ ).
Т. е. вершины графа О2 сортируются в порядке убы-вания количества связей с вершинами имеющими меньшие номера или в порядке убывания количества вариантов совмещения вершин, если количество связей одинаково. Такой порядок следования вершин обусловлен тем, что чем больше связей с уже совмещенными имеет вершина, тем жестче будет ограничивающее условие, включающее эту вершину, и, соответственно, меньше общее количество совмещений, которые необходимо перебрать.
Основная часть алгоритма. Эта часть алгоритма представляет собой последовательное наложение вершин с возвратом, описывать которое удобно в терминах метода поиска в пространстве состояний.
Вершины графа О2 остаются нетронутыми и каждой из них ставится в соответствие одна из вершин графа О1. При этом проверяется допустимость такого совмещения. Если удается найти соответствие всем вершинам графа О2, при этом выполнено условие изоморфизма, то найденное состояние возвращается как искомая подстановка.
Пусть 71г- - количество связей вершины г графа О1 с вершинами VI,/ е ф} (5), а 72,г - количество связей вершины г графа 02 с вершинами ^2, / е ф2 ().
Начальному состоянию ф( )о = 0 соответствует состояние, при котором не совмещено еще ни одной пары вершин.
Для получения г-го состояния для вершины ^2,; ищется соответствие среди вершин V /, таких что:
1. Мг / = 1, т. е. вершины совместимы на основании предварительных проверок;
2. Ти > 72,/■;
3. Для к = 1..г, если (у,, Ук)е Еь то ((у,) фУ)) е Е2.
Если выполнены все три условия, из которых третье является прямым следствие определения граф-подграф изоморфизма, то соответствующая пара вершин входит в частичную подстановку и формируется новое состояние ф(^);.
Перебор состояний производится методом поиска в глубину.
3. РЕЗУЛЬТАТЫ РАБОТЫ
Результат работы машины Уоррена может быть представлен в виде ГСА - графовой модели, в которой используются следующие типы вершин (блоков) (рис. 3).
Для тестирования производительности разработанного алгоритма формировались случайные графы, состоящие из блоков Р и Б типа. При формировании графов использовались следующие параметры:
пу - число вершин в генерируемых графах;
т - нижняя граница число вершин в генерируемых подграфах;
р - процент вхождения Р-блоков (процент вхождения Б-блоков составлял 100 %-Лр);
I - количество различных меток, используемых для маркировки вершин графов.
ГСА формировался из отдельных блоков Р и Б типа, на основании параметра р в соотношении р/(100-р). Дуги блоков случайным образом соединялись между собой. Общее число вершин ГСА определялось параметром пу. Всем вершинам случайным образом приписывались метки в диапазоне от 0 до 1-1.
Подграф формировался путем удаления части вершин из ГСА. Начиная со случайной вершины, пускалась волна, проходящая как по входящим, так и по исходя-
Р блок - Б блок -
условная вершина графа операторная вершина графа Рис. 3. Типы вершин графа
щим дугам, для формирования связного подграфа. Как только на очередном шаге размер подграфа вошедшего в волновое разложение превышал параметр щ, все вершины, которые накрыла волна, выделялись в виде подграфа.
Приводятся результаты численного исследования производительности алгоритма на основании набора сгенерированных графов, описанного выше. Каждое значение формировалось как суммарное время поиска подграфа для 100 пар графов (рис. 4).
Для графов с числом вершин до 1500 включительно, алгоритм в среднем тратит на поиск изоморфного подграфа не более 0,35 секунды машинного времени, что достаточно для решения реальных задач проектирования схемных устройств управления. Ввиду комбинаторной природы алгоритма, наблюдаются пики производительности, при которых время поиска подграфа в отдельных случаях может заметно отличаться от среднего (рис. 5).
Влияние размера искомого подграфа на общую производительность алгоритма значительно менее весомое. При изменении размера подграфа по отношению к размерам ГСА от 1 % до 50 % (т. е. в 50 раз) время работы алгоритма изменилось лишь с 28 секунд до 100 (т. е. в 3 раза). С учетом
Чнсло вершнп
Рис. 4. Зависимость времени поиска подграфа от числа вершин в графе конечного автомата (параметры п5=20, р=20, /=5, пу=100... 1500)
1
■
50 О 50 100 150 200 250 300 350 400 +50 500
V
Чнсло вершнн
Рис. 5. Зависимость времени поиска подграфа от числа вершин в подграфе типового ГСА (параметры пу=1000, р=20, /=5, ш=10...500)
того, что большинство ГСА функционально-ориентированных конечных автоматов имеют размер порядка 2040 вершин, фактор размера подграфа не является решающим для производительности алгоритма (рис. 6).
При изменении процента блоков Р -типа использованных для генерации графов конечного автомата в диапазоне от 10 % до 50 % (в 5 раз), время вычислений изменилось с 33 до 50 секунд (т. е. в 1,5 раза). Следовательно, как и фактор размера искомого подграфа, соотношение числа блоков Р и Б типов незначительно влияет на производительность алгоритма, однако с ростом процента Р блоков производительность алгоритма все же незначительно падает (рис. 7).
Из приведенного графика следует, что фактор числа различных меток приписываемых вершинам графов (т. е. числа различных вычислительных узлов, применяемых при формировании конечного автомата) меньше всего влияет на производительность алгоритма. Вне зависимости от значения параметра I, время сравнения одной пары графов остается в очень узких пределах от 0,35 до 0,36 секунды машинного времени. Такое малозначительное влияние параметра I объясняется значительным вкладом то-
Рис. 6. Зависимость времени поиска подграфа от соотношения Р и Б блоков в графе конечного автомата (параметры пу=1000, п5=100, р=10..50, 1=5)
Чнсло вершин
Рис. 7. Зависимость времени поиска подграфа от числа различных меток приписываемых вершинам графов (параметры пу=1000, п5=100, р=20, /= 1..5)
пологии графов в условие, ограничивающее дерево возможных решений - для случайных графов и графов, не включающих в себя регулярные структуры, большая часть информации используемой для ограничения дерева поиска получается из анализа топологии графов. Но чем больше регулярных структур будут содержать графы, тем более значительным становиться влияние фактора меток приписанных вершинам графов.
ВЫВОДЫ
В работе представлено решение задачи поиска граф-подграф изоморфизма для помеченных графов. Приводится детальное описание разработанного алгоритма и результатов исследования его производительности для графов, характерных для конечных автоматов с программируемой процедурой. Применение описанного алгоритма позволяет расширить класс решаемых задач на автоматы с программируемой структурой, что является актуальным [6, 7, 8].
При проектировании проблемно-ориентированных вычислителей на ПЛИС, данное решение обеспечивает оптимизацию аппаратурных затрат на этапах ввода задания на проектирование, конфигурирования микропроцессорных систем с программируемой архитектурой, реализации технологий логического, концептуального, функционального программирования и др.
Исследовано влияние различных параметров ГСА на производительность алгоритма поиска подграфа. Результаты исследования показали, что разработанный алгоритм может быть эффективно применен в современных САПР, например, для создания функционально-ориентированных конечных автоматов, полученных в результате анализа концептуальной области проблемно-ориентированным пролог-процессором, одним из способов реализации которого является абстрактная машина Уоррена.
СПИСОК ЛІТЕРАТУРИ
1. Голдобин, А. А. Квазигомоморфное преобразование гиперграфов в автоматизации проектирования устройств управления / А. А. Голдобин // Радиоэлектроника, информатика, управление. - 2006. - № 1. - С. 41.
2. Тейз, А. Логический подход к искусственному интеллекту: от классической логики к логическому программиро-
ванию : пер. с франц. / Тейз А., Грибомон П., Луи Ж. и др. - М. : Мир, 1990. - 432 с.
3. Hassan Ait-Kasi Warren’s Abstract Machine : a tutorial reconstruction / Hassan Ait-Kasi Warren’s. - MIT Press, 1999. - 144 p.
4. Ильяшенко, М. Б. Разработка и исследование параллельного алгоритма проверки граф-подграф изоморфизма / М. Б. Ильяшенко // Радиоэлектроника, информатика, управление. - 200б. - № 1. - С. б3-б9.
5. Пинчук, В. П. Основанная на волновом разложении система инвариантов для простых графов и алгоритм распознавания изоморфности / В. П. Пинчук. - К., 1995. -Деп. в ГНТБ Украины 10.05.95, N 1002 - Ук95.
6. Каляев, А. В. Многопроцессорные системы с программируемой архитектурой / Каляев А. В. - М. : Радио и связь, 19В4. - 240 с.
7. Баркалов, А. А. Синтез устройств управления на программируемых логических устройствах / Баркалов А. А. - Донецк : РВА ДонНТУ, 2002. - 2б2 с.
В. Соловьев, В. В. Проектирование цифровых систем на основе программируемых логических интегральных схем / Соловьев В. В. - М. : Горячая линия-Телеком, 2001. - б3б с.
Стаття надійшла до редакції 10.10.2011.
Ільяшенко М. Б., Голдобін О. О.
ВИРІШЕННЯ ЗАДАЧІ ПОШУКУ ІЗОМОРФІЗМУ ГРАФІВ ДЛЯ ПРОЕКТУВАННЯ СПЕЦІАЛІЗОВАНИХ ОБЧИСЛЮВАТЕЛІВ
Пропонується вдосконалений алгоритм пошуку ізоморфізму графів та результати дослідження його ефективності. Об’ єктом дослідження є множина граф-схем алгоритмів досягнення мети, що була отримана після обходу семантичної мережі, яка задана, за допомогою абстрактної машини Уоррена.
Ключові слова: декларативна логіка, предикат, дерево виводу, пролог, рекурсивний обхід із поверненням, граф-підграф ізоморфізма.
Il’yashenko M. B., Goldobin A. A.
GRAPH-SUBGRAPH ISOMORPHISM PROBLEM SOLVING FOR DESIGNING SPECIAL COMPUTERS
An advanced algorithm for solving graphs isomorphism problem is proposed and experimental results of its efficiency are presented. Object of investigation is set of control flow graphs of solutions achieved, that were received after circumvent of the semantic network by Warren abstract machine.
Key words: declarative logic, predicate, O-Tree, Prolog, recursively returning, graph-subgraph isomorphism.