Научная статья
УДК 65.012.1
DOI: 10.14529/йо240408
МОДЕЛИ ТЕОРИИ ГРАФОВ КАК ИНСТРУМЕНТ МОДЕЛИРОВАНИЯ ОРГАНИЗАЦИОННЫХ СИСТЕМ (ЗАДАЧА О КЛИКЕ)
С.А. Баркалов, [email protected], https://orcid.org/0000-0001-6183-3004 П.Н. Курочка, [email protected], https://orcid.org/0000-0003-4945-9552 Е.А. Серебрякова, [email protected], https://orcid.org/0000-0001-5129-246X Воронежский государственный технический университет, Воронеж, Россия
Аннотация. Востребованность методов теории графов при моделировании процесса управления социальными и экономическими системами обусловлена прежде всего удобством графического отображения сложных систем, что упрощает их анализ и понимание. При этом такое представление позволяет анализировать связи между различными элементами социальных и экономических систем, что дает возможность выявления ключевых факторов, оказывающих влияющие на изучаемую систему. Целью исследования является рассмотрение возможности использования теории графов как инструмента для моделирования организационных систем на примере задачи о клике. Методы. Для решения поставленных задач предлагается использовать эвристические алгоритмы, основанные на использовании опыта и интуиции. В данном случае применяются эвристики, связанные с выбором элементов с наибольшим весом, или выбор элементов, покрывающих наибольшее количество элементов. Показан набор задач теории графов, имеющих алгоритмическую связь, то есть на базе алгоритмов решения одной из них можно получить решение и для целого ряда практически важных типов задач. Важность этого обстоятельства заключается в том, что эти задачи относятся к NP-полным, для решения которых отсутствуют действенные алгоритмы решения. Результаты. Приведена примерная схема применения задач теории графов как инструмента для анализа и оптимизации социальных и экономических систем, позволяющих выявить наиболее важные элементы системы, определить их взаимосвязи и оценить их влияние на общую структуру и функционирование. Заключение. В качестве базовой задачи, позволяющей решить несколько других практически важных проблем, предлагается использовать задачу о клике, решение которой позволяет это сделать. Основной проблемой в данном случае является получение информации о том, является ли полученный на очередном шаге граф кликой или же нет. Дается ответ на этот вопрос, что сильно упрощает процесс нахождения клики, а следовательно, и решения целого комплекса задач с использованием понятия дополнительного графа.
Ключевые слова: неориентированный граф, задача о наименьшем покрытии, клика, паросоче-тание, независимое множество вершин, полный граф, дополнительный граф
Для цитирования: Баркалов С.А., Курочка П.Н., Серебрякова Е.А. Модели теории графов как инструмент моделирования организационных систем (задача о клике) // Вестник ЮУрГУ. Серия «Компьютерные технологии, управление, радиоэлектроника». 2024. Т. 24, № 4. С. 89-102. DOI: 10.14529/^240408
© Баркалов С.А., Курочка П.Н., Серебрякова Е.А., 2024
Original article
DOI: 10.14529/ctcr240408
MODELS OF GRAPH THEORY AS A TOOL FOR MODELING ORGANIZATIONAL SYSTEMS (CLIQUE PROBLEM)
S.A. Barkalov, [email protected], https://orcid.org/0000-0001-6183-3004 P.N. Kurochka, [email protected], https://orcid.org/0000-0003-4945-9552 E.A. Serebryakova, [email protected], https://orcid.org/0000-0001-5129-246X Voronezh State Technical University, Voronezh, Russia
Abstract. The demand for graph theory methods in modeling the process of managing social and economic systems is primarily due to the convenience of graphical display of complex systems, which simplifies their analysis and understanding. At the same time, such a representation allows analyzing the connections between various elements of social and economic systems, which makes it possible to identify key factors that influence the system under study. The aim of the study is to consider the possibility of using graph theory as a tool for modeling organizational systems using the example of the clique problem. Methods. To solve the problems, it is proposed to use heuristic algorithms based on the use of experience and intuition. In this case, heuristics are used associated with the selection of elements with the greatest weight or the selection of elements covering the largest number of elements. A set of graph theory problems with an algorithmic connection is shown, that is, based on the algorithms for solving one of them, it is possible to obtain a solution for a number of practically important types of problems. The importance of this circumstance lies in the fact that these problems are NP-complete for solving, for which there are no effective solution algorithms. Results. An approximate scheme of application of graph theory problems as a tool for analysis and optimization of social and economic systems is given, allowing to identify the most important elements of the system, determine their interrelations and assess their impact on the overall structure and functioning. Conclusion. As a basic problem allowing to solve several other practically important problems, it is proposed to use the problem of a clique, the solution of which allows to do this. The main problem in this case is to obtain information about whether the graph obtained at the next step is a clique or not. An answer to this question is given, which greatly simplifies the process of finding a clique, and, therefore, solving a whole complex of problems using the concept of an additional graph.
Keywords: undirected graph, least covering problem, clique, matching, independent set of vertices, complete graph, additional graph
For citation: Barkalov S.A., Kurochka P.N., Serebryakova E.A. Models of graph theory as a tool for modeling organizational systems (clique problem). Bulletin of the South Ural State University. Ser. Computer Technologies, Automatic Control, Radio Electronics. 2024;24(4):89-102. (In Russ.) DOI: 10.14529/ctcr240408
Введение
В современном мире социальные и экономические системы становятся всё более сложными и взаимосвязанными. Для эффективного управления такими системами необходимо использовать передовые методы и подходы. Одним из таких подходов является применение моделей и методов теории графов [14, 15].
Проанализируем перспективы, демонстрируемые этим направлением применительно к задачам управления социальными и экономическими системами. Перспективность данной темы обусловлена необходимостью поиска новых методов и подходов к управлению сложными системами, которые могут обеспечить более конкурентоспособное и резистентное развитие. Использование моделей и методов теории графов дает возможность установить основополагающие составные части системы, оказывающие максимальное влияние на её работоспособность, и на базе этого спроектировать более эффективные стратегии управления.
Кластер задач, в которых могут быть использованы преимущества теории графов, профилируется композицией постановок задач, получивших название как задача о наименьшем покрытии (ЗНП) [14, 15]. В состав пула таких постановок входят: поиск наибольшего независимого множества вершин, поиск наибольшего паросочетания (наибольшее независимое множество рёбер), поиск наибольшего доминирующего множества вершин и рёбер, задача о клике.
Возможная корреляция вышеназванных задач с другими проблемами теории графов приведена на рис. 1 [12].
Рис. 1. Взаимосвязь между задачами теории графов [12] Fig. 1. Relationship between graph theory problems [12]
Независимым множеством вершин графа называется любое множество попарно не смежных вершин, т. е. множество вершин, порождающее пустой подграф. Независимое множество называется максимальным, если оно не является собственным подмножеством другого независимого множества, и наибольшим, если оно содержит наибольшее количество вершин. Задача о независимом множестве состоит в нахождении наибольшего независимого множества [14, 15].
Кликой графа называется множество вершин, порождающее полный подграф, т. е. множество вершин, каждые две из которых смежны. То есть клика является полным графом внутри исходного графа.
Паросочетание - это набор рёбер в двудольном графе, в котором ни одно ребро не имеет общей вершины с другим ребром. Наибольшее паросочетание - это паросочетание максимального размера [14, 15].
Вершинное покрытие графа - это такое множество вершин, что каждое ребро графа инцидентно хотя бы одной из этих вершин [14, 15].
Следовательно, указанные задачи имеют между собой алгоритмическую связь, то есть на базе алгоритмов решения одной из них можно получить решение и для остальных типов задач, как показано на рис. 1. Важность этого обстоятельства заключается в том, что эти задачи относятся к NP-полным, для решения которых пока отсутствуют действенные алгоритмы [6, 7, 9]. Тем не менее проектирование алгоритмов для подобных задач остается до сих пор востребованным, что объясняется их практической применимостью.
1. Методы
Обсудим потенциальные направления использования моделей и методов теории графов в вопросах управления социально-экономическими системами. При этом следует учитывать одно специфическое обстоятельство: анализируемые модели и методы тесно коррелированы между собой, что объясняется идентичностью областей применения. Это приводит к тому, что в некоторых случаях результаты могут дублироваться.
Рассмотрим возможные иллюстрации применения задачи о наибольшем независимом множестве [19].
Планирование проектов [2, 4]. При управлении проектами задача о наибольшем независимом множестве позволяет установить набор задач, которые могут выполняться параллельно, так как отсутствует технологическая зависимость между работами и конфликт при использовании ресурсов. Такая постановка вопроса приводит к возможности эффективного управления проектом.
Распределение ресурсов [3]. В распределении ресурсов задача о наибольшем независимом множестве позволяет найти оптимальное распределение ресурсов между различными задачами
или проектами. Это помогает избежать конфликтов и обеспечить эффективное использование ресурсов. Например, при распределении ресурсов типа «мощности», если необходимо разместить на строительной площадке несколько единиц строительной техники, допустим, подъемных кранов. При этом необходимо, чтобы каждый подъемный кран имел свою зону обслуживания и не мешал работе других. Для того чтобы успешно решить эту задачу, необходимо составить схему расположения техники в виде графа, где вершины - это возможные места расположения отдельных образцов техники, а ребра - возможные области обслуживания каждой из них. Необходимо выбрать вершины, попарно не соединенные ребрами. Это и есть задача о независимом множестве.
Сети связи. В сетях связи рассматриваемая задача интерпретируется как задача о размещении оборудования оператора связи с целью достижения экономии средств при выполнении требований к качеству связи. Самым простым случаем в данном примере является планирование размещения вышек мобильной связи, покрывающих некоторую область пространства.
Теория игр. Применение моделей и методов теории графов в задачах теории игр может заключаться в нахождении множества альтернативных стратегий игроков, которые при выборе будут исходить из полученного независимого множества, с целью максимизации получаемой выгоды.
Оптимизация маршрутов. Возникает при разработке оптимизации маршрутов и логистических цепочек, что дает возможность построить их так, чтобы избежать конфликтов и перегрузок.
Анализ данных [4, 8]. Задача о наибольшем независимом множестве также может быть применена для кластеризации данных. В социальных сетях данная задача может быть использована при кластеризации данных, то есть при их разделении на отдельные связанные общими свойствами группы (кластеры). Выделение таких кластеров дает возможность осуществить распараллеливание процесса вычислений, когда каждый кластер обрабатывается отдельным вспомогательным сервером.
Проектирование электронных схем. Данная задачи по своей сути очень близка к задаче проектирования сетей связи.
Логистика [20]. Используется при разработке стратегии распределения товаров по складам и торговым точкам. Данный подход позволяет наладить эффективную работу проектируемой логистической сети.
Понятно, что был приведен лишь небольшой массив примеров практического использования задачи о наибольшем независимом множестве, являющейся одной из фундаментальных задач теории графов, имеющей множество практических приложений в различных областях.
Другим важным классом задач теории графов является задача о клике, представляющей собой подмножество вершин графа, такое, что каждые две вершины в этом множестве соединены ребром. Таким образом, требуется в заданном графе найти подмножества вершин, попарно соединенных ребрами.
Приведем наиболее широко используемые варианты применения задачи о клике [19].
Социальные сети. В этом случае рассматриваемая задача применяется с целью нахождения групп людей, тесно связанных друг с другом в социальной сети. Это может помочь в понимании структуры социальных связей и выявлении влиятельных людей в группе. В данном случае очень хорошо иллюстрирует особенности задачи о клике следующий пример: если Вы хотите организовать самую большую вечеринку для «своих» (то есть чтобы на вечеринке каждый знал каждого), то Вам необходимо решить задачу о максимальной клике. Обозначьте друзей вершинами, проведите ребро между двумя вершинами, если два этих друга знакомы, и решите задачу о максимальной клике.
Графы химических соединений. Для синтеза новых химических веществ очень удобно представить их молекулярную структуру в форме графа. В частности, в курсе органической химии такое представление используется уже давно, но вот задача о клике, применяемая для поиска подструктур молекул, которые могут быть особенно важными для их свойств, стала использоваться относительно недавно.
Сети коммуникаций. При проектировании коммуникационных сетей задача о клике позволяет выявить группы устройств, активно взаимодействующих друг с другом, изучить трафик и определить, нормальное ли количество ресурсов выделено для обслуживания этого направления.
Анализ данных. Задача о клике также может быть применена для кластеризации данных. В этом случае вершины графа представляют объекты, а рёбра указывают на сходство между ними.
Если в этом графе есть клика, значит, есть такие пары узлов, которые могут быть связаны друг с другом разными путями и это при обработке данных может привести к зацикливанию. В некоторых случаях это зацикливание стараются избегать. Нахождение клик в таком графе позволяет выделить группы объектов с общими характеристиками.
Теория игр. В данном случае рассматриваемая возможность образования коалиций игроков с целью выработки стратегии, позволяющей максимизировать общий выигрыш коалиции
Оптимизация маршрутов [10, 11, 20]. Нахождение клик позволяет спроектировать возможные маршруты перемещения товарных потоков, проходящие через заданные пункты.
Биоинформатика. В этом случае понятие о клике позволяет осуществить процесс идентификации взаимодействий между молекулами белка. В этом случае вершины графа будут ассоциироваться с молекулами белка, а рёбра описывают взаимодействия между ними. Такое моделирование дает возможность выявить коалицию белковых молекул, взаимодействующих в общих биологических процессах.
Криптография. Нахождение клики в этом случае может служить основой для разработки криптографических схем, базирующихся на трудоемкости решения поставленной проблемы.
Планирование проектов. В этом случае задача о клике позволяет сформировать множество проблем, которые могут выполняться параллельно.
Маркетинг [10]. Использование понятия клики дает возможность описать структуру рынка, определить фундаментальных участников, схему их коммуникационного взаимодействия и оценить их доминирование в ходе формирования рыночной динамики.
Экономика [1, 5, 21]. В этом случае модели с использованием клик позволяют провести исследование конфигурации изучаемой экономической системы, направленной на идентификацию базовых направлений, интерпретацию их взаимосвязей и мониторинг их влияния на экономическое развитие.
Другой класс задач - это задачи о наибольшем паросочетании [14, 15]. Взаимосвязь между наибольшим паросочетанием и кликой заключается в том, что наибольшее паросочетание может применяться для нахождения клик в графе. Если мы рассмотрим граф как двудольный, где одна доля представляет собой вершины, а другая - рёбра, то можно найти наибольшее паросочетание в этом графе. Затем можно выделить все вершины, которые соответствуют рёбрам из паросоче-тания. Эти вершины образуют клику в исходном графе.
Следовательно, задачу о наибольшем паросочетании можно использовать как инструментарий для нахождения клик в графах. Тем не менее следует отметить, что далеко не всегда наибольшее паросочетание приводит к нахождению всех клик в графе, так как оно может не учитывать некоторые возможные комбинации вершин.
Рассмотрим возможные способы использования понятия паросочетаний в графе для решения практических задач [19].
Распределение ресурсов [10, 11]. Пусть есть несколько проектов, каждый из которых требует определённого количества ресурсов (например, людей, оборудования или материалов). Ресурсы ограничены, и каждый проект может использовать только часть доступных ресурсов. Необходимо распределить ресурсы между проектами таким образом, чтобы все проекты были выполнены максимально эффективно. Для этого можно построить двудольный граф, где вершины одной доли представляют проекты, а вершины другой доли - ресурсы. Затем можно найти максимальное паросочетание в этом графе, которое будет соответствовать оптимальному распределению ресурсов между проектами.
Планирование мероприятий [13]. В данном случае это частный случай задачи распределения ресурсов, предполагающий выполнение работ по подготовке и проведению различных общественных мероприятий типа конференций, для проведения которых в определенных временных границах требуются вполне конкретные ресурсы. Если таких мероприятий проводится достаточно много, то возникает риск возникновения конфликтов, когда одни и те же ресурсы одновременно требуются в разных местах. Эта ситуация приводит к необходимости разработки календаря мероприятий, позволяющего если и не ликвидировать конфликтные ситуации совсем, то по крайней мере их минимизировать. Достичь этого возможно, используя модели и методы теории графов. В частности в данном случае уместным будет применение алгоритмов нахождения паро-сочетаний в двудольном графе, когда первая доля графа будет описывать перечень мероприятий,
планируемых к проведению, а вторая - используемые ресурсы. В этом случае найденное максимальное паросочетание будет давать оптимальное расписание.
Размещение объектов [16, 17]. Данная задача может быть решена также при помощи алгоритмов теории графов как нахождение максимального паросочетания в двудольном графе. При этом все возможные ограничения могут быть учтены за счет построения исходной графовой модели. Например, запрещение на размещение каких-то типов объектов в каких-то областях. Такое ограничение традиционно вызывает затруднение в аналитическом представлении, но очень хорошо моделируется средствами теории графов. Построив граф, учитывающий исходные особенности задачи, получаем двудольный граф, где одна доля описывает предлагаемые к размещению объекты, а другая - потенциальные места размещения. Найденное максимальное паросочетание будет давать оптимальное решение исходной задачи.
Рассмотрим примерную схему применения задач теории графов как инструмента для анализа и оптимизации социальных и экономических систем, позволяющих выявить наиболее важные элементы системы, определить их взаимосвязи и оценить их влияние на общую структуру и функционирование.
Для выявления ключевых участников проекта, определения их взаимосвязей и оценки их влияния на успех проекта при помощи теории графов можно выполнить следующие шаги [19]:
• определить состав участников, привлекаемых для реализации проекта. Это могут быть люди, организации или другие участники, которые играют важную роль в проекте;
• построить граф проекта, в котором вершины графа будут представлять участников проекта, а рёбра - связи между ними;
• необходимо количественно оценить влияние каждого участника на успех проекта. Для этого можно использовать различные методы, например, экспертные оценки, анализ данных или моделирование;
• выявить ключевых участников проекта. Ключевыми участниками проекта будут те, кто оказывает наибольшее влияние на успех проекта;
• определить взаимосвязи между ключевыми участниками. Для этого нужно проанализировать граф проекта и выявить, какие участники связаны друг с другом;
• оценить влияние ключевых участников на успех проекта.
Разработать стратегию взаимодействия с ключевыми участниками. На основе результатов анализа можно определить, как лучше всего взаимодействовать с ключевыми участниками для обеспечения успеха проекта.
Предположим, что проект состоит из следующих участников [7, 18]:
Заказчик - организация, которая заказала проект. Руководитель проекта - человек, который отвечает за выполнение проекта. Команда проекта - группа людей, которые выполняют работу по проекту. Поставщики - организации, которые предоставляют материалы и услуги для проекта. Инвесторы - люди или организации, которые вкладывают деньги в проект.
Граф проекта может выглядеть следующим образом:
вершины: заказчик, руководитель проекта, команда проекта, поставщики, инвесторы;
рёбра: связь между заказчиком и руководителем проекта, связь между руководителем проекта и командой проекта, связь между командой проекта и поставщиками, связь между инвесторами и руководителем проекта.
Экспертное сообщество может насчитывать весьма значительное количество членов, и это сказывается на размерности исходных матриц, делая высокой вычислительную сложность рассматриваемой задачи. Естественно, возникает необходимость как-то понизить эту размерность. Вполне возможно для этой цели воспользоваться тем фактом, что граф, описывающий исходные состояния, скорее всего не предполагает, что все члены рассматриваемого сообщества будут контактировать друг с другом, поэтому в исходном графе будут существовать клики.
Если рассматривать проект, взаимодействия между работами которого задаются в виде графа, то было бы весьма полезно разбить этот граф на несколько составляющих, но так, чтобы связи межу полученными частями были бы минимально необходимы, то есть выделить клики в этом графе, что позволяет осуществить декомпозицию исходной задачи на ряд более мелких задач.
Например, поиск в социальных сетях максимальной группы пользователей, все члены которой связаны общими интересами между собой.
Вместе с тем следует учитывать, что использование задачи о клике имеет свои противопоказания и трудности. Прежде всего это отражается на количественном описании модели, когда каждой дуге графа требуется приписать некую весовую характеристику, но получение таких характеристик достаточно часто представляет собой уже неординарную задачу. При этом необходимо иметь в виду, что задаваемые связи могут носить нечеткий характер, что выводит задачу совершенно на другой уровень сложности. Одновременно с этим остается открытым вопрос об описании динамики такой системы, так как основная часть алгоритмов предполагает, что исходный граф стационарен. Непраздным является вопрос об адекватном соответствии графовой модели реальному процессу.
И тем не менее невзирая на все сложности задача о клике остаётся перспективным аппаратом для исследования и контроллинга социально-экономических систем. Данный подход дает возможность сформировать общее представление о структуре системы, распознать фундаментальные компоненты и оценить их влияние. Вместе с тем с целью более углубленного изучения проблемы требуется применять более сложные методы и подходы.
В общем-то следует иметь в виду, что рассматриваемая задача теории графов относится к приоритетным сферам деятельности при разработке новых подходов к проблемам управления социальными и экономическими объектами и процессами. Данный подход может служить основой для конструирования более конструктивных концепций руководства процессом функционирования изучаемой системы на основе применения моделей исследования операций и повышения их резистентности.
2. Результаты
Следует напомнить, что полный граф - простой неориентированный граф, в котором каждая пара различных вершин инцидентна.
Утверждение 1. Если матрица смежности заполнена полностью, а на главной диагонали стоят нули, то такой граф будет являться полным и не имеющим петель.
Утверждение 2. Полный граф с п вершинами имеет п(п - 1)/2 рёбер.
Доказательство утверждения следует из определения полного графа: каждая вершина такого графа должна быть связана ребром со всеми оставшимися вершинами графа. Таким образом, для каждой вершины графа таких ребер будет (п - 1). А учитывая, что в графе п ребер, то общее их количество будет определяться величиной п(п - 1)/2. На два выражение делится из-за того, что каждое ребро имеет две вершины, а следовательно, одно и то же ребро будет посчитано дважды: для начальной и для конечной вершины. Таким образом, максимально возможное число ребер в полном графе будет равно п(п - 1)/2. Понятно, что для такого графа матрица смежности будет заполнена всеми единицами, кроме главной диагонали.
Весьма интересным является вопрос о максимально возможной мощности получаемого подграфа. Ответ на этот вопрос дает следующее утверждение 3.
Утверждение 3. Максимальная мощность полного подграфа | G | будет равна наибольшей степени вершины, увеличенной на единицу, то есть | ^^ | = deg(v) + 1.
Необходимо обратить внимание, что получили максимальную оценку, то есть верхнюю границу, в реальности мощность клики будет меньше.
Все известные алгоритмы нахождения клик всегда имеют основную проблему: в ходе работы алгоритма как определить, полученный граф на очередном шаге является кликой или же нет. Ответ на этот вопрос дает утверждение 2.
На основании этого утверждения возможен следующий подход к нахождению клики:
^й шаг. Проводим подсчет ребер в исходном графе и проверяем соотношение п(п - 1)/2 рёбер, то есть не является ли исходный граф кликой. Если да, то конец алгоритма, если нет, то переходим к шагу 2.
(к + 1)-й шаг. Выбирается вершина с наименьшим количеством ребер, и она удаляется из графа вместе с ребрами. Принимаем п = п - 1. Переходим к шагу k.
Основным недостатком данного алгоритма является тот факт, что он дает просто одну из клик, свойственных для исходного графа. Если граф имеет несколько клик, то найденная клика не обязательно будет иметь экстремальные свойства. Таким образом возникает задача нахождения всего множества клик и отбор из найденных клик, удовлетворяющих требуемым свойствам.
Но аналогичным недостатком обладают и основные алгоритмы поиска клик. Самым известным является алгоритм Брона - Кербоша, разработанный голландскими математиками Броном и Кербошем в 1973 году.
Алгоритм использует тот факт, что всякая клика в графе является его максимальным по включению полным подграфом. Начиная с одиночной вершины (образующей полный подграф), алгоритм на каждом шаге пытается увеличить уже построенный полный подграф, добавляя в него вершины из множества кандидатов. Высокая скорость обеспечивается отсечением при переборе вариантов, которые заведомо не приведут к построению клики, для чего используется дополнительное множество, в которое помещаются вершины, которые уже были использованы для увеличения полного подграфа.
Клика - это подмножество вершин графа, такое, что каждые две вершины в этом подмножестве соединены ребром.
Построим для данного графа (рис. 2) матрицу смежности, которая приведена в табл. 1.
Рис. 2. Исходный граф для примера Fig. 2. Source graph for example
Применим алгоритм.
1-й шаг. Проверяем, не является ли исходный заданный граф кликой. Для этого проверяем выполнение соотношения при n = 8; 8 х 7/2 = 28. Легко проверить, что в исходном графе имеется 12 дуг, то есть соотношение не выполняется и исходный граф кликой не является.
2-й шаг. Так как все степени вершин одинаковы и равны 3, то выбираем произвольную вершину, например, 1. Удаляем ее из графа вместе с инцидентными ей ребрами. В табл. 1 соответствующая строка, столбец и клетки таблицы - зачеркнуты. В графе остается 7 вершин и 9 дуг. Проверяем выполнение кликового условия: 7 х 6/2 = 21. Условие не выполняется. Подсчет дуг можно осуществлять по матрице смежности, суммируя часть строки от главной диагонали.
Таблица 1
Исходные данные для примера и результат 2-го шага
Table 1
Initial data for the example and the result of the 2nd step
I II III IV f V VI VII VIII
I 1 1 0 1 0 0 0
II 1 0 0 1 0 0
III 1 0 0 0 1 0
TV 1 1 1 n n 0 n 1
IV 0 1 0 0 1
V 1 0 0 0 1 1 1 0
VI 3 1 0 1 1 0 1
VII 3 0 1 1 1 0 1
VIII 0 0 0 0 1 1
3-й шаг. К этому шагу наименьшую степень имеют вершины 2 и 4. Выбираем 4. Удаляем ее и инцедентные ей дуги. 6 вершин и 6 дуг: 6 х 5/2 = 15, то есть условие для существования клики не выполняется. Результат шага приведен в табл. 1.
4-й шаг. К этому шагу наименьшую степень имеют вершины 2, 3, 6, 7. Выбираем 2. Удаляем ее и инцедентные ей дуги. Остается 5 вершин и 5 дуг: 5 х 4/2 = 10, то есть условие для существования клики не выполняется.
5-й шаг. К этому шагу наименьшую степень имеют вершины 6, 7. Выбираем 6. Удаляем ее и инцедентные ей дуги. Остается 3 вершины и 3 дуги: 3 х 2/2 = 3, то есть условие для существования клики не выполняется.
6-й шаг. К этому шагу наименьшую степень имеют вершины 5, 7. Выбираем 5. Удаляем ее и инцедентные ей дуги. Остается 3 вершины и 2 дуги: 2 х 1/2 = 1, то есть условие для существования клики не выполняется.
7-й шаг. Остается 2 вершины и 1 дуга. Проверяем выполнение кликового условия: 2 х 1/2 = 1, то есть условие для существования клики выполняется. Результаты приведены в табл. 2.
Таблица 2
Исходные данные для примера после 7-го шага
Table 2
Initial data for the example after step 7
Т Т Т [Т V I V [Т VH vrn
тт п п
II 0 ) 1 0 0
ТТТ ) 1 0
V / ( Л 1 п
V
VT 0 Л 1 п 1
VI ] 1 0 1
VII < ) 1 ) 1
VIII < ) ( ) ) 1 1
Таким образом, мы нашли одну клику в исходном графе. Клика будет состоять из вершин 7 и 8. Мощность клики - два. Понятно, что клика в графе куба будет существовать не одна, так как каждая пара смежных вершин будет составлять клику, то есть в данном модельном примере решение достаточно очевидно. Но в общем случае однократное применение алгоритма дает только одну клику, причем совершенно произвольную. В данном примере все осложняется еще и тем, что в исходных данных все степени вершин одинаковы и выбор вершины для удаления осуществляется совершенно произвольно, так как нет возможности сформулировать правило отбора, в качестве которого обычно выступает минимальное значение степени вершины.
Полученный результат хорошо согласуется с теорией, согласно которой в графе куба (или гиперкуба) клика размером 1 состоит из одной вершины. Клика размером 2 состоит из двух вершин, которые являются концами одного ребра. Клики размером от 3 до п состоят из двух или более клик размером п - 1, соединённых вместе.
Таким образом, клик всех возможных размеров в графе куба много. Известно, что размер наибольшей клики в графе куба равен —п, где п - количество вершин в кубе [13]. В частности, для куба с 8 вершинами, а это наш пример, (куб первого порядка) размер наибольшей клики равен 2 [13].
Достаточно простой алгоритм нахождения клики в графе очень важен, так как согласно рис. 1 это может служить основой для решения других задач теории графов. В частности, нахождения независимого множества, так как найденная клика будет соответствовать независимому множеству в дополнительном графе.
Граф, дополнительный к исходному графу G = (V, E), характерен тем, что имеет то же самое множество вершин, а множество его ребер E = У\Б состоит из всех ребер, не являющихся ребрами исходного графа G [13]. Это дает возможность построить следующий алгоритм нахождения дополнительного графа к исходному:
1-й шаг. Построить матрицу смежности для исходного графа.
2-й шаг. В матрице смежности заменить все единицы нулями, а нули единицами. Полученная матрица и будет являться матрицей смежности искомого графа, который является дополнительным к исходному.
Противоположное клике понятие - это независимое множество в том смысле, что каждая клика соответствует независимому множеству в дополнительном графе.
Приведем пример применения понятия наибольшего множества независимых вершин в графе для решения практических задач [11, 18, 19].
Планирование производства. Производство оснащено некоторым числом производственных линий, на которых может производить один или несколько видов продукции. Возникает задача определения номенклатуры выпускаемой продукции с целью обеспечения максимально возможной эффективности оборудования за счет уменьшения простоев и времени, необходимого для перенастройки линий. Это возможно осуществить, используя задачу теории графов о наибольшем множестве независимых вершин. Для этой цели строится графовая модель процесса, которая может быть представлена в виде двудольного графа, где вершины представляют виды планируемой к выпуску продукции, а рёбра - конфликты по ресурсам между продуктами. Оптимальным решением задачи будет являться наибольшее множество независимых вершин для двудольного графа.
Распределение задач между сотрудниками. Необходимо распределить объемы работ между сотрудниками подразделения. Вполне понятно, что каждая задача требует для своего успешного выполнения от сотрудника определенных компетенций. Процесс распределения должен удовлетворять определенным требованиям: исключать дублирование и квалификация сотрудника должна соответствовать уровню поручаемой ему работы. С целью решения этой задачи необходимо построить графовую модель, в которой вершины соответствуют задачам, а рёбра - зависимостям между задачами. В качестве решения задачи принимается наибольшее множество независимых вершин, соответствующее набору задач, которые могут быть выполнены независимо друг от друга.
Оптимизация маршрутов доставки [20]. Требуется разработать план транспортного обслуживания, обеспечивающий процесс снабжения торговой сети поставками с центрального склада. В этом случае графовая модель будет описывать расположение пунктов доставки и расстояния между ними. Находя наибольшее независимое множество в построенном графе, можно получить оптимальные маршруты доставки.
Множество независимых рёбер также называют паросочетанием [16, 17]. Таким образом, алгоритм нахождения клик в графе открывает возможность нахождения еще наибольшего множества независимых вершин и паросочетаний в исходном графе.
Продолжим рассматриваемый пример. Для этого построим дополнительный граф к исходному, заданному в примере на рис. 2.
Используя алгоритм построения дополнительного графа к исходному, получим матрицу смежности, приведенную в табл. 3.
Таблица 3
Матрица смежности для дополнительного графа
Table 3
Adjacency matrix for complementary graph
I II III IV V VI VII VIII
I 0 0 1 0 1 1 1
II 0 1 0 1 0 1 1
III 0 1 0 1 1 0 1
IV 1 0 0 1 1 1 0
V 0 1 1 1 0 0 1
VI 1 0 1 1 0 1 0
VII 1 1 0 1 0 1 0
VIII 1 1 1 0 1 0 0
По данным табл. 3 построим дополнительный к исходному граф, представленный на рис. 3. Данный граф похож на двудольный, но не является таковым, так как имеются связи между вершинами в каждой доле: в первой доле - (1-4) и (2-3); во второй доле - (5-6) и (6-7).
Для определения наибольшего независимого множества необходимо найти клику в дополнительном графе, приведенном на рис. 3.
Для решения этой задачи воспользуемся приведенным выше алгоритмом.
Исходный граф имеет 8 вершин и 16 ребер. Проверка исходного графа на наличие клики приводит к заключению, что данный граф не является кликой. Согласно алгоритму выбирается вершина, имеющая наименьшую степень. Но в нашем случае все вершины будут иметь одинаковую степень, равную четырем, а поэтому можно выбрать любую произвольную вершину. В данном случае выбираем вершину 1 (на рис. 3 все удаленные на различных шагах вершины зачеркнуты). Последовательно, удаляя вершины 1, 6, 7, 4, за четыре шага приходим к тому, что в дополнительном графе будет существовать клика мощностью 4, в которую входят вершины 2, 3, 5, 8.
В исходном графе, приведенном на рис. 2, эти вершины будут составлять наибольшее независимое множество. Соответствующие вершины на рис. 2 выделены жирными линиями.
Согласно рис. 1, найдя наибольшее независимое множество вершин графа, для получения паро-сочетания можно использовать следующий алгоритм.
1. Найти наибольшее независимое множество вершин графа.
2. Для каждой вершины из этого множества найти все рёбра, которые инцидентны этой вершине.
3. Выбрать ребро с наименьшим весом (если веса не заданы, то можно выбрать любое ребро).
4. Удалить выбранное ребро и все инцидентные ему вершины из графа.
5. Повторить шаги 2-4 до тех пор, пока в графе есть рёбра.
В результате будет получено паросочетание - набор рёбер, в котором ни одно ребро не является общим для двух других рёбер.
Этот алгоритм является жадным алгоритмом и может давать неоптимальное решение в некоторых случаях. Однако он прост в реализации и работает достаточно быстро.
Для более точного решения задачи можно использовать другие алгоритмы, такие как алгоритм Куна или алгоритм Хопкрофта - Карпа. Эти алгоритмы являются более сложными, но они могут дать оптимальное решение.
Рис. 3. Дополнительный граф к исходному графу Fig. 3. Additional graph to the original graph
Заключение
Таким образом, эвристический алгоритм нахождения клик в графе позволяет осуществлять решение целого комплекса задач теории графов, о практическом применении которых говорилось выше. В частности, это наибольшее независимое множество вершин, паросочетания.
Список литературы
1. Асатурова Ю.М., Хватова Т.Ю. Повышение инновационной активности предприятий в условиях дефицита финансов // Научно-технические ведомости СПбГПУ. Экономические науки. 2019. Т. 12, № 1. С. 132-145. DO!: 10.18721/JE.12111
2. Баркалов С.А., Курочка П.Н., Серебрякова Е.А. Построение рейтинговой оценки на основе потоковой модели // Вестник ЮУрГУ. Серия «Компьютерные технологии, управление, радиоэлектроника». 2023. Т. 23, № 1. С. 31-41. DOL 10.14529/ctcr230103
3. Баркалов С.А. Выбор базовых представителей направления техники нового поколения / С.А. Баркалов, В.Н. Бурков, П.Н. Курочка, Е.А. Серебрякова // Вестник ЮУрГУ. Серия «Компьютерные технологии, управление, радиоэлектроника». 2023. Т. 23, № 3. С. 93-104. DOL 10.14529/ctcr230308
4. Баркалов С.А. Формирование поколений новой техники как задача о покрытии множества / С.А. Баркалов, В.Н. Бурков, П..Н. Курочка, Е.А. Серебрякова // Проблемы управления. 2023. № 6. С. 22-32. DOL 10.25728/pu.2023.6.2
5. Баркалов С.А. Моделирование инновационного развития фирмы / С.А. Баркалов, И.В. Буркова, П.Н. Курочка, Е.А. Серебрякова // Вестник Тверского государственного технического университета. Серия «Технические науки». 2023. № 2 (18). С. 49-64. DOI: 10.46573/2658-5030-2023-2-49-64
6. Баркалов С.А. Оптимизационные модели - инструмент системного моделирования: моногр. / С.А. Баркалов, П.Н. Курочка, Л.Д. Маилян, Е.А. Серебрякова. М.: Кредо, 2023. 522 с.
7. Баркалов С.А. Ресурсное планирование проектного управления: моногр. / С.А. Баркалов, П.Н. Курочка, Л.Д. Маилян, Е.А. Серебрякова. М.: Кредо, 2024. 530 с.
8. Белов М.В. Оптимальное управление жизненными циклами сложных изделий, объектов, систем // Проблемы управления. 2022. № 1. С. 19-32. DOI: 10.25728/pu.2022.1.2
9. Бурков В.Н., Заложнев А.Ю., Новиков Д.А. Теория графов в управлении организационными системами. М.: Синтег, 2001. 124 с.
10. Бурков В.Н., Буркова И.В. Задачи дихотомической оптимизации. М.: Радио и связь, 2003. 156 с.
11. Голлай А.В., Логиновский О.В. Использование теории нечетких множеств при отборе технологий промышленного предприятия для их улучшения // Управление инвестициями и инновациями. 2018. № 1. C. 35-43. DOI: 10.14529/iimj 180104
12. Окулов С.М. Дискретная математика. Теория и практика решения задач по информатике [Электронный ресурс]: учеб. пособие. 2-е изд. (эл.). М.: БИНОМ. Лаборатория знаний, 2012. 422 с.
13. Дранко О.И. Модель финансового прогнозирования и сценарии внутренних инвестиций // Проблемы управления. 2007. № 1. С. 37-40.
14. Кофман А., Анри-Лабордер А. Методы и модели исследования операций: пер. с фр. М.: Мир, 1977. 432 с.
15. Кристофидес Н. Теория графов. Алгоритмический подход: пер. с англ. М.: Мир, 1978. 435 с.
16. Курочка П.Н., Сеферов Г.Г. Модель управления объемами незавершенного производства при произвольной связи между работами проекта // Вестник Воронежского государственного технического университета. 2011. Т. 7, № 4. С. 178-182.
17. Курочка П.Н., Чередниченко Н.Д. Задачи ресурсного планирования в строительном проекте // XII всероссийское совещание по проблемам управления ВСПУ-2014. М.: Институт проблем управления им. В.А. Трапезникова РАН, 2014. С. 4745-4753.
18. Логиновский О.В., Голлай А.В., Дранко О.И. Эффективное управление организационными и производственными структурами: моногр. М.: Инфа-М, 2020. 450 с.
19. Логиновский О.В. Математическая модель выбора поставщика металлообрабатывающего оборудования в условиях необходимости достижения технологического суверенитета / О.В. Логиновский, А.А. Максимов, М.В. Щемлев, А.М. Богер // Системы управления и информационные технологии. 2023. № 2 (92). C. 86-92.
20. Медведев С.Н. Жадные и адаптивный алгоритмы решения задачи маршрутизации транспортных средств с несколькими центрами с чередованием объектов // Автоматика и телемеханика. 2023. Вып. 3. С. 139-168. DOI: 10.31857/S0005231023030078
21. Новиков Д.А., Иващенко А.А. Модели и методы организационного управления инновационным развитием фирмы. М.: КомКнига, 2006. 332 с.
References
1. Asaturova Yu.M., Khvatova T.Yu. Improving innovative activity of enterprises in conditions of financial deficit. St. Petersburg state polytechnical university journal. Economics. 2019;12(1): 132-145. (In Russ.) DOI: 10.18721/JE.12111
2. Barkalov S.A., Kurochka P.N., Serebryakova E.A. Determining a rating score based on a streaming model. Bulletin of the South Ural State University. Ser. Computer Technologies, Automatic Control, Radio Electronics. 2023;23(1):31-41. (In Russ.) DOI: 10.14529/ctcr230103
3. Barkalov S.A., Burkov V.N., Kurochka P.N., Serebryakova E.A. Selection of basic representatives of new generation technology. Bulletin of the South Ural State University. Ser. Computer Technologies, Automatic Control, Radio Electronics. 2023;23(3):93-104. (In Russ.) DOI: 10.14529/ctcr230308
4. Barkalov S.A., Burkov V.N., Kurochka P.N., Serebryakova E.A. Forming the generations of new technological products as a set covering problem. Control Sciences. 2023;(6):18-26. DOI: 10.25728/cs.2023.6.2
5. Barkalov S.A., Burkova I.V., Kurochka P.N., Serebryakova E.A. Modeling the innovative development of the firm. Vestnik of Tver state technical university. Series "Technical science". 2023;2(18):49-64. DOI: 10.46573/2658-5030-2023-2-49-64
6. Barkalov S.A., Kurochka P.N., Mailyan L.D., Serebryakova E.A. Optimizatsionnye modeli - instrument sistemnogo modelirovaniya: monografiya [Optimization models - a system modeling tool: monograph]. Moscow: Kredo; 2023. 522 p. (In Russ.)
7. Barkalov S.A., Kurochka P.N., Mailyan L.D., Serebryakova E.A. Resursnoe planirovanie proek-tnogo upravleniya: monografiya [Resource planning of project management: monograph]. Moscow: Kredo; 2024. 530 p. (In Russ.)
8. Belov M.V. Optimal control of the life cycle of complex systems. Control Sciences. 2022. № 1. C. 15-26. DOI: 10.25728/cs.2022.1.2
9. Burkov V.N., Zalozhnev A.Yu., Novikov D.A. Teoriya grafov v upravlenii organizatsionnymi sistemami [Graph theory in the management of organizational systems]. Moscow: Sinteg; 2001. 124 p. (In Russ.)
10. Burkov V.N., Burkova I.V. Zadachi dikhotomicheskoy optimizatsii [Problems of dichotomous optimization]. Moscow: Radio i svyaz'; 2003. 156 p. (In Russ.)
11. Hollay A.V., Loginovskiy O.V. Using the theory of fuzzy sets in selecting technologies of industrial enterprise for their improved. Investment and innovation management journal. 2018;(1):35-43. DOI: 10.14529/iimj180104
12. Okulov S.M. Diskretnaya matematika. Teoriya i praktika resheniya zadach po informatike: uchebnoe posobie [Discrete mathematics. Theory and practice of solving problems in computer science: textbook] [Electronic resource]. 2nd ed. (e-mail). Moscow: BINOM. Laboratoriya znaniy; 2012. 422 p. (In Russ.)
13. Dranko O.I. [Model of financial forecasting and scenarios of internal investments]. Control Sciences. 2007(1):37-40. (In Russ.)
14. Kaufmann A., Henry-Labordere A. Metody i modeli issledovaniya operatsiy [Methods and models of operations research]. Transl. from French. Moscow: Mir; 1977. 432 p. (In Russ.)
15. Christofides N. Graph theory. Algorithmic approach. Transl. from Engl. Moscow: Mir; 1978. 435 p. (In Russ.)
16. Kurochka P.N., Seferov G.G. Model of management in volumes of the work in progress at any communication between works of the project. Bulletin of Voronezh state technical university. 2011;7(4): 178-182. (In Russ.)
17. Kurochka P.N., Cherednichenko N.D. [Tasks of resource planning in a construction project]. In: XII vserossijskoe soveshchanie po problemam upravleniya VSPU-2014 [XII All-Russian Conference on Management Problems VSPU-2014]. Moscow: V.A. Trapeznikov Institute of Control Sciences of Russian Academy of Sciences; 2014. P. 4745-4753. (In Russ.)
18. Loginovskiy O.V., Gollay A.V., Dranko O.I. Effektivnoe upravlenie organizatsionnymi i proiz-vodstvennymi strukturami: monografiya [Effective management of organizational and industrial structures: monograph]. Moscow: Infa-M; 2020. 450 p. (In Russ.)
19. Loginovskij O.V., Maksimov A.A., Shchemlev M.V., Boger A.M. Mathematical model of choosing a supplier of metal-working equipment under the conditions of the necessity to achieve technological sovereignty. Sistemy upravleniya i informatsionnyye tekhnologii. 2023;2(92):86-92. (In Russ.)
20. Medvedev S.N. Greedy and adaptive algorithms for multi-depot vehicle routing with object alternation. Avtomatika i telemekhanika. 2023;3:139-168. (In Russ.) DOI: 10.31857/S0005231023030078
21. Novikov D.A., Ivashchenko A.A. Modeli i metody organizatsionnogo upravleniya innovatsion-nym razvitiem firmy [Models and methods of organizational management of the innovative development of the firm]. Moscow: KomKniga; 2006. 332 p. (In Russ.)
Информация об авторах
Баркалов Сергей Алексеевич, д-р техн. наук, проф., заведующий кафедрой управления, декан факультета экономики, менеджмента и информационных технологий, Воронежский государственный технический университет, Воронеж, Россия; [email protected].
Курочка Павел Николаевич, д-р техн. наук, проф., проф. кафедры управления, Воронежский государственный технический университет, Воронеж, Россия; [email protected].
Серебрякова Елена Анатольевна, канд. экон. наук, доц., доц. кафедры управления, Воронежский государственный технический университет, Воронеж, Россия; [email protected].
Information about the authors
Sergey A. Barkalov, Dr. Sci. (Eng.), Prof., Head of the Department of Management, Dean of the Faculty of Economics, Management and Information Technologies, Voronezh State Technical University, Voronezh, Russia; [email protected].
Pavel N. Kurochka, Dr. Sci. (Eng.), Prof., Prof. of the Department of Management, Voronezh State Technical University, Voronezh, Russia; [email protected].
Elena A. Serebryakova, Cand. Sci. (Econ.), Ass. Prof., Ass. Prof. of the Department of Management, Voronezh State Technical University, Voronezh, Russia; [email protected].
Статья поступила в редакцию 04.06.2024
The article was submitted 04.06.2024