Меня интересует вариант соответствия максимального веса на графике, который я называю «Максимальное соответствие соответствия».
Предположим, что график заполнен (т.е. ), Имеет четное число вершин, и что вес задается функцией прибыль . Для совпадающего обозначим через прибыль ребра которой сопоставляется.
Соответствующее является точным совпадающим, если для любых двух вершин :
То есть, если для любой вершины сопоставление с вершиной дает большую прибыль, чем сопоставление ее с вершиной , справедливого сопоставления должно хватить .
Можем ли мы найти максимальное соответствие по весу?
Интересный случай, когда график является двудольным, и справедливость применяется только к одной стороне, то есть предположим, что , и нам дана функция прибыли .
Ярмарка Двудольные соответствия является соответствие в такое , что для любых двух вершин :
Насколько быстро мы сможем найти подходящее двудольное соответствие с максимальным весом?
Мотивация для этой проблемы исходит из двудольного частного случая. Предположим, у вас есть работников и задач, и работник может приносить прибыль от работы . Проблема здесь заключается в том, чтобы разработать разумное решение (в каком-то смысле работники не будут чувствовать себя «оторванным»), в то же время максимизируя общие выплаты (здесь существует компромисс между силой механизма назначения и социальной выгодой).
Если мы определим социальное обеспечение (или прибыль предприятия) от назначения рабочих мест на работу в качестве суммы прибыли.
Глядя на различные сценарии для силы назначителя работы, мы получаем следующие результаты:
Если нам разрешено назначать любого работника на любую работу, мы можем эффективно оптимизировать фабрику (просто найти соответствие по максимальному весу).
Если каждый работник выбирает задачу самостоятельно, предполагая, что его работа будет выбрана (для каждой работы может быть выбрана только одна работа), если он будет самым квалифицированным работником, который выбрал задачу, рабочие превратятся в «жадных» равновесие. Причина в том, что работник, который мог заработать больше всего ( ), выберет наиболее выгодную работу и так далее. По скорости аппроксимации жадного алгоритма сопоставления это должно дать 2-аппроксимацию максимально возможного социального благосостояния.
Я ищу что-то промежуточное. Предположим, мы могли бы назначить рабочих на рабочие места, но должны пообещать им, что ни один «менее квалифицированный» работник не зарабатывает больше, чем они.
Как мы можем найти максимальный вес, соответствующий обещающей «справедливости» сотрудникам эффективно?
Ответы:
Я полагаю, что «максимальное соответствие нормального двудольного веса», как вы определили, является NP-трудным. Более того, определить наличие справедливого двустороннего сопоставления сложно с точки зрения NP.
Перед тем, как дать интуитивно понятный набросок, рассмотрим следующий небольшой пример. Возьмем где , . Возьмем , что для и , а для и . Тогда и эквивалентны в том смысле, что для всех , поэтому любое справедливое сопоставление должно давать и одинаковую прибыль. Следовательно, единственные честные совпадения либо совпадаютG′=(L,R,E′=L×R) L={a,b} R={c,d,e,f} p p(u,w)=0 u∈L w∈{c,d} p(u,w)=1 u∈L w∈{e,f} a b p(a,w)=p(b,w) w∈R a b a и к и , или они соответствуют и к и . Используя этот вид гаджета, мы можем форсировать координацию ребер при сопоставлении. Это основа сокращения.b c d a b e f
Вот попытка доказательства. Это немного запутано. Вероятно, есть некоторые ошибки, но, надеюсь, любые ошибки можно исправить.
Лемма 1. Учитывая и как описано в задаче, определение, содержит ли справедливое совпадение, равно NP -жесткий.G′=(L,R,E′=L×R) p:E′→R+ G′
Эскиз доказательства. Доказательством является сокращение от Независимого множества в кубических графах. Пусть - заданный экземпляр Независимого множества, где - кубический граф (каждая вершина имеет степень 3). Мы опишем, как построить граф и функцию прибыли , чтобы имел справедливое двустороннее соответствие, если и только если имеет независимый набор размера .(G=(V,E),k) G′ G′=(L,R,E′=L×R) p:E′→R+ G′ G k
Вершины в будут приходить парами, называемыми партнерами . Аналогично для вершин в . Для каждой вершины обозначим партнера . Каждая вершина и ее партнер будут эквивалентны , что означает, что мы сделаем Следовательно, любое честное сопоставление должно присваивать одинаковую прибыль и . В дальнейшем мы будем использовать для обозначения значения .L R v∈L∪R v′ v ℓ∈L ℓ′∈L
Кроме того, для каждой пары в и каждой пары партнеров в либо мы делаем либо мы делаем В первом случае мы говорим, что допускаем сопоставление и с и (поскольку при этом присваивается и такая же прибыль , как требуется). В последнем случае мы говорим, что мы предотвращаем и (обоих) с иℓ L r,r′ R
Поскольку данный граф кубический, он удовлетворяет условиюи любое независимое множество размера в инцидентно ровно ребер. Для простоты обозначения предположим, что .G=(V,E) 3|V|=2|E| I k G 3k V={1,2,…,n}
Для каждого ребра сделайте следующее.{i,j}∈E
Добавьте пару партнеров вершин для .r({i,j}),r′({i,j}) R
Для конечной точки , добавить пару вершин партнера в . Установите позволяя и сопоставляться с и .i ℓ(i,j),ℓ′(i,j) L
Симметрично для другой конечной точки : добавьте еще одну пару вершин-партнеров в и установите что позволяет и быть сопоставленным с и .j ℓ(j,i),ℓ′(j,i) L
Для всех и добавленных до сих пор, если пара явно не разрешена (см. Выше) для сопоставления с , тогда предотвратите совпадение, назначив и каждый по своему уникальному числу.ℓ∈L r∈R ℓ,ℓ′ r,r′ π(ℓ,r) π(ℓ,r′)
Далее, добавьте пар наполнителя вершин . Для каждой вершины-заполнителя и каждой установите .3(|V|−k) R r ℓ(i,j)∈L π(ℓ(i,j),r)=0
Наконец, добавьте две вершины и (партнеров) в , наряду с двумя вершинами и (также партнеров) в . Установите , позволяя сопоставлять и с и . Для любой другой вершины установите на некоторое уникальное число. (Следовательно, любое честное соответствие должно соответствовать и с и .) Для каждогоL0 L′0 L R0 R′0 R π(L0,R0)=π(L0,R′0)=1 L0 L′0 R0 R′0 r∈R π(L0,r) L0 L′0 R0 R′0 i∈V , для каждого инцидентного ребра , установите и .{i,j}∈E π(ℓ(i,j),R0)=i π(ℓ(i,j),R′0)=|V|−i+1
Это завершает сокращение. Чтобы закончить, мы докажем, что это правильно.
Сначала рассмотрим, для каких пар вершин последний доминирует над первым, т.ℓ(i,j),ℓ(i′,j′)∈L
С учетом прибыли, назначенной ребрам, падающим на и , это условие может быть выполнено только в том случае, если , и, проверяя определение для остальных ребер, условие является достаточным. Следовательно, сопоставление справедливо , если и только если она присваивает и к и , а также, для каждого , дает одинаковую прибыль для всех вершин вR0 R′0 i=i′ π i=i′ L0 L′0 R0 R′0 i∈V
Сначала предположим, что имеет независимое множество размера . Получить справедливое соответствие для из следующим образом.G I k G′ I
Сопоставьте и с и .L0 L′0 R0 R′0
Для каждой вершины пусть это три ее инцидентных ребра. Для каждого ребра сопоставьте вершину и ее партнера с и . Это дает всем вершинам в прибыль .i∈I {i,j1},{i,j2},{i,j3} {i,jh} ℓ(i,jh) ℓ′(i,jh) r({i,jh}) r′({i,jh}) N(i) i
Для каждой из вершин для каждого из трех ребер инцидентных , сопоставим и его партнера некоторой уникальной паре вершин-заполнителей и ее партнера . Это дает всем вершинам в прибыль .|V|−k i∈V∖I {i,j} i ℓ(i,j) ℓ′(i,j) r r′ N(i) 0
Следовательно, это соответствие справедливо.
Далее предположим , что имеет справедливое соответствия .G′ M
КЭД (?)
Я думаю, что это в основном правильно, если немного запутанно. Дайте мне знать, если вы видите какие-либо ошибки или способ упростить доказательство.
Вышеуказанное сокращение предполагает, что можно взять, Если это нежелательно, то я думаю, что мы можем дополнить с помощьювершины-заполнители, присваивая прибыль 0 всем их ребрам, кроме ребер, и . Мы можем назначить прибыль последним ребрам, чтобы гарантировать, что вершины-заполнители не доминируют (или не доминируют) в любой другой вершине.|R|>|L| L |R|−|L| R0 R′0
источник