AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Welchen Optimierungsalgorithmus brauch ich
Thema durchsuchen
Ansicht
Themen-Optionen

Welchen Optimierungsalgorithmus brauch ich

Ein Thema von Gutelo · begonnen am 14. Feb 2014 · letzter Beitrag vom 15. Feb 2014
Antwort Antwort
Seite 2 von 3     12 3      
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: Welchen Optimierungsalgorithmus brauch ich

  Alt 14. Feb 2014, 10:43
1) Einfacher Fall: EG > AP1+AP2+AP3 (Gewinn), dann bekommt jeder seine Ausgaben zurueck und der Rest wird gerecht geteilt.
Alles entscheidend ist, was versteht man unter gerecht geteilt?
Normalerweise teilt man die Gesamteinnahme.

EP1 = EG * (AP1 / AG)
EP2 = EG * (AP2 / AG)
EP3 = EG * (AP3 / AG)

Diese Formel lässt sich in beiden Situationen anwenden.
Im Gewinnfall ist EP1 > AP1, im Verlustfall EP1 < AP1
  Mit Zitat antworten Zitat
Gutelo

Registriert seit: 29. Sep 2013
152 Beiträge
 
#12

AW: Welchen Optimierungsalgorithmus brauch ich

  Alt 14. Feb 2014, 10:52
Zitat:
Deutlich wird das vor allem im Extremfall: 4 kaufen 1 Los, ein weiterer kauft 496. Wenn niemand was gewinnt, müssen alle 100 Lose bezahlen. Klingt nicht wirklich fair
Falsche Denkweise. Die Gemeinschaft kauft 500 Lose. 4 Legen das Geld fuer 4 Lose aus, einer fuer 496 Lose. Ich verstehe das Problem nicht.
  Mit Zitat antworten Zitat
Zoot

Registriert seit: 30. Jan 2006
Ort: Hessen
110 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Welchen Optimierungsalgorithmus brauch ich

  Alt 14. Feb 2014, 10:56
@Zoot: wie hilft einem das Trennen bei der Abrechnung? Es muss immer Geld zwischen den einzelnen Spielern fliessen...
Dass die Rechnung ganz einfach ist?
Jeder zahlt Ausgaben/3 ein und erhält Einnahmen/3 zurück.
Wenn der Saldo negativ ist, weil z.B. Einnahmen=0, muss er nachzahlen, sonst erhält er Geld.

Also
1: EG/3 - AG/3 + AG1
2: EG/3 - AG/3 + AG2
3: EG/3 - AG/3 + AG3

Sollte immer stimmen und ist ganz einfach.
  Mit Zitat antworten Zitat
Gutelo

Registriert seit: 29. Sep 2013
152 Beiträge
 
#14

AW: Welchen Optimierungsalgorithmus brauch ich

  Alt 14. Feb 2014, 11:00
Zoot: und wie genau laeuft das Zahlen und Erhalten ab? Es geht darum genau diese Transaktionen moeglichst optimiert zu bestimmen. Was jeder am Ende haben muss ist wie vorher gesagt trivial zu bestimmen.


Es soll nicht so laufen, dass alle Schuldner das Geld in einen Pott werfen und anschliessed Glaeubiger aus dem Topf bezahlt werden. Ich moechte eine optimnierte Liste, wer an wen direkt was bezahlen muss.

Geändert von Gutelo (14. Feb 2014 um 11:07 Uhr)
  Mit Zitat antworten Zitat
Zoot

Registriert seit: 30. Jan 2006
Ort: Hessen
110 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Welchen Optimierungsalgorithmus brauch ich

  Alt 14. Feb 2014, 11:03
Beispiel:

1 kauft 10 Lose, 2 kauft 50 Lose, 3 kauf kein Los.
Lose kosten 1 Euro, Gewinn beträgt 120 Euro.

1. 40 + 10 - 20 = 30
2. 40 + 50 - 20 = 70
3. 40 + 0 - 20 = 20

Alles paletti!

Beispiel2:

1 kauft 10 Lose, 2 kauft 50 Lose, 3 kauf kein Los.
Lose kosten 1 Euro, Gewinn gibts nicht.

1. 0 + 10 - 20 = -10
2. 0 + 50 - 20 = 30
3. 0 + 0 - 20 = -20

auch alles paletti!
  Mit Zitat antworten Zitat
Zoot

Registriert seit: 30. Jan 2006
Ort: Hessen
110 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: Welchen Optimierungsalgorithmus brauch ich

  Alt 14. Feb 2014, 11:05
Zoot: und wie genau laeuft das Zahlen und Erhalten ab? Es geht darum genau diese Transaktionen moeglichst optimiert zu bestimmen. Was jeder am Ende haben muss ist wie vorher gesagt trivial zu bestimmen.
Ich weiß jetzt nicht, was es bei der kurzen Formel noch zu optimieren geben soll. Alle Einnahmen teilen, alle Ausgaben teilen, getätigte Ausgaben rückerstatten - fertig.
  Mit Zitat antworten Zitat
Gutelo

Registriert seit: 29. Sep 2013
152 Beiträge
 
#17

AW: Welchen Optimierungsalgorithmus brauch ich

  Alt 14. Feb 2014, 12:10
Ich rede von Transaktionen, dynamische Prozesse, basierend auf den Zahlen die du alles paletti berechnet hast.

In deinem Zweiten Beispiel waeren das:

Transaktion 1: Spieler 1 gibt Spieler 2 den Betrag von 10 Euro
Transaktion 2: Spieler 3 gibt Spieler 2 den Betrag von 20 Euro

Nun nimm 10 Spieler und weniger Schoene Betraege, dann gibt es zig Moeglichkeiten die Transfers zu machen, und einige Spieler muessen dann auch Betraege an 2 oder sogar mehr Spieler transferieren...

Geändert von Gutelo (14. Feb 2014 um 12:14 Uhr)
  Mit Zitat antworten Zitat
Zoot

Registriert seit: 30. Jan 2006
Ort: Hessen
110 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Welchen Optimierungsalgorithmus brauch ich

  Alt 14. Feb 2014, 12:18
Ich rede von Transaktionen, dynamische Prozesse, basierend auf den Zahlen die du alles paletti berechnet hast.
Welche Transaktionen, welche dynamischen Prozesse?

Die Verteilung der Kosten/Gewinne beruht auf einer einfachen Formel, wie wenige Variablen und wenige Rechenoperationen umfasst. Das ändert sich doch nicht in einem anderen Umfeld.
Mir ist völlig schleierhaft, auf was du hinauswillst, würde es aber gerne verstehen.

Das monetäre Ergebnis eines Teilnehmers n (von N Teilnehmern) ist EG/N - AG/N + agn
Was dasselbe ist wie (EG-AG)/N - agn

(EG-AG)/N wird ein einziges Mal berechnet, agn ist als Größe bekannt.
Wo sind hier Transaktionen und dynamische Prozesse?
  Mit Zitat antworten Zitat
Zoot

Registriert seit: 30. Jan 2006
Ort: Hessen
110 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: Welchen Optimierungsalgorithmus brauch ich

  Alt 14. Feb 2014, 12:20
Ich rede von Transaktionen, dynamische Prozesse, basierend auf den Zahlen die du alles paletti berechnet hast.

In deinem Zweiten Beispiel waeren das:

Transaktion 1: Spieler 1 gibt Spieler 2 den Betrag von 10 Euro
Transaktion 2: Spieler 3 gibt Spieler 2 den Betrag von 20 Euro

Nun nimm 10 Spieler und weniger Schoene Betraege, dann gibt es zig Moeglichkeiten die Transfers zu machen, und einige Spieler muessen dann auch Betraege an 2 oder sogar mehr Spieler transferieren...
Ok, jetzt kapier ich was du meinst.
Da würde sich aber doch eine gemeinsame Kasse anbieten, aus der jeder erhält, bzw. in die jeder einzahlt, oder?
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#20

AW: Welchen Optimierungsalgorithmus brauch ich

  Alt 14. Feb 2014, 12:25
Sortiere die Spieler von Gewinn nach Verlust.
Ziehe die raus, wo Gewinn auf gleichen Verlust trifft, diese können sich mit einer Transaktion ausgleichen.
Der Rest gibt von oben nach unten jeweils seinen Überschuss weiter.

So muss jeder maximal eine Transaktion machen. Das ist natürlich nicht optimal, aber dafür fair. Ein anderer Algo würde vllt. die Zahl der Transaktonen insgesamt verringern, dafür müssten aber u.U. einzelne Leute mehrere Transaktionen durchführen.
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz