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.
Разумеется, решение задачи симметричного размещения может быть лишь при ближенным. Поэтому
Рисунок 1 — Верхнетреугольное размещение
Рисунок 2 — Периметрическое размещение
в первую очередь необходимо определить критерии качества решения. Без формального критерия качества автоматизация процесса размещения будет просто невозможна.
Вторая проблема - сам алгоритм размещения, который давал бы симметричные решения. К числу основных требований к алгоритму такого типа относятся:
а) небольшое число шагов алгоритма с возможностью коррекции процесса поиска решения на каждом шаге;
б) высокая скорость выполнения алгоритма. Низкие скорости для диалога «Человек-машина» неприемлемы, так как при большом времени ожидания отклика меняются целевые установки исполнителя, и критерий быстроты выполнения расчета может приобрести ключевую роль в ущерб другим критериям качества;
в) возможность проигрывания различных вариантов расчета. На любом шаге могут измениться как первоначальная система ограничений, так и целевая функция ЛПР. Поэтому необходимо предусмотреть возможность перехода, как на предыдущие шаги расчета,
так и на новые правила поиска решения, начиная с текущего шага.
Эффективными алгоритмами такого класса являются «жадные» алгоритмы (Greedy algorithms) [2, 3] и построенные на их основе фрагментарные алгоритмы, которые за малое число шагов приводят к квазиоптимальному решению оптимизационных задач.
2 ГРУППЫ ПРЕОБРАЗОВАНИИ
ПРЯМОУГОЛЬНОЙ РЕШЕТКИ
Прямоугольную решетку будем рассматривать как граф Р = (V, Е) определенного типа. Каждой ячейке решетки соответствует вершина графа - элемент множества V. Две вершины графа соединены ребром (пара вершин принадлежит множеству Е) в том и только в том случае, когда соответствующие им ячейки решетки имеют общую сторону (рис. 3).
Напомним, что изоморфизмом графа называется такое взаимно однозначное отображение его вершин, при котором сохраняется отношение смежности вершин. Полную группу преобразований решетки определим как группу Г изоморфизмов ее графа. Нейтральным (единичным) элементом этой группы служит тождественный изоморфизм х) = хУх е V. Подмножество преобразований, замкнутое относительно операции суперпозиции и операции обратного преобразования -подгруппа группы Г. Такую подгруппу будем называть группой преобразований.
Пусть О - произвольная группа преобразований решетки. Определим действия элемента д е О на элемент х е V следующим образом: д • х = д(х).
По аналогии определим действие элемента д е О на подмножество А с V, а именно:
g ■ A = {= g(x), x e A }.
Для каждого элемента х е V определено множество Ох = {у:у = д • хд е О}. Это множество называется орбитой элемента х при действии группы О. Очевидно, орбиты любых двух элементов множества V либо
Рисунок 3 - Граф решетки
70
ISSN 1607-3274 «Радтелектрошка. 1нформатика. Управлшня» № 1, 2006
не пересекаются, либо совпадают. Таким образом, все множество V оказывается разбитым на классы попарно непересекающихся между собой орбит.
Множество А с V называется инвариантным или О-симметричным относительно действия группы преобразований О (или О-инвариантным), если Ух е А и Уд е е О, д • х е А. Другими словами, множество А инвариантно относительно действия группы О, если орбита любого элемента этого множества при действии группы О является подмножеством множества А, или Уд е О, д • А = А.
Множество А с V называется О-асимметричным относительно действия группы преобразований О, если Ух е А и Уд е О, д • х £ А. Другими словами, множество А является О-ассиметричным, в том и только в том случае, когда Уд е О, д • А п А = 0.
Определение. Мерой симметрии непустого подмножества А с V называется число це(А), которое определяется формулой:
и д •А
д е О
Здесь |Х| - число элементов во множестве X. Из (1) вытекает, что УА е V 0 < Цо(А) < 1. Причем для О-сим-метричного множества А его мера симметрии ^(А) = 1.
Теперь верхнетреугольное размещение (рис. 1) можно определить, как подмножество AсV, асимметричное относительно группы преобразования - порожденной диагональным отражением решетки (диагональ, соединяющая левый нижний с правым верхним углом). Периметрическое размещение - подмножество инвариантное относительно группы всех осевых отражений решетки. То есть, каждое размещение может теперь характеризоваться его мерой симметрии относительно действия определенной группы преобразований.
3 ФРАГМЕНТАРНЫЕ АЛГОРИТМЫ
В ряде систем поддержки принятия решений (в частности, [4-6]) удалось построить эффективные эвристические алгоритмы, которые удовлетворяют практически всем требования, перечисленным в предыдущем выше.
Общая схема построения таких алгоритмов следующая:
а) Определяется множество фрагментов решений {/} и внешняя операция Ф соединения фрагментов (соединение фрагментов, как правило, фрагментом не является). Каждое допустимое решение задачи состоит из конечного числа фрагментов из заданного множества фрагментов, соединенных путем внешней операции.
б) Задается ряд отношений линейного порядка {р} на множестве фрагментов и эффективная процедура упорядочения фрагментов, которая позволяет получать производить упорядочение фрагментов по разным порядкам в соответствии с выбранными правилами.
в) Задаются условия присоединения фрагмента, которые могут быть как детерминированными, так и динамическими, меняющимися на каждом шаге. Для уже выбранного подмножества фрагментов задается эффективная процедура проверки возможности присоединения фрагмента, не принадлежащего выбранному подмножеству.
Алгоритмы, которые строятся по указанной выше схеме, будем называть фрагментарными.
Каждый шаг фрагментарного алгоритма состоит в следующем: выбирается отношение порядка из заданного множества отношений. Просматриваются все еще не выбранные фрагменты, упорядоченные по выбранному отношению порядка. Выбирается первый из фрагментов, который удовлетворяет условиям присоединения и добавляется к множеству. Условие остановки алгоритма - не удалось найти очередной фрагмент.
С фрагментарного алгоритма снято основное требование - условие оптимальности. Определение понятия оптимальности переносится на ЛПР (лицо принимающее решение). Причем это условие может меняться на отдельных этапах работы алгоритма в зависимости от построенного множества фрагментов.
Оценим сложность фрагментарного алгоритма. Пусть общее число фрагментов, которые используются при отыскании решения задачи N. Обозначим верхнюю оценку трудоемкость проверки условия присоединения на каждом шаге - т, а п - верхняя оценка числа фрагментов, составляющих решение задачи. Тогда трудоемкость фрагментарного алгоритма оценивается числом N■LnN■m■n.
4 ФРАГМЕНТАРНЫЙ АЛГОРИТМ ДЛЯ ЗАДАЧИ РАЗМЕЩЕНИЯ
Перейдем теперь к задаче размещения прямоугольных блоков. Для этой задачи имеется естественная фрагментация. Фрагментом решения является размещение одного прямоугольного блока. В качестве порядка на множестве фрагментов рассматривались следующие правила упорядочивания:
а) по возрастанию (убыванию) площади блоков;
б) по возрастанию (убыванию) периметров блоков;
в) по возрастанию (убыванию) ширины блоков;
г) по возрастанию (убыванию) высоты блоков.
Для конкретной реализации алгоритмов размещения
предлагались и другие правила, связанные с особенностями прикладной задачи.
Условием присоединения блока к уже имеющемуся набору фрагментов следующие: а) отсутствие пересечений
Рисунок 4 — Образующая группы центральной симметрии
с любым из уже выбранных фрагментов; б) максимум (или минимум) меры симметрии относительно выбранной группы преобразований. Дополнительным условием может быть условие общей границы хотя бы с одним из уже существующих блоков.
Группы преобразований решетки, которые могут быть применены в этой задаче:
а) группа О1 - группа осевой симметрии относительно вертикальной оси;
б) группа О2 - группа осевой симметрии относительно вертикальной оси;
в) группа О3 - группа центральной симметрии относительно центра решетки. Для отдельных видов решеток могут быть и другие группы. На рис. 4 изображен пример - изоморфизм, который является образующей группы преобразований О3.
5 ИНФОРМАЦИОННАЯ СИСТЕМА
«МЕДИА»
Фрагментарный алгоритм, который рассматривался выше, был реализован в информационной системе «Медиа», предназначенной для приема заявок на размещение рекламы и размещения рекламных блоков на страницах рекламных изданий. Внедрение этого алгоритма позволило поднять производительность труда в несколько раз.
Кроме перечисленных выше свойств алгоритм позволяет закреплять при размещении отдельные блоки на фиксированных местах, упорядочивать блоки по тематике, номерам заказов и др., вручную производить перемещение блоков после окончания работы алгоритма.
Окно описаний параметров фрагментарного алгоритма размещения блоков изображено на рис. 5.
Реализованы алгоритмы следующих типов размещений: верхнепрямоугольное, нижнепрямоугольное, ле-вопрямоугольное, правопрямоугольное, верхнеправо-треугольное, верхнелевотреугольное, нижнеправотре-угольное, нижнелевотреугольное, периметрическое, центральное и случайное.
Во фрагментарном алгоритме могут быть использованы следующие правила упорядочивания блоков рекламы: по ширине блока, по высоте блока, по площади блока, по номеру блока, по отношению ширины к вы-
Рисунок 5 — Выбор параметров алгоритма
Рисунок 6 — Плотная упаковка, полученная с помощью фрагментарного алгоритма
соте блока, по тематике рекламы. Упорядочивания могут быть по возрастанию и по убыванию.
Условием присоединения блока является возможность его размещения на листе без пересечений с остальными блоками. Проверка этой возможности осуществляется путем простого перебора свободных ячеек в направлении «по» или «против» часовой стрелки.
Интересным свойством алгоритма оказалось то, что он, как правило, позволяет решить и другую задачу -задачу максимально плотного размещения блоков из заданного набора на странице (рис. 6).
ВЫВОДЫ
Метод создания фрагментарных алгоритмов, который описан в настоящей работе, может быть перенесен на ряд дискретных прикладных задач теории принятия решений, и теории графов [7]. Простота формализации делает возможным создание на основе фрагментарного подхода систем поддержки принятия решений в таких трудно формализуемых, а порой и трудноре-шаемых задачах, как задачи составления оптимальных
72
1607-3274 «Радтелектрошка. 1нформатика. Управлшня» № 1, 2006
О. А. Криводубский, Р. Т. Газимов: ПРАВИЛА РАЦИОНАЛЬНОГО РАЗМЕЩЕНИЯ ИЗОБРАЖЕНИЙ В ПАМЯТИ ТЕХНИЧЕСКИХ СИСТЕМ
расписаний, задачи оптимального размещения объектов, задачи упаковки объектов сложной формы и множество других.
Фрагментарный алгоритм оставляет ЛПР два основных механизма вмешательства в процесс поиска оптимального решения - это способ упорядочивания фрагментов и условие присоединения. Благодаря этой свободе можно в процессе принятия решений ввести нечеткие, «лингвистические» требования, такие как «самый лучший», «наиболее подходящий», «красивый с точки зрения ЛПР» и т. д.
Таким образом, во фрагментарных алгоритмах нечеткость и размытость некоторых формулировок может быть совмещена с жесткими правилами упорядочивания и присоединения фрагментов. Это позволяет надеяться, что механизм фрагментарных алгоритмов получит широкое применение в создание систем поддержки принятия решений в разных областях применения интеллектуальных компьютерных систем.
ПЕРЕЧЕНЬ ССЫЛОК
1. Мухачева Э. А. Рациональный раскрой промышленных материалов. Применение АСУ. - М.: «Машиностроение», 1984. - 178 с.
2. Сигал И. Ч., Иванова А. П. Введение в прикладное дискретное программирование: модели и вычислительные алгоритмы. - М.: ФИЗМАТЛИТ, 2002. - 240 с.
3. Пападимитроу X., Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность. - М., «Мир», 1985. -512 с.
4. Козин И. В. Автоматизация банковской деятельности // Банковские технологии. Компьютеры + программы. -1995. - № 1. - С. 8-10.
5. Баштанник О. И., Козин И. В., Максишко Н. К., Медведь С. Н. Региональная информационная система управления финансами // Сборник трудов первой международной научно-практической конференции «Проблемы становления рыночной экономики: информационное и финансовое обеспечение деятельности предпринимательских структур» - 6-8 мая 1998 г. - Ч. II. -Севастополь: Изд-во СевГТУ. - 1998. - С. 176-180.
6. Баштанник О. И., Козин И. В., Максишко Н. К., Медведь С. Н. O создании автоматизированной системы учета и управления земельными ресурсами Запорожской области // Модели управления в рыночной экономике: Сборник научных трудов. -ДонНу. - 2002. -С. 11-16
7. Заховалко Т. В. Задача покрытия графа типовыми подграфами с заданными свойствами симметрии // Питання прикладно!' математики та математичного мо-делювання. - Днтропетровськ: ДНУ. - 2005. - С. 87-89.
Надшшла 21.12.05 Шсля доробки 27.02.06
У po6omi розглядаеться задача розмщення в прямо-кутнику прямокутних блотв заданих poзмipiв. Як критерий якoсmi pi-шення береться критерт симетрп пев-ного вигляду. Одержаний фрагментарний алгоритм пошу-ку симетричних poзмiщeнь. Описана iнфopмацiйна система для вирШення задачi симетричного poзмiщeння блoкiв, яка може застосовуватися при niдгomoвцi реклам-них видань.
The placing task in the rectangle of rectangular blocks of the set sizes is examined in work. The symmetry criterion of certain kind undertakes as a criterion of quality placing. The fragmentary algorithm of search of the symmetric placing is got. The informative system for the decision task of the symmetric placing of blocks is described. This system can be used at preparation of publicity editions.
УДК 004.93'14:004.932.1:004.932.72
О. А. Криводубский, Р. Т. Газимов
ПРАВИЛА РАЦИОНАЛЬНОГО РАЗМЕЩЕНИЯ ИЗОБРАЖЕНИЙ В ПАМЯТИ ТЕХНИЧЕСКИХ СИСТЕМ
В статье рассматриваются принципы фиксации, размещения и хранения визуальной информации. При их рассмотрении вводится основная единица визуальной информации - «событие» и предлагается способ его представления как группы изображений. Для предложенного представления события определяется и формализуется понятие «размещение» и критерии его оптимальности.
ПОСТАНОВКА ПРОБЛЕМЫ
Решение научных и технических задач требует обработки значительных объемов графической информации. Ее хранение в памяти технических систем (ТС) в неструктурированном виде приводит к нераци-
© Криводубский О. А., Газимов Р. Т., 2006
ональному использованию их ресурсов - процесс поиска изображений в базах данных (БД) большой размерности потребляет большую часть времени принятия решений в целом. Поэтому актуально определение правил размещения изображений, предусматривающих эффективность их последующего поиска.
АНАЛИЗ ИССЛЕДОВАНИЙ
ИПУБЛИКАЦИЙ
Для реализации систем размещения визуальной информации используются специализированные СУБД