пикосетей для различного числа ведомых устройств выполнена оценка эффективности использования адресного пространства. Наблюдается общая тенденция снижения эффективности при росте количества ведомых устройств и пробуксовка обмена информацией при количестве ведомых устройств близком к максимальному. Общий подход к построению моделей может быть использован при исследовании иных аспектов протокола Bluetooth и других протоколов.
ПЕРЕЧЕНЬ ССЫЛОК
1. Bluetooth Special Interest Group, Specification of the Bluetooth System. November, 2004. - Электрон. дан.-Bluetooth Special Interest Group. - Режим доступа: http://www.bluetooth.com, свободный. Загл. с экрана.
2. Kardach J. Bluetooth Architecture Overview. - Mobile Computing Group, Intel Corporation, 2002. - 7 p.
3. Zhang X., Riley G. F. «Bluetooth Simulations for Wireless Sensor Networks using GTNetS», Proceedings of 12th Annual Meeting of the IEEE / ACM International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems, October 5-7, 2004, Volendam, Netherlands. - Pp. 375-382.
4. Мурата Т. Сети Петри: Свойства, анализ, приложения // ТИИЭР. - 1989. - Т. 77, № 4. - С. 41-85.
5. Jensen K. Colored Petri Nets - Basic Concepts, Analysis Methods and Practical Use. - Vol. 1-3. - Springer-Verlag, 1997. - 637 p.
6. Beaudouin-Lafon M., Mackay W. E., Jensen M. et al. CPN Tools: A Tool for Editing and Simulating Coloured Petri Nets. LNCS 2031: Tools and Algorithms for the Construction and Analysis of Systems, 2001, pp. 574-580. -Электрон. дан. - CPN Tools Kit. - Режим доступа: http:/ /www.daimi.au.dk/CPNTools, свободный. Загл. с экрана.
7. Zaitsev D. A. Switched LAN simulation by colored Petri nets // Mathematics and Computers in Simulation. -2004. - Vol. 65, No. 3. - Pp. 245-249.
8. Зайцев А. А., Шмелева Т. P. Моделирование коммутируемой локальной сети раскрашенными сетями Петри // Зв'язок. - 2004. - № 2 (46). - С. 56-60.
9. Zaitsev D. A. An Evaluation of Network Response Time using a Coloured Petri Net Model of Switched LAN // Proceedings of Fifth Workshop and Tutorial on Practical Use of Coloured Petri Nets and the CPN Tools, October 8-11, Aarhus, Denmark. - Pp. 157-167.
10. Зайцев А. А. Измерительные фрагменты в моделях Петри телекоммуникационных сетей // Зв'язок. - 2005. -№2 (54). - С. 65-71.
11. Зайцев А. А., Шмелева Т. P. Параметрическая модель Петри одноуровневой коммутируемой сети // Труды Одесской национальной академии связи им. А. С. Попова. - 2005. - № 1. - С. 33-40.
12. Зайцев А. А., Шмелева Т. P. Основы построения параметрических моделей Петри коммутируемых сетей // Моделирование и компьютерная графика: Материалы 1-й международной научно-технической конференции, 4-7 октября 2005, Донецк. - ДонНТУ, 2005. - С. 207215.
Надшшла 22.12.05 Шсля доробки 11.03.06
У данш po6omi побудовано nodeni nempi ведучого та eid0M0i0 пристроЧв, peani3ym4ux протокол Bluetooth. На npuxnadi моделей ткомереж з piзнoю алътстю вiдoмиx пристроЧв виконано оцтку eфeкmивнoсmi використання адресного простору протоколу. Для побудови та дoслiд-ження моделей використана промислова моделююча система CPN Tools. Виявлено мoжливiсmъ пробуксовки об-мту iнфopмaцieю при poсmi кiлъкoсmi тдключених до т-кoмepeжi вiдoмиx пристрою.
In the present work the Petri net models of master and slave devices implementing protocol Bluetooth were built. On the examples of piconets' models with various number of slave devices the evaluation of address space usage efficiency was implemented. For models' construction and investigation the enterprise-level simulation system CPN Tools was used. It was found the possibility of information exchange slipping with the growth of number of attached to piconet slave devices.
УДК 681.3
M. Б. Ильяшенко
РАЗРАБОТКА И ИССЛЕДОВАНИЕ ПАРАЛЛЕЛЬНОГО АЛГОРИТМА ПРОВЕРКИ ГРАФ-ПОДГРАФ ИЗОМОРФИЗМА
В работе представлен алгоритм проверки граф-подграф изоморфизма и его параллельная реализация, разработанные с целью решения задачи на графах большого размера. После детального описания последовательного алгоритма приводится его сравнение с аналогичными алгоритмами других авторов по данным экспериментов на базе графов для оценки производительности алгоритмов установления изоморфности. Для параллельной реализации приводятся оценка эффективности распараллеливания.
© Ильяшенко М. Б., 2006
ВВЕДЕНИЕ
Задача граф-подграф изоморфизма - общая форма задач точного сравнения графов. Граф-подграф изоморфизм это обобщение многих важных задач на графах, включая поиск Гамильтоновых путей, клик и периметров графов. Варианты алгоритмов граф-подграф изоморфизма также используются в таких практических задачах, как сравнение молекулярных структур [1], тестирование интегральных схем [2], оптимизации
микроконтроллеров [3], анализе китайской письменности [4], планировании движений роботов [5], семантическом сетевом поиске [6] и распознавании многогранных объектов [7].
Проблема граф-подграф изоморфизма относится к классу NP-трудных [8], при этом в худшем случае затраты времени на сравнение графов растут экспоненциально с ростом размеров графов, что накладывает ограничения на многие области практического применения алгоритма, позволяя обрабатывать лишь небольшие графы (порядка десятков или сотен вершин).
Алгоритмы с низкими вычислительными затратами были предметом исследований в последние три десятилетия. Некоторые из предложенных алгоритмов имеют меньшую вычислительную сложность за счет наложения топологических ограничений на сравниваемые графы (например, планарные графы [9], деревья [10] или графы с ограниченной степенью вершин [11]). Предложены алгоритмы, сводящие проблему граф-подграф изоморфизма к другим задачам, например нахождению наибольшей клики [12].
Среди точных алгоритмов для графов общего вида широко известен алгоритм Улмана [13], основанный на процедуре поиска с возвратом, на базе эффективной функции «заглядывания наперед», уменьшающей пространство поиска. Этот алгоритм пригоден для двух видов морфизмов (изоморфизма и граф-подграф изоморфизма), и, не смотря на достаточный возраст, до сих пор является одним из наиболее широко применяемых алгоритмов для точного сравнения графов [14].
Одними из последних и наиболее эффективных алгоритмов, разработанных для задач изоморфизма и граф-подграф изоморфизма, являются алгоритмы VF и VF2 [15], разработанные Паскалем Фогия. Это точные алгоритмы, основанные, как и алгоритм Улмана, на поиске в пространстве состояний, но в качестве ограничивающего условия используется количество входящих и исходящих дуг, инцидентных уже совмещенным вершинам графов. Этот алгоритм входит в состав библиотеки для работы с графами LEDA [16].
Целью данной работы была разработка усовершенствованного алгоритма, способного решать задачу граф-подграф изоморфизма для больших графов, порядка тысяч вершин, что позволит применять графовые методы при решении практических задач. Для этого был усовершенствован алгоритм установления граф-подграф изоморфизма и разработана его параллельная реализация.
1 АЛГОРИТМ
Граф-подграф изоморфизм. Пусть даны графы Gj = () и G2 = (V2,E2). Граф Gt изоморфен подграфу графа G2 (обозначается, как G1 = S2 с G2), если существует подстановка ф: У2 такая, что
для каждой пары вершин vi,Vу е У2, если ^¿^у) е Е2, то (ф(^) ,ф(^)) е Е1.
Алгоритм установления граф-подграф изоморфизма удобно описывать в терминах поиска в пространстве состояний. Каждое состояние 5 процесса совмещения вершин соответствует частичной подстановке ф( 5), которая содержит лишь часть вершин полной подстановки. Каждому состоянию так же соответствуют подграфы (5) и 02 (5), полученные из вершин графов и 02, вошедших в частичную подстановку ф(5), и ребер, соединяющих эти вершины. В дальнейшем обозначим через ф1 (5) и ф2(5) проекции подстановки ф( 5) на У1 и У2.
Алгоритм состоит из предварительной и основной части. В предварительной части выполняются операции упорядочивания вершин графов и выполнения однократных, по ходу алгоритма, операций, призванных сократить область поиска основной, переборной части алгоритма.
1.1 Предварительная часть алгоритма
Основные действия, выполняемые в предварительной части алгоритма - сортировка вершин графов и формирование матрицы возможных совмещений.
Матрица возможных совмещений M
это бинарная таблица размером х |У^. Каждому элементы таблицы соответствует пара вершин исходных графов У1 1 и У2 у. Значения матрицы формируются следующим образом:
М{, у = 0, если на основании предварительных проверок вершины У1 ; и У2 у совместить нельзя;
М{, у = 1 в противном случае.
Смысл матрицы возможных совмещений в том, чтобы выполнить однократно в рамках предварительной части алгоритма все проверки, не основанные на информации, полученной в процессе совмещения вершин, тем самым, ускорить обработку соответствующих ограничений, сведя ее к одной операции сравнения.
В программе реализованы следующие предварительные проверки:
1. у = 0, если У ¿| < У2 у|, где |УХ у| - степень вершины У графа X.
2. М; у = 0, если < |У2"у|, где |уХ У - число входящих ребер вершины У графа X.
о лт г\ 1т тОП^ 1ТГОП^ \-trOUt I
3. М1 у = 0, если |У1 ¿| < |У2 у |, где |Ух У - число исходящих ребер вершины У графа X.
, лг „ ^TTTvertexl lTTTvertexl \ттrvertex\
4. М;,у = 0, если |<|Ш2 у |, где \WX,У | -число вершин в волновом разложении графа X начиная с вершины У.
5. Мг,; = 0, если £ < £ Иугех|, к =
I = 1
I = 1
, |, . „„ |., х У ( | число вершин в 1-й волне волнового разложения графа X начиная с вершины У.
а 1-гтг verteX \^Tvertex\
1..W2 j |, где \WX,y ¡\
6. Иг ,у = 0, если < , где \Ш'х"у\
число ребер в волновом разложении графа X начиная с вершины У.
тт1Ьвз\
7. М,
гу
тт(Ьвз
к
0, если V -т1Ьвз I
-т1Ьвз\ 1,1,1
<
ш
-тгЬвз\ 2,у,/\
к
1..Ш2у |, где \Шх у
г = 1
число ребер в 1-й волне
волнового разложения графа X начиная с вершины У.
Возможно использование и других критериев для оценки возможности совмещения вершин графов. Метод разработки таких критериев основан на волновом разложении графов, начиная с заданной вершины [17]. По мере распространения волны получаются подграфы окружения вершин. Сравнивая параметры соответствующих подграфов окружения вершин графов, которые предполагается совмещать, делается вывод о потенциальной возможности или принципиальной невозможности такого совмещения. В приведенных критериях для этого использовались сумма вершин и ребер в подграфах окружения сравниваемых вершин для всех этапов распространения волны.
Сортировка вершин графов производится с целью ускорения нахождения изоморфной подстановки, в случае, если такая подстановка существует. В переборной части алгоритма переставляются только вершины большего графа, в то время, как порядок вершин меньшего графа не меняется. Порядок следования вершин меньшего графа определяется в предварительной части алгоритма.
Пусть Т2 г - количество ребер инцидентных вершим
нам с меньшими номерами и Р2 г = V Му г - сум, у = 1 ,
марное количество вариантов совмещения вершины г графа О2 с вершинами графа Тогда порядок сортировки вершин графа О2 следующий: ¥2 г = ^ к,
где Т2,к = т1п( Т2,у).
у = г +1
Если Т0 , = Т0
то V0
Р
' 2,г Т 2,у, то " 2,г " " 2,к, где Р2,к = т1п(Р2 г,Р2у). Т. е. вершины графа О2 сортируются в порядке убывания количества связей с вершинами имеющими меньшие номера, или в порядке убывания количества вариантов совмещения вершин, если количество связей одинаково. Такой порядок следования вершин обусловлен тем, что чем больше связей, с уже совмещенными имеет вершина, тем жестче будет ограничивающее условие, включающее эту вершину, и, соответственно, меньше общее количество совмещений, которые необходимо перебрать.
1.2 Основная часть алгоритма
Основная часть алгоритма представляет собой последовательное наложение вершин с возвратом, описы-
вать которое удобно в терминах метода поиска в пространстве состояний.
Вершины графа О2 остаются нетронутыми и каждой из них ставиться в соответствие одна из вершин графа О1. При этом проверяется допустимость такого совмещения. Если удается найти соответствие всем вершинам графа О2, при этом выполнено условие граф-подграф изоморфизма, то найденное состояние возвращается как искомая подстановка.
Пусть Т1 г - количество связей вершины г графа О1 с вершинами ¥1 г е Ф1 (^), а Т2 г - количество связей вершины 1 графа О2, с вершинами ¥2 у е ф2(s).
Начальному состоянию ф( 5 )о = 0 соответствует состояние, при котором не совмещено еще ни одной пары вершин.
Для получения г-го состояния для вершины ¥2 г ищется соответствие среди вершин ¥1 у, таких что:
1. Мг у = 1, т. е. вершины совместимы на основании предварительных проверок.
2. Т1,г * Т2,у.
3. Для к = 1..г, если ^г,е Е1, то (ф^), ф^))е е Е2.
Если выполнены все три условия, из которых 3-е является прямым следствие определения граф-подграф изоморфизма, то соответствующая пара вершин входит в частичную подстановку и формируется новое состояние ф( 5 )г.
Перебор состояний производится методом поиска в глубину.
2 БАЗА ГРАФОВ ДЛЯ ОЦЕНКИ
ПРОИЗВОДИТЕЛЬНОСТИ АЛГОРИТМОВ
ПРОВЕРКИ НА ИЗОМОРФНОСТЬ
Для сравнения производительности алгоритмов проверки на изоморфность, установления граф-подграф изоморфизма и нахождения наибольшего общего подграфа, была предложена эталонная база графов [18].
В состав базы вошли наборы графов, приведенные в таблице 1.
Наборы для различных размеров подграфов (20 %, 40 % и 60 % от большего) одинаковы. В таблице приведен состав одного такого набора.
Для сравнения использовались алгоритмы:
- иЬЬ - алгоритм Уламана [13];
- УР и УР2 - алгоритмы Паскаля Фогия [15].
Результаты исследования показали, что разработанный алгоритм имеет наибольшую, среди сравниваемых, производительность для графов, не обладающих специальными свойствами и нерегулярных 2Б сетей. На наборах специальных графов разработанный алгоритм имел производительность либо наибольшую, либо сравнимую с наиболее быстрым из аналогов. Поскольку использованный для сравнения алгоритм УР2
/
Таблица 1 графов
Состав набора графов эталонной базы
Тип графов Количество пар Параметры Размеры (вершин)
Случайно сгенерированные графы (3000) 1000 П = 0,01 20-1000
1000 П = 0,005 20-1000
1000 П = 0,001 20-1000
Регулярные сети 1000 2Б сеть 16-1024
800 3Б сеть 27-1000
500 4Б сеть 16-1296
Нерегулярные сети 3000 Нерегулярные 2Б сети р = {0,2, 0,4, 0,6} 16-1024
2400 нерегулярные 3Б сети р = {0,2, 0, 4, 0,6} 27-1000
1500 Нерегулярные 4Б сети р = {0,2, 0,4, 0,6} 16-1296
Регулярные графи с ограниченной степенью вершин 1000 степень = 3 20-1000
1000 степень = 6 20-1000
1000 степень = 9 20-1000
Нерегулярные графы с ограниченной степенью вершин 1000 степень = 3, а = 0,1 20-1000
1000 степень = 6, а = 0,1 20-1000
1000 степень = 9, а = 0,1 20-1000
Итого 18200
Число вершин (ип)
Рисунок 2 — Нерегулярные 2П сети
Рисунок 3 — Регулярные графы с ограниченной степенью вершин
Рисунок 4 — Нерегулярные графы с ограниченной степенью вершин
Число вершин (цп)
Рисунок 1 — Регулярные 2П сети
Число вершин (шг)
Рисунок 5 — Случайно сгенерированные графы
является наиболее быстрым из точных переборных алгоритмов установления граф-подграф изоморфизма для графов общего вида, следовательно, для не регулярных 2D сетей, а также графов, не обладающих специальными свойствами, разработанный алгоритм является наиболее быстрым среди точных переборных алгоритмов .
Характерные результаты для каждого класса графов эталонной базы приведены на рисунках 1-5.
3 ПАРАЛЛЕЛЬНЫЙ АЛГОРИТМ УСТАНОВЛЕНИЯ ГРАФ-ПОДГРАФ
ИЗОМОРФИЗМА
С целью дальнейшего повышения производительности алгоритма при обработке больших графов, была разработана параллельная реализация изложенного алгоритма средствами MPI [19].
Для параллельного алгоритма, исходная задача разбивается на множество более мелких подзадач. Каждой из таких подзадач является поиск полной подстановки ф( 5 ), начиная с некоторой частичной подстановки ф( 5 )i, получаемой в качестве исходного состояния процессом.
В программе выделяются два типа процессов:
1. Корневой процесс, который генерирует частичные начальные подстановки и рассылает их для дальнейшей обработки дочерним процессам.
2. Дочерние процессы, которые получают от корневого частичные подстановки, в качестве начального состояния, и продолжают их обработку, согласно изложенному выше алгоритму поиска в пространстве состояний.
Корневой процесс последовательно перебирает состояния, с числом совмещенных вершин не более некоторого параметра d - глубины последовательного просмотра. В зависимости от количества вершин в совмещаемых графах и количества используемых дочерних процессов, этот параметр может варьироваться, с целью получения количества частичных совмещений в несколько раз превосходящее число используемых дочерних процессов.
Обработка различных частичных совмещений может занять различное время в зависимости от числа порождаемых состояний, которое невозможно точно оценить заранее. Поэтому возможен дисбаланс в нагрузке на дочерние процессы. Этот дисбаланс преодолевается тем, что корневой процесс генерирует в несколько раз больше начальных состояний, чем число дочерних процессов и рассылает новые состояния не равномерно, а по мере освобождения дочерних процессов.
Результаты численного эксперимента,приведенные на рис. 6, 7, показали, что чем больше глубина последовательного просмотра пространства состояний, тем
Китчество возможных совмещений (шт)
1 21 41 61 01 101 121 141 161 181 201 221 241 261 281 301 321
Номер частичного совмещения
Рисунок 6 — Количество порождаемых состояний для d = 1
Количество возможнвтх совмещении (шт)
1 04 167 250 333 416 400 582 665 748 331 914 007 1000 Номер частичного совмещения
Рисунок 7 — Количество порождаемых состояний для d = 2
более равномерно распределение числа порождаемых состояний для каждого частичного совмещения.
В случае глубины последовательного просмотра й =1, максимальное число порождаемых состояний 1251, для й = 2, максимальное число порождаемых состояний 302. Чем равномернее распределение количества порождаемых состояний, тем более сбалансированным будет параллельный алгоритм. Однако это приводит к увеличению длительности последовательной части программы и объема трафика в сети.
При достаточно большом числе пересылаемых состояний, заметными становятся накладные расходы, связанные с задержками сети. Для преодоления этого эффекта, каждый из дочерних процессов имеет очередь для входящих состояний, подлежащих обработке, которая пополняется асинхронными пересылками, не задерживающими дочерний алгоритм при приеме данных. Корневой процесс постоянно контролирует загруженность очередей дочерних процессов и досылает состояния для обработки по мере необходимости. Параметр д определяет длину очереди у дочерних процессов.
Для исследования параллельного алгоритма использовались пары графов из состава эталонной базы, для сравнения которых потребовалось более 10 секунд машинного времени. Результаты исследования характе-
ристик параллельного алгоритма приведены в таблице 2.
Интерес представляет значение эффективности 1,09 для 3 процессоров. Значение больше 1 объясняется тем, что при последовательном переборе состояний вначале анализируются несколько частичных состояний, не приводящих к решению, но на это затрачивается время. А при параллельном вычислении одновременно начинают просчитываться и первые, не приводящие к решению, состояния и очередное, приводящее к решению. Эффективность выше 1 объясняется тем, что время, затраченное на обработку состояния приводящего к решению, меньше среднего времени на обработку одного состояния. Поскольку при нахождении решения программа сразу же прерывает свою работу, то ее эффективность оказывается выше 1.
Таблица 2 - Резулътаты исследования характеристик параллелъного алгоритма (усредненные данные на основание сравнения 37 пар графов; параметры алгоритма й = 2, д = 1)
Падение эффективности алгоритма с ростом числа процессоров участвующих в вычислениях связано с неравномерным распределением количества порождаемых состояний для различных генерируемых начальных состояний. При большом количестве дочерних процессов не хватает быстро обрабатываемых состояний для полноценной загрузки свободных процессоров, в то время как несколько процессоров системы остаются загруженными.
ВЫВОДЫ
В работе представлен новый алгоритм установления граф-подграф изоморфизма, основанный на использовании матрицы возможных совмещений и более жесткого ограничивающего условия переборной части. Предложен подход к формированию дополнительных проверок для матрицы возможных совмещений на основании волнового разложения графов.
Произведено сравнение разработанного алгоритма с аналогами, результаты которого показали, что это наиболее быстрый среди точных переборных алгоритмов для графов без специальных характеристик и нерегулярных 2Б сетей.
Представлена параллельная реализация алгоритма и приведено исследование характеристик параллельного алгоритма.
Дальнейшие усилия будут приложены к преодолению дисбаланса при росте числа процессоров для параллельного алгоритма, разработке новых ограничивающих условий, как для матрицы возможных совмещений, так и для переборной части алгоритма. Построение на основе представленного алгоритма установления граф-подграф изоморфизма, алгоритма нахождения наибольшего общего подграфа.
ПЕРЕЧЕНЬ ССЫЛОК
1. P. J. Artymiuk, P. A. Bath, H. M. Grindley, C. A. Pepper-rell, A. R. Poirrette, D. W. Rice, D. A. Thorner, D. J. Wild, P. Willett, F. H. Allen, and R. Taylor. Similarity searching in databases of three-dimensional molecules and macromolecules // J. Chemical Information and Computer Sciences. - 1992. - No. 32. - P. 617-630.
2. D. Brown and P. R. Thomas. Goal-oriented subgraph isomorphism technique for IC device recognition // IEE Proceedings I (Solid-State and Electron Devices). - 1988. -No. 135. - P. 141-150.
3. Guha. Optimizing codes for concurrent fault detection in microprogrammed controllers // Proc. IEEE Intl. Conf. Computer Design: VLSI in Computers and Processors (ICCD '87). - 1987. - P. 486-489.
4. Dong Hong, Wu Youshou, and Ding Xiaoqiag. An ARG representation for Chinese characters and a radical extraction based on the representation // 9th IEEE Intl. Conf. Pattern Recognition. - 1988. - No. 2. - P. 920-922.
5. S. Y. T. Lang and A. K. C. Wong. A sensor model registration technique for mobile robot localization // Proc. 1991 IEEE Intl. Symp. Intelligent Control. -1991. -P. 298-305.
6. R. Levinson. Pattern associativity and the retrieval of semantic networks // Computers & Mathematics with Applications. - 1992. - No. 23. - P. 573-600.
7. T. Stahs and F. Wahl. Recognition of polyhedral objects under perspective views // Computers and Artificial Intelligence. - 1992. - No. 11. - P. 155-172.
8. M. R. Garey and D. S. Johnson. Computers and intractability: a guide to the theory of NP-completeness. -W. H. Freeman, 1979. - 251 p.
9. Eppstein. Subgraph isomorphism in planar graphs and related problems // Proceedings of the 6th Annual ACM-SIAM Symposium on Discrete Algorithms, San Francisco, California. 1995. - P. 632-640.
10. W. Yang. Identifying syntactic differences between two programs // Software-Practice and Experience. - 1991. -
No. 21(7). - P.739-755.
11. Messmer B. T. and Bunke H. Subgraph Isomorphism in Polynomial Time. [Электронный ресурс] / Institute of Computer Science and Applied Mathematics; Faculty of Science, University of Bern. - Электрон. дан. - Режим доступа: http://www. iam. unibe. ch/publikationen/tech-reports/1995/iam-95-003 свободный. - Загл. с экрана. - Яз. англ.
12. Chao-Wen Kevin Chen, David Y. Y. Yun. Unifying Graph Matching Problems with a Practical Solution. [Электронный ресурс] / Scientific Literature Digital Library; Hosted by Penn State's School of Information Sciences and Technology. - Электрон. дан. - Режим доступа: http://citeseer.ist.psu.edu/chen98unifying.html, свободный. - Загл. с экрана. - Яз. англ.
13. J. R. Ullmann. An Algorithm for Subgraph Isomorphism // Journal of the Association for Computing Machinery. -1976. - N 23. - P. 31-42.
14. T. Messmer. Efficient Graph Matching Algorithms for Preprocessed Model Graphs. Ph. D. Thesis, Inst. of Comp. Sci. and Applied Mathematics, University of Bern. - 1996. - 272 p.
15. P. Foggia, C. Sansone, M. Vento. An Improved Algorithm for Matching Large Graphs [Электронный ресурс] / Site
Число процессоров Время работы (сек) Ускорение Эффективность
1 (последовательный) 1080,31 - -
3 328,23 3,29 1,09
7 228,04 4,73 0,67
11 182,69 5,91 0,54
15 172,90 6,24 0,42
19 159,75 6,76 0,36
Manager: Prof. M. Vento. - Электрон. дан. - The Laboratory of Intelligent Systems and Artificial Vision (S. I. V. A.). - Режим доступа: http://amalfi. dis. unina. it/ graph/db/papers/vf-algorithm. pdf свободный. - Загл. с экрана. - Яз. англ.
16. Mehlhorn, K., and Naher, S. LEDA: A platform for combinatorial and geometric computing // Comm. of the ACM 38. - 1995. - N 1. - P. 96-102.
17. Пинчук В. П. Основанная на волновом разложении система инвариантов для простых графов и алгоритм распознавания изоморфности. - Киев, 1995. - Деп. в ГНТБ Украины 10. 05. 95, N 1002 - Ук95.
18. P. Foggia, C. Sansone, M. Vento. A Database of Graphs for Isomorphism and Sub-Graph Isomorphism Benchmarking [Электронный ресурс] / Site Manager: Prof. M. Vento. - Электрон. дан. - The Laboratory of Intelligent Systems and Artificial Vision (S. I. V. A.). - Режим доступа: http://amalfi. dis. unina. it/graph/db/papers/ database. pdf свободный. - Загл. с экрана. - Яз. англ.
19. M. Snir, S. Otto, S. Huss-Lederman, D. W. Walker and J. Dongarra. MPI: The complete reference [Электронный ресурс] / Netlib Repository at UTK and ORNL; Netlib Maintainers netlib_maintainers@netlib. org. - Электрон. дан. - Режим доступа: http://www.netlib.org/utk/papers/ mpi-book/mpi-book.html, свободный. - Загл. с эк-рана.
Надшшла 22.02.06 Шсля доробки 3.04.06
В po6omi представлено алгоритм nepeeipxu граф-подграф 1зоморф1зма та його паралельна peалiзацiя, розроб-лет iз метою вирШення задач на графах великого роз-мipy. Шсля детального опису noслiдoвнoгo алгоритму наводиться його nopiвняння iз аналoгiчнuмu алгоритмами iншuх авmopiв за даними випробувань на базi гpафiв для ощнки швuдкoсmi алгopumмiв встановлення iзoмopфнo-сmi. Для паралельноЧ peалiзацi'i наводиться ощнка ефек-muвнoсmi розпаралелювання.
This paper presents an algorithm for testing graph-subgraph isomorphism and it's parallel realization, developed with a goal to solve this problem on large size graphs. After detailed description of sequential algorithm, there is a comparison of invented algorithm with analogs of other authors, based on experiments on graphs from database for productivity comparison of graph isomorphism algorithms. Evaluation for effectiveness of parallel algorithm also presents.
УДК 519.6
И. В. Козин
ФРАГМЕНТАРНЫЙ АЛГОРИТМ ДЛЯ ЗАДАЧИ СИММЕТРИЧНОГО
РАЗМЕЩЕНИЯ
В работе рассматривается задача размещения в прямо-уголънике прямоуголъных блоков заданных размеров. В качестве критерия качества решения берется критерий симметрии определенного вида. Получен фрагментарный алгоритм поиска симметричных размещений. Описана информационная система для решения задачи симметричного размещения блоков, которая может применятъся при подготовке рекламных изданий.
ВВЕДЕНИЕ
Задача, которая рассматривается в настоящей работе, является особым случаем задачи прямоугольного раскроя. Обычно в задачах раскроя в качестве критерия качества раскроя [1] выбирается критерий минимума отходов. В настоящей работе рассматривается критерий, который является трудноформализуемым -критерий симметричного размещения. Проблема принятия решений в такой задаче является, по сути, проблемой искусственного интеллекта и должна решаться путем использования накапливаемых баз знаний. Эта проблема оказывается настолько неформальной, настолько сложной для алгоритмического подхода, что единственным звеном системы, которое может поставить точку при принятии решений остается человек -лицо принимающее решение (ЛПР). С другой стороны
© Козин И. В., 2006
при подготовке решения необходимо обработать такие объемы информации, с которым не под силу справится не только человеку, но и сложным компьютерным системам. Если в системе принятия решений присутствует человек, то это налагает определенные требования на процессы, протекающие на всех уровнях решения задачи. Соответственно и алгоритмы, которые применяются для отыскания оптимальных решений или поиска альтернативных вариантов в таких системах должны обладать рядом свойств, позволяющих с одной стороны максимально автоматизировать процесс принятия решения, с другой дать возможность человеку вмешиваться в процесс принятия решения практически на каждом этапе, конкретизируя понятие оптимума и отсекая посторонние альтернативы.
1 ПОСТАНОВКА ЗАДАЧИ
Задача, формулируется следующим образом: на прямоугольном листе разместить заданный набор прямоугольных блоков наиболее симметричным образом. Примеры симметричных размещений блоков изображены на рис. 1, 2.
Разумеется, решение задачи симметричного размещения может быть лишь при ближенным. Поэтому