Einzelnen Beitrag anzeigen

Gravitar

Registriert seit: 8. Okt 2006
94 Beiträge
 
Delphi 7 Enterprise
 
#14

AW: Karten-Verteil-Algorithmus

  Alt 31. Mai 2012, 08:41
So,

nachdem ich nun Fisher-Yates als Randomisierung der Karten genutzt habe und nicht mehr Karten aus meiner TList über TList.Delete rauslösche, komme ich zu folgenden Laufzeiten:

50.000.000 Handsimulationen für Texas-Hold'em

Ansatz 1: TList der Karten mit Zufallsziehung einer Karte und TList.Delete = 142,601 sek.

Ansatz 2: Randomisieren einer Liste mit 52 Nummern und Ziehung
der 1..n Karten lt. randomisierter Liste = 103,881 sek.

Zeitersparnis = 38,72 sek. = 27%

Immerhin, aber der vorherige Ansatz war anscheinend auch schon ganz gut optimiert.
  Mit Zitat antworten Zitat