[PHP] Permutationen?

lamptektus

Active member
ID: 43279
L
9 Mai 2006
31
1
Hi,

ich habe eine Fragestellung, deren Programmierung etwas schwieriger ausfallen dürfte. Deswegen erstmal Grundsatzfragen :ugly:
Ausgangslage:
6 Töpfe mit jeweils 10 Zahlen

Aus jedem dieser Töpfe wird nun 1 Zahl gezogen und man erhält somit eine Paarung mit 6 Variablen, von denen jede aus einem verschiedenen Topf stammt. Anschließend kommen die Zahlen zurück in den Topf, es wird neu gezogen. Das solange, bis alle Kombinationen durch sind.

1. Frage: Kann mir jemand sagen wie viele verschiedene Kombinationen das wären? Ich selbst steh grade nämlich auf dem Schlauch.
2. Frage: ist es theoretisch möglich, das in PHP zu programmieren? Wenn ja, wäre der Rechenaufwand durch ein PHP-Skript noch zu bewältigen? Wenn nein, welche Programmiersprache wäre dazu geeigneter?

Thanks a lot,
lamp
 
Alle Kombinationen?

Kannst das ja eigentlich als 6-stellige Zahl im Zehnersystem sehen... du hast die Ziffern 0 bis 9 (10 Stück).. also hast du 10^6 Möglichkeiten [000000, 000001,... 999998, 999999].
 
Damit wäre mir schon mal ungefähr klar, wie man das programmieren müsste. Aber kommt PHP mit 1 Million Schleifendurchläufen klar?
 
Das ist für PHP kein Problem, aber das Script könnt ein bisschen länger brauchen.

Bei dem Marktplatz, von meinem Browsergame, gibt es manchmal über 10 Millionen Schleifendurchläufe.
 
Aus jedem dieser Töpfe wird nun 1 Zahl gezogen und man erhält somit eine Paarung mit 6 Variablen, von denen jede aus einem verschiedenen Topf stammt. Anschließend kommen die Zahlen zurück in den Topf, es wird neu gezogen. Das solange, bis alle Kombinationen durch sind.

Wenn das hier dein Script beschreibt, dann werden es aber mehr als 1 Mio. Durchläufe werden. "solange, bis alle Kombinationen durch sind" heisst ja, dass bei bereits gezogenen Kombinationen neu gezogen wird.

Möchtest du verraten wofür du das Sript brauchst? Erstmal klingt dein Vorhaben etwas unlogisch. Wenn du sowieso alle Kombinationen ziehen willst, dann brauchst du nicht ziehen. :mrgreen: (Wird ja sicher mit mehr Informationen verständlich.)

Gruß, Zera
 
Möchtest du verraten wofür du das Sript brauchst? Erstmal klingt dein Vorhaben etwas unlogisch. Wenn du sowieso alle Kombinationen ziehen willst, dann brauchst du nicht ziehen. :mrgreen: (Wird ja sicher mit mehr Informationen verständlich.)

Dachte ich mir auch. Aber eventuell ist die Reihenfolge wichtig.. aber selbst dann wäre es ja mit Zufallszahlen getan.. denke ich. ^^
 
wozu eine Schleife, wenn man einfach 10^6 rechnen kann? Was willstn damit machen? Oder willst du etwa alle Kombinationen ausgeben?!
 
Danke für die Kommentare!

Hab ich da noch einen Denkfehler drin? Ich war mir relativ sicher, dass ich mit den 10^6 Kombinationen alles abgedeckt hätte :hö:


Wofür ich das brauche:
Ich möchte die einzelnen Werte in den verschiedenen Kombinationen untereinander vergleichen. Der größte Wert bekommt jeweils 5 Punkte, der zweitgrößte 4,..., der letzte 0. Am Ende schwanken die 6 verschiedenen Konten zwischen ca. 1 und 5 Millionen.

Es handelt sich bei den Werten um die letzten 10 Ergebnisse von 6 Wettbewerbern. Treffen nun diese 6 Wettbewerber zusammen, so soll anhand der alten Ergebnisse simuliert werden wie sie gegeneinander abschneiden könnten. Deswegen das Ranking aus den verschiedenen denkbaren Kombinationen.
Ob man aus diesem Ranking tatsächlich einen aussagekräftigen Anhaltspunkt für das eintretende Ergebnis bekommen kann, weiß ich nicht. Alle anderen (bisher in Excel) von mir getesteten Prognosen hatten jedenfalls nur eine Trefferwahrscheinlichkeit von etwa 20-25%.

In Topf Nr. 1 sind also die letzten 10 Ergebnisse von Wettbewerber Nr.1, in Topf Nr. 2 jene von Wettbewerber Nr. 2 usw.

Diese Art des Rankings über die Punkteverteilung von 0-5 ist jedoch nur eine (und zwar eine relativ ungenaue) Möglichkeit der Bewertung. Über die tatsächlichen Abweichungen der Ergebnisse lässt sich wahrscheinlich noch mehr rausholen.

Zuletzt soll noch ein neuronales Netz mit denselben Datensätzen wie für das PHP-Skript trainiert werden und die erzielte Prognosewahrscheinlichkeit mit der des Skriptes verglichen werden.

Jetzt geh ich erstmal ins Bett.
Gute Nacht!
 
Zuletzt bearbeitet:
du hast dir zwar eine wirklich interessante umsetzung vorgenommen.. nur irgendwie macht die keinen sinn.
du nimmst zufällig zahlen aus dem topf. jeder topf enthält dabei 10 zahlen? also vermutlich 0-9.. dann nimm einfach die https://de.php.net/rand funktion mit den gewünschten zahlenbereich. der effekt ist genau der selbe, denn auch hier ist die zahl aus zufällen einzelziffern zusammengesetzt. die umsetzung ist aber eine leichtere und vermutlich auch performanter.