Was ist ein guter Algorithmus, um dieses Problem zu lösen?Algorithmus, um bevorzugte Partner zu Dreiergruppen zusammenzufassen
Ich habe drei Gruppen von Menschen - Gruppe A, Gruppe B und Gruppe C. Es gibt die gleiche Anzahl von Menschen in jeder Gruppe. Sie haben jeweils eine Liste von Personen in den anderen Gruppen, mit denen sie arbeiten möchten. Ich möchte alle diese Personen in Gruppen von 3 (eine von A, eine von B und eine von C) zusammen fassen, so dass jeder in einer Gruppe mit den anderen Menschen in ihrer Gruppe arbeiten möchte.
Wie kann ich diese Gruppen schnell finden? Wenn es keinen Weg gibt, alle glücklich zu machen, dann sollte der Algorithmus zuerst so viele Gruppen dazu bringen, drei Personen zu haben, die miteinander arbeiten wollen, und dann so viele Leute in den anderen Gruppen glücklich machen.
Ein letzter Punkt: Die Leute sind sich einig, mit wem sie arbeiten wollen (wenn Person x mit Person y arbeiten will, will y auch mit x arbeiten). Wenn Sie auch einen großen O der Laufzeit Ihres Algorithmus geben könnten, wäre das großartig!
Ich denke, dass Sie Ihren Titel umbenennen sollten, um Ihr Problem wirklich zu beschreiben, so in relevanten Suchen etwas tatsächlich kommen wird. – mmcdole