Registriert seit: 8. Okt 2006
94 Beiträge
Delphi 7 Enterprise
|
AW: Karten-Verteil-Algorithmus
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.
|