Angenommen, Sie haben Männer und n Frauen. Jede Person hat m Attribute. Jede Person gibt eine Reihe von Attributen an, die ein möglicher Kandidat haben sollte. Ein Matching ist eine Menge von Paaren. Jedes Paar bindet einen Mann an eine Frau. Die Zufriedenheit eines Matchings ist die Anzahl der Attribute, die für die am wenigsten glückliche Person erfüllt sind.
Ist es effizient lösbar, ein Matching mit maximaler Zufriedenheit zu finden, oder ist es -hart?
cc.complexity-theory
np-hardness
matching
Mohammad Al-Turkistany
quelle
quelle
Antworten:
Beginnen wir mit der Entscheidungsversion des Problems: Gibt es bei einem "Zufriedenheitsgrad" k eine Übereinstimmung, bei der jeder einer Person mit mindestens k gewünschten Attributen zugeordnet wird. Dies löst nur die zweiteilige Übereinstimmung in einem Diagramm, in dem wir einen Mann und eine Frau verbinden, wenn jeder die Zufriedenheit k vom anderen erhält. (Die Laufzeit scheint O (mn ^ 2) zu sein.) Um das ursprüngliche Problem zu erhalten, führen Sie einfach eine binäre Suche über k durch (für einen zusätzlichen log (m) -Faktor in der Laufzeit.)
quelle
Ich habe die Frage möglicherweise falsch verstanden, weil meine Antwort mit der von Serge in Konflikt steht. Nach meinem Verständnis fragen Sie nach dem Problem der linearen Engpasszuweisung. Es ist bekannt, dass dies in O (n ^ 2.5) gelöst wird.
Die vollständigste Informationsquelle ist [1], obwohl mir der Stil des Buches wirklich nicht gefällt. Es gibt auch eine Website: http://www.assignmentproblems.com/linearBNAP.htm
EDIT: Zur Verdeutlichung wollen wir eine Zuordnung so, dass die Kante mit maximalen Kosten minimiert wird. Die Kosten sind die maximale Anzahl nicht zugewiesener Attribute für den Mann oder die Frau, die übereinstimmen.
EDIT2: Ich kann nur Referenzen aus dem von mir zitierten Buch anbieten. Drei davon sind:
Sie sollten versuchen, an das Buch zu gelangen, da einige der verfügbaren Algorithmen aufgelistet sind.
[1] Zuordnungsprobleme von Rainer Burkard, Mauro Dell'Amico und Silvano Martello
quelle
Wie Tsuyoshi in einem Kommentar weiter unten ausführt, gibt es keinen Grund, warum eine Lösung des Problems eine stabile Übereinstimmung sein muss. Der Ansatz dieser Antwort funktioniert also wahrscheinlich nicht. zumal ich glaube, dass Tomers Antwort richtig ist.
Es scheint, dass Ihre Version des Eheproblems dem Problem der stabilen Ehe mit Krawatten entspricht, bei dem jeder die Mitglieder des anderen Geschlechts mit möglichen Bindungen einstuft und das Ziel darin besteht, das minimale "Glück" zu maximieren.
[1]: David Manlove, Robert W. Irving, Kazuo Iwama, Shuichi Miyazaki, Yasufumi Morita: Harte Varianten einer stabilen Ehe. Theor. Comput. Sci. 276 (1-2): 261 & ndash; 279 (2002). Postprint .
quelle
Ist dies nicht nur eine Variation des maximalen zweiteiligen Matchings bei minimalen Kosten? Das Gewicht für jede Kante entspricht der Anzahl der erfüllten Attribute. Anstatt die maximale Übereinstimmung zu finden, die Ihnen die kleinste Gewichtssumme ergibt, möchten Sie diejenige, für die das minimale Kantengewicht maximiert wird.
Wenn dieses Verständnis richtig ist, würde ich denken, dass ein Augmenting-Path-Algorithmus ähnlich wie Busacker-Gowen [ 1 ] funktionieren würde. Anstatt immer den billigsten Erweiterungspfad zu finden (in Bezug auf die Gewichtssumme), würden Sie den besten finden (Maximierung der minimalen Kante). Dies sollte wiederum mit einer geringfügigen Änderung eines Standardalgorithmus für kürzeste Wege möglich sein (z. B. Dijkstra, der in der Version von Busacker-Gowen unter Verwendung der Gewichtsanpassung von Edmonds und Karp verwendet wird).
quelle