Проблема четности Matroid - Matroid parity problem
В комбинаторная оптимизация, то проблема четности матроидов является задачей поиска наибольшего независимого набора парных элементов в матроид.[1] Проблема была сформулирована Лоулер (1976) как общее обобщение сопоставление графиков и пересечение матроидов.[1][2] Он также известен как полиматроид соответствие, или проблема с матхоидом.[3]
Четность Matroid может быть решена в полиномиальное время за линейные матроиды. Однако это NP-жесткий для некоторых компактно представленных матроидов и требует более чем полиномиальное количество шагов в матроид оракул модель.[1][4]
Применения алгоритмов четности матроидов включают поиск большие плоские подграфы[5] и найти вложения графов из максимальный род.[6] Эти алгоритмы также можно использовать для поиска связанные доминирующие множества и наборы вершин обратной связи в графах максимальной степени три.[7]
Формулировка
А матроид можно определить из конечный набор элементов и из представления о том, что означает независимость подмножеств элементов при соблюдении следующих ограничений:
- Каждое подмножество независимого набора должно быть независимым.
- Если и независимые множества, с , то существует элемент такой, что независим.[1]
Примеры матроидов включают линейные матроиды (в котором элементы являются векторами в векторное пространство, с линейная независимость ), графические матроиды (в котором элементы являются ребрами в неориентированный граф, независимые, когда они не содержат цикл ), а матроиды разделов (в котором элементы принадлежат семейству непересекающиеся множества, и независимы, если они содержат не более одного элемента в каждом наборе). Графические матроиды и матроиды-разбиения являются частными случаями линейных матроидов.[1]
В задаче четности матроида вход состоит из матроида вместе с парой его элементов, так что каждый элемент принадлежит одной паре. Цель состоит в том, чтобы найти как можно большее подмножество пар, чтобы объединение пар в выбранном подмножестве было независимым.[1][2] Другой, казалось бы, более общий вариант, в котором допустимые пары образуют граф, а не имеют только одну пару на элемент, эквивалентен: элемент, входящий в более чем одну пару, может быть заменен несколькими копиями элемента, по одной на пару.[8]
Алгоритмы
Проблема четности матроидов для линейных матроидов может быть решена с помощью рандомизированный алгоритм во время , куда - количество элементов матроида, это его классифицировать (размер наибольшего независимого множества), и - показатель в границах времени для быстрое матричное умножение.[1]В частности, используя алгоритм умножения матриц Ле Галля,[9] это можно решить со временем Без использования быстрого матричного умножения задача линейной матроидной четности может быть решена за время. .[1]
Эти алгоритмы основаны на линейная алгебра постановка проблемы Гилен и Ивата (2005). Предположим, что вход в задачу состоит из пара -мерные векторы (расположенные как вектор-столбец в матрица размера ). Тогда количество пар в оптимальном решении равно
куда это блочно-диагональная матрица чьи блоки подматрицы вида
для последовательности переменных .[10] В Лемма Шварца – Циппеля. может использоваться для проверки того, имеет ли эта матрица полный ранг или нет (то есть имеет ли решение размер или нет), присваивая случайные значения переменным и проверка того, имеет ли полученная матрица детерминант нуль. Применяя жадный алгоритм который удаляет пары по одной, устанавливая их неопределенные значения равными нулю, пока матрица остается с полным рангом (поддерживая обратную матрицу с использованием Формула Шермана – Моррисона для проверки ранга после каждого удаления), можно найти решение всякий раз, когда этот тест показывает, что оно существует. Дополнительные методы распространяют этот алгоритм на случай, когда оптимальное решение задачи четности матроида имеет меньше, чем пары.[1]
Для графических матроидов известны более эффективные алгоритмы с временем работы на графиках с вершины и края.[11]За простые графики, является , но для мультиграфы, он может быть больше, поэтому также интересно иметь алгоритмы с меньшей зависимостью от и худшая зависимость от . В этих случаях также возможно решить задачу четности графического матроида за рандомизированное ожидаемое время. , или вовремя когда каждая пара ребер образует путь.[1]
Хотя проблема четности матроидов NP-жесткий для произвольных матроидов его можно эффективно аппроксимировать. Простой алгоритмы локального поиска обеспечить схема полиномиальной аппроксимации для этой проблемы и найти решения, размер которых как часть оптимального размера решения произвольно близок к единице. Алгоритм начинается с пустой набор в качестве своего решения и неоднократно пытается увеличить размер решения на единицу, удаляя не более постоянного числа пар из решения и заменяя их другим набором еще одной парой. Когда такие ходы больше не возможны, полученное решение возвращается как приближение к оптимальному решению. Для достижения коэффициента приближения , достаточно выбрать быть приблизительно .[8]
Приложения
Многие другие задачи оптимизации могут быть сформулированы как задачи линейной четности матроидов и решены за полиномиальное время с использованием этой постановки.
- Сопоставление графиков
- А максимальное соответствие в графе - это подмножество ребер, не два из которых имеют общую конечную точку, которое является как можно большим. Его можно сформулировать как задачу четности матроида в матроиде разбиений, который имеет элемент для каждой инцидентности вершина-ребро в графе. В этом матроиде два элемента являются парными, если они являются двумя инцидентами для одного и того же ребра, что и друг друга. Подмножество элементов является независимым, если оно имеет не более одной инцидентности для каждой вершины графа. Пары элементов в решении задачи четности матроида для этого матроида - это инцидентности между ребрами в максимальном сопоставлении и их конечными точками.[2]
- Пересечение матроидов
- Пример задачи пересечения матроидов состоит из двух матроидов на одном и том же наборе элементов; цель состоит в том, чтобы найти подмножество элементов, которое является как можно большим и независимым в обоих матроидах. Чтобы сформулировать пересечение матроидов как проблему четности матроидов, постройте новый матроид, элементы которого являются несвязным объединением двух копий заданных элементов, по одной для каждого входного матроида. В новом матроиде подмножество является независимым, если его ограничение на каждую из двух копий независимо в каждом из двух матроидов, соответственно. Соедините элементы нового матроида так, чтобы каждый элемент был соединен со своей копией. Пары элементов в решении проблемы четности матроидов для этого матроида являются двумя копиями каждого элемента в решении проблемы пересечения матроидов.[2]
- Большие плоские подграфы
В произвольном графе задача нахождения наибольшего набора треугольников в данном графе без циклов, кроме выбранных треугольников, может быть сформулирована как задача четности матроида на графическом матроиде, элементы которого являются ребрами графа, с одним пара ребер на треугольник (дублирование ребер при необходимости, если они принадлежат более чем одному треугольнику). Пары элементов в решении задачи четности матроида для этого матроида - это два ребра в каждом треугольнике оптимального набора треугольников. Эту же задачу можно также описать как задачу нахождения наибольшего Берже-ациклический подгиперграф 3-униформы гиперграф. В гиперграфической версии задачи гиперребра - это треугольники данного графа.[3]
А кактус граф - граф, в котором каждые два цикла имеют не более одной общей вершины. Как частный случай, графы, в которых каждый цикл представляет собой треугольник, обязательно являются графами кактусов. Самый большой треугольный кактус в данном графе можно найти, добавив дополнительные ребра из остовное дерево, без создания новых циклов, так что результирующий подграф будет иметь такой же связанные компоненты как исходный график. Графики кактусов автоматически планарные графы, а проблема поиска треугольных графов кактусов лежит в основе наиболее известных алгоритм аппроксимации к проблеме поиска наибольшего плоского подграфа данного графа, важный шаг в планаризация. Самый большой треугольный кактус всегда имеет как минимум 4/9 числа ребер самого большого плоского подграфа, что улучшает коэффициент приближения 1/3, полученный при использовании произвольного остовного дерева.[5]
- Комбинаторная жесткость
- Каркас из жестких стержней в Евклидова плоскость, соединенные своими концами на гибких соединениях, могут быть зафиксированы в одном положении на плоскости, прикрепив некоторые из их соединений к точкам плоскости. Минимальное количество стыков, которое необходимо закрепить штифтом для фиксации каркаса, называется его номером штифта. Его можно вычислить из решения связанной проблемы четности матроидов.[3]
- Вложения максимального рода
А встраивание клеток данного графа на поверхность максимально возможного род можно получить из Сюйонг дерево графа. Это остовное дерево, обладающее тем свойством, что в подграфе ребер, не входящих в дерево, количество связанные компоненты с нечетным количеством ребер - как можно меньше.
Чтобы сформулировать задачу поиска дерева Xuong как задачу четности матроидов, сначала разделите каждое ребро данного графа в путь, длина которого равна количеству других ребер, инцидентных . Затем соедините ребра разбитого графа так, чтобы каждая пара ребер в исходном графе была представлена одной парой ребер в разбитом графе, а каждое ребро в разбитом графе было спарено ровно один раз. Решите задачу четности матроида с парными ребрами разделенного графа, используя его копографический матроид (линейный матроид, в котором подмножество ребер является независимым, если его удаление не разделяет граф). Любое остовное дерево исходного графа, которое избегает ребер, используемых в решении четности матроида, обязательно является деревом Xuong.[6]
- Связанное господство
- А связное доминирующее множество в графе - это подмножество вершин, индуцированный подграф связно, смежно со всеми остальными вершинами. Найти наименьшее связное доминирующее множество в произвольных графах NP-сложно, но можно найти за полиномиальное время для графов максимальной степени три. кубический граф, можно заменить каждую вершину двухреберным путем, соединенным с концами трех ее конечных точек, и сформулировать задачу четности матроида на парах ребер, сгенерированных таким образом, с использованием графического матроида расширенного графа. Вершины, пути которых не используются в решении, образуют минимальное связное доминирующее множество. В графе максимальной степени три некоторые простые дополнительные преобразования сводят задачу к кубическому графу.[7]
- Набор вершин обратной связи
- А набор вершин обратной связи в графе - это подмножество вершин, которое касается всех циклов. В кубических графах есть линейное уравнение, связывающее количество вершин: цикломатическое число, количество связных компонентов, размер минимального связного доминирующего множества и размер минимального набора вершин обратной связи.[12] Отсюда следует, что та же задача четности матроидов, которая использовалась для поиска связных доминирующих множеств, может также использоваться для поиска множеств вершин обратной связи в графах максимальной степени три.[7]
Твердость
В проблема клики, найти -вертекс полный подграф в данном -вершинный граф , можно преобразовать в экземпляр четности матроидов следующим образом. матроид для мощения на элементы, сгруппированные таким образом, чтобы на пару вершин приходилась одна пара элементов. Определить подмножество этих элементов будет независимым, если он удовлетворяет любому из следующих трех условий:
- имеет меньше чем элементы.
- точно элементов, но не является объединением пары элементов.
- это союз пары элементов, образующих клику в .
Тогда есть решение проблемы четности матроида для этого матроида размером , если и только если имеет размер группы . Поскольку поиск клик заданного размера является NP-полным, отсюда следует, что определение того, имеет ли этот тип матричной проблемы четности решение размера также NP-полна.[13]
Это преобразование задачи не зависит от структуры проблемы клики каким-либо образом и будет работать для любой другой задачи определения размера. подмножества большего набора, удовлетворяющие вычислимому тесту. Применяя его к случайно перестановочному графу, который содержит ровно одну клику размера , можно показать, что любой детерминированный или рандомизированный алгоритм проверки четности матроида, который обращается к своему матроиду только с помощью тестов независимости, должен выполнять экспоненциальное количество тестов.[4]
Рекомендации
- ^ а б c d е ж грамм час я j Чунг, Хо Йи; Лау, Лап Чи; Люн, Кай Ман (2014), «Алгебраические алгоритмы решения линейных задач матроидной четности» (PDF), ACM-транзакции на алгоритмах, 10 (3): 10:1–10:26, CiteSeerX 10.1.1.194.604, Дои:10.1145/2601066, МИСТЕР 3233690, S2CID 894004
- ^ а б c d Лоулер, Юджин Л. (1976), «Глава 9: Проблема четности Matroid», Комбинаторная оптимизация: сети и матроиды, Нью-Йорк: Холт, Райнхарт и Уинстон, стр. 356–367, МИСТЕР 0439106
- ^ а б c Ловас, Л. (1980), «Сопоставление матроидов и некоторые приложения», Журнал комбинаторной теории, Серия B, 28 (2): 208–236, Дои:10.1016/0095-8956(80)90066-0, МИСТЕР 0572475
- ^ а б Jensen, Per M .; Корте, Бернхард (1982), "Сложность алгоритмов свойств матроидов", SIAM Журнал по вычислениям, 11 (1): 184–190, Дои:10.1137/0211014, МИСТЕР 0646772
- ^ а б Кэлинеску, Груя; Fernandes, Cristina G .; Финклер, Ульрих; Карлофф, Ховард (1998), "Алгоритм лучшего приближения для поиска плоских подграфов", Журнал алгоритмов, 27 (2): 269–302, CiteSeerX 10.1.1.47.4731, Дои:10.1006 / jagm.1997.0920, МИСТЕР 1622397, S2CID 8329680.
- ^ а б Furst, Merrick L .; Гросс, Джонатан Л .; МакГеоч, Лайл А. (1988), "Поиск вложения графа максимального рода", Журнал ACM, 35 (3): 523–534, Дои:10.1145/44483.44485, МИСТЕР 0963159, S2CID 17991210
- ^ а б c Уэно, Шуичи; Кадзитани, Йоджи; Гото, Шинья (1988), "О неразрывной проблеме независимого множества и задаче о множестве обратной связи для графов, у которых степень вершин не превышает трех", Труды Первой японской конференции по теории графов и приложениям (Хаконэ, 1986), Дискретная математика, 72 (1–3): 355–360, Дои:10.1016 / 0012-365X (88) 90226-9, МИСТЕР 0975556
- ^ а б Ли, Джон; Свириденко, Максим; Вондрак, Ян (2013 г.), «Сопоставление матроидов: возможности локального поиска», SIAM Журнал по вычислениям, 42 (1): 357–379, CiteSeerX 10.1.1.600.4878, Дои:10.1137 / 11083232X, МИСТЕР 3033132
- ^ Ле Галл, Франсуа (2014), «Степени тензоров и быстрое матричное умножение», Материалы 39-го Международного симпозиума по символьным и алгебраическим вычислениям (ISSAC 2014), Нью-Йорк: ACM, стр. 296–303, Дои:10.1145/2608628.2608664, ISBN 9781450325011, МИСТЕР 3239939, S2CID 2597483
- ^ Гилен, Джеймс; Ивата, Сатору (2005), "Матроидное сопоставление с помощью смешанных кососимметричных матриц", Комбинаторика, 25 (2): 187–215, CiteSeerX 10.1.1.702.5431, Дои:10.1007 / s00493-005-0013-7, МИСТЕР 2127610, S2CID 18576135
- ^ Габоу, Гарольд Н .; Столлманн, Маттиас (1985), "Эффективные алгоритмы для графического пересечения матроидов и четности (расширенная аннотация)", у Брауэра, Вильфрида (ред.), 12-й Международный коллоквиум по автоматам, языкам и программированию (ICALP), Нафплион, Греция, 15–19 июля 1985 г., Конспект лекций по информатике, 194, Берлин: Springer, стр. 210–220, Дои:10.1007 / BFb0015746, ISBN 978-3-540-15650-5, МИСТЕР 0819256
- ^ Speckenmeyer, E. (1986), "Границы на множествах вершин обратной связи неориентированных кубических графов", Алгебра, комбинаторика и логика в компьютерных науках, Vol. I, II (Дьер, 1983), Colloquia Mathematica Societatis János Bolyai, 42, Амстердам: Северная Голландия, стр. 719–729, МИСТЕР 0875903
- ^ Сото, Хосе А. (2014), «Простой PTAS для взвешенного сопоставления матроидов на строго упорядочиваемых матроидах», Дискретная прикладная математика, 164 (часть 2): 406–412, arXiv:1102.3491, Дои:10.1016 / j.dam.2012.10.019, МИСТЕР 3159127