Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Permutation von 15 Zahlen erzeugen (https://www.delphipraxis.net/139096-permutation-von-15-zahlen-erzeugen.html)

tryanderror 23. Aug 2009 14:01


Permutation von 15 Zahlen erzeugen
 
Hallo zusammen,

Ich stehe momentan vor dem Problem, die Permutationen von 15 Zahlen, also 15! (= 1,2 Billionen) Permutationen zu erzeugen. Zum Erzeugen verwende ich die Prozeduren von Hagen aus der Code-Library. Permutationen von bis zu zehn Zahlen werden recht schnell erzeugt, doch spätestens bei zwölf Zahlen ist Schluss.
Gibt es irgendeine Möglichkeit, die Permutatioinen von 15 Zahlen zu erzeugen, oder werden die Laufzeit einfach zu lang und die dabei entstehenden Datenmengen zu groß?

Vielen Dank im Voraus!

himitsu 23. Aug 2009 14:13

Re: Permutation von 15 Zahlen erzeugen
 
die Datenmenge kannst du dir ja gern ausrechnen...

nehmen wir jede Zahl als Integer (4 Byte),
sind das bei 15 Zahlen also 60 Byte
und für 1.307.674.368.000 Permutationen wären das 71,4 Terrabyte

außerdem steigt ja die Anzahl der Permutationen expotentiell an
- bei 10 Zahlen gibt es doch nur 3.628.800 Möglichkeiten, welche schnell durchgegangen werden können
- bei 12 sind das schon fast 'ne halbe Milliarde ... das dauert seine Zeit
- und je mehr es werden, um so größer ist ja auch Anzahl und Datenmenge (wenn man alle Speichern will)

alzaimar 23. Aug 2009 14:50

Re: Permutation von 15 Zahlen erzeugen
 
Was willst Du eigentlich mit den ganzen Permuationen?

tryanderror 24. Aug 2009 22:11

Re: Permutation von 15 Zahlen erzeugen
 
Mit den Permutationen wollte ich einen Ablaufplan optimieren - naja, ich hab es mir schon fast gedacht, dass 15! zu viel ist. Dann werde ich mich wohl nach einer anderen Möglichkeit umsehen, vielleicht bekomme ich ja hier und da etwas eingespart, sodass 10! auch ausreicht.

Vielen Dank für die Antworten!

alzaimar 25. Aug 2009 06:58

Re: Permutation von 15 Zahlen erzeugen
 
Schau Dir doch einfach mal die gängigen Optimierungsalgorithmen an. Vielleicht ist dort etwas für dich dabei.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:57 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