Wer schuldet wem Geld Optimierung

Sagen, Sie haben n Personen, für jeden, der Schulden sich gegenseitig Geld. Im Allgemeinen sollte es möglich sein, reduzieren Sie die Menge der Transaktionen, die stattfinden müssen. d.h. wenn X schuldet Y £4 und Y schuldet X £8, dann Y muss nur zahlen X £4 (1 Transaktion statt 2).

Diese wird härter, wenn X schuldet Y, aber Y schuldet Z, verdankt X als gut. Ich kann sehen, dass Sie können leicht berechnen einen bestimmten Zyklus. Es hilft mir, wenn ich denke, dass es zu einer vollständig vernetzten Graphen mit den Kanten wird die Anzahl jede person schuldet.

Problem scheint zu sein, die NP-vollständigen, aber auf welche Art von Optimierungsalgorithmus konnte ich machen, dennoch, reduzieren sich die insgesamt Anzahl der Transaktionen? Muss nicht sein, dass eine effiziente, durch N ist Recht klein für mich.

Edit:

Dem Zweck, dieses problem würde in der Lage sein, in der Buchhaltung etwas sagen können zu jeder person, die beim log-in "können Sie entfernen M Höhe von Transaktionen, indem Sie einfach die Zahlung jemand den Betrag X, und jemand anderes Y Betrag". Damit die bank die Lösung (obwohl optimal, wenn alle zahlen zugleich), kann nicht wirklich sein verwendet hier.

  • Es erscheint Expensure dieses problem gelöst haben. Finden Sie Ihre faq-Eintrag Rundschreiben Schulden Auflösung™.
  • Wenn es keine Transaktionskosten, gibt es eine einfache Lösung mit einer bank. Wenn es gibt Transaktionskosten, es ist viel schwieriger.
  • Wir können Sie so modifizieren, das problem zu beseitigen, die die bank ausstellen. Fügen wir die Einschränkung, "kann eine person beteiligt sein, höchstens (N-1) - Transaktionen". Also keine bank, keinen Kandidaten zu nominieren.
  • By the way, was ist die Kernaufgabe von dieser Optimierung? Ist es den Prozess schneller oder etwas, das nicht in die Frage?
  • Noch eine Frage: ist standardmäßig möglich ?
  • Ich sah etwas erweitert, aber dann festgestellt, dass Schulden die übertragung ist in der Praxis eine schlechte Idee, wenn Sie nicht 100% Vertrauen, alle Ihre Schulden zu bezahlen. Wenn einige Forderungen vielleicht schlecht sein, wenn Sie nicht wollen, übertragen Sie decken einige sonst gute Schulden. Im Effekt-Schulden haben einen Wert Verschieden von Ihre Geld-label. Dies könnte ein Fall, dass ignoriert werden können, hier aber ist es ein interessanter realen Welt berücksichtigt.

InformationsquelleAutor Francis | 2010-12-29
Schreibe einen Kommentar