System um alle Permutationen zu finden?

Hallo zusammen,

ich hoffe, dass ich hier im richtigen Forum bin :smile:
Also… angenommen man hat eine 4 elementige Zahlenfolge, dann gibt es ja 2 hoch 4 unterschiedliche Kombinationen (Permutationen).
Gibt es eigentlich dafür ein bestimmtes Vertauschungssystem.
Ich meine, bei 4 Elementen ist es ja noch relativ einfach keine Kombination zu vergessen, aber bei 10 Elementen wird’s schon etwas schwierig alle 1024 Kombinationen zu finden.
Daher meine Frage ob es ein bestimmtes Prinzip bzw. einen bestimmten Algorithmus gibt… so z.B. zuerst die letzte mit der vorletzten Stelle vertauschen, dann die neue letzte mit der vorvorletzten usw usw usw.

Freu mich auf Eure Hilfe.

Gruß
Sandra

Auch hallo.

ich hoffe, dass ich hier im richtigen Forum bin :smile:

Ja :smile:

Also… angenommen man hat eine 4 elementige Zahlenfolge, dann
gibt es ja 2 hoch 4 unterschiedliche Kombinationen
(Permutationen).

Nicht doch: 4! = 24 ? (klar, wenn die Elemente nur 0 und 1 sind, stimmt 2^4…)

Gibt es eigentlich dafür ein bestimmtes Vertauschungssystem.
Ich meine, bei 4 Elementen ist es ja noch relativ einfach
keine Kombination zu vergessen, aber bei 10 Elementen wird’s
schon etwas schwierig alle 1024 Kombinationen zu finden.
Daher meine Frage ob es ein bestimmtes Prinzip bzw. einen
bestimmten Algorithmus gibt… so z.B. zuerst die letzte mit
der vorletzten Stelle vertauschen, dann die neue letzte mit
der vorvorletzten usw usw usw.

Erstmal hier rein: http://www.google.de/search?hl=de&q=permutation+algo…
Naja, eine Option wäre das brutale Ausrechnen: Zahlen ihrer Grösse nach ordnen (1.Komb.),
dann immer zwei Zahlen vertauschen.
Aber wie der Link zeigt führen viele Wege nach Rom. Und es gibt genug Anwendungen für derartige
Algorithmen… Ein weiteres Schlagwort ist Kombinatorik,

HTH
mfg M.L.

***Werbung***
http://www.die-mathematik.de

im wesentlichen hast du es eh schon.

du beginnst so, daß die elemente von links nach rechts in aufsteigender reihenfolge angeordnet sind (wenn es elemente ohne größe oder reihenfolge sind, setzt du sie einfach mit zahlen oder buchstaben gleich).
dann veränderst du das vorletze, zweitgrößte element (es wird also das größte), und für die letzte stelle bleibt nur noch das zweitgrößte über. das sieht zwar aus wie ein tausch, aber wenn du immer alle elemente untereinander tauschen willst, bekommst du einen knoten im hirn.
du mußt sozusagen immer schauen, daß du rechts von der stelle n (wo zuerst das element n steht) alle permutationen durch hast, dann gibst du einfach das element m an diese stelle und bildest rechts davon wieder alle permutationen. das ist so eine rekursive geschichte, und im endeffekt hast du alle permutationen durch.

du kannst den output auch noch hierarchisch anordnen, dann siehst du gleich, wenn irgendwas fehlt.
zb:

1234
____1243
__1324
____1342
__1423
____1432
2134
____2143
__2314
____2341
__2413
____2431
3124

Fakultät nicht Potenz… sry
Ups…
hab da wohl was durcheinander geschmissen…
natürlich nicht 2 hoch „Anzahl der Elemente“, sonder „Anzahl der Elemente“! - Fakultät… sry… werd schon ganz wahnsinnig beim Suchen :wink:))

Nichts desto trotz habe ich noch keine Lösung gefunden und freu mich weiterhin auf Eure Hilfe.

Gruß
Sandra

Hallo Sandra!

Schwierig nach Deinem Posting zu wissen, was gemeint ist - Permutation oder Kombination…

Was Du suchst, scheint ein System für die Abbildung einer „Verteilung“ zu sein.

Wichtig wäre zu wissen, was gesucht ist. Ist die Reihenfolge der Ergnisse von Relevanz und dürfen einmal verwandte Ereignisse wieder verwendet werden (Also Urnenmodel: k Kugeln aus n ziehen, mit/ohne Zurücklegen, beachtung der Reihenfolge, z.b. Spiel 77 „7 aus 10“: mit Zurücklegen, Reihenfolge relevant / Lotto „6 aus 49“: ohne Zurücklegen, Reihenfolge nicht relevant / Würfeln Mäxchen (Meiern): „2 aus 6“ mit Zurücklegen, Reihenfolge nicht relevant / Permutation [mir fäält nix ein; Rangbildung oder etwas in der Art]: ohne Zurücklegen / Reihenfolge relevant )?

Wenn Du uns auf die Sprünge hilfst, könnte/würde ich auch antworten, allerdings möchte ich nicht für alle 4 Fälle jeweils einen Vorschlag machen…

Lieben Gruß
Patrick

Hallo Sandra,

baue eine Permutation nach dem Programm „0121402“. Wie? Ganz einfach.

Zunächst hat die Kolonne die Länge 7, also sollst Du eine 7er-Permutation bauen. Nimm also sieben von 0 bis 6 durchnumerierte CDs. " 0 121402" weist Dich an, die CD Nr. 0 an Position 0 zu bringen. Leg sie dazu einfach auf den Tisch. „0 1 21402“ weist Dich an, die CD Nr. 1 an Position 1 einzufügen. Leg sie auf die CD Nr. 0 drauf. „01 2 1402“ weist Dich an, die CD Nr. 2 an Position 2 einzufügen. Dazu muß sie nur oben auf den Stapel drauf. „012 1 402“ weist Dich an, die CD Nr. 3 an Position 1 einzufügen. Mach eine Lücke zwischen der untersten CD (Nr. 0) und der zweituntersten (Nr. 1) und schieb CD Nr. 3 da hinein, so daß sie jetzt die gewünschte Position 1 einnimmt. „0121 4 02“ weist Dich an, die CD Nr. 4 an Position 4 einzufügen. Sie kommt oben auf den Stapel drauf. „01214 0 2“ weist Dich an, die CD Nr. 5 an Position 0, also ganz unten in den Stapel einzufügen. Heb also den ganzen Stapel hoch und setz ihn auf die CD Nr. 5 drauf. „012140 2“ weist Dich an, die CD Nr. 6 an Position 2 einzufügen. Mach eine Lücke, so daß sie den Stapel in „2 unten und 4 oben“ teilt, und schieb CD Nr. 6 dort hinein. Geschafft.

Von unten nach oben (Position 0 bis 6) kannst Du jetzt auf den CDs ablesen:

5 0 6 3 1 2 4

Das ist die gesuchte, dem Programm „0121402“ entsprechende Permutation!

Aber die „wievielte“ der insgesamt 7! = 5040 Permutationen ist das?
Nun, es ist die 4580. In der Zahl 4580 ist das Programm „0121402“ „codiert“. Das wird Dir sofort klar, wenn Du 4580 durch 6 teilst. Das ergibt 654 Rest 2. Dieser Rest 2 ist die 2 am Schluß des Programms „0121402“.
654 geteilt durch 6 ergibt 109 Rest 0 , (= die vorletzte „0“ des Programms)
109 geteilt durch 5 ergibt 21 Rest 4 ,
21 geteilt durch 4 ergibt 5 Rest 1 ,
5 geteilt durch 3 ergibt 1 Rest 2 ,
1 geteilt durch 2 ergibt 0 Rest 1 ,
0 geteilt durch 1 ergibt 0 Rest 0 , (= die erste „0“ des Programms)

Die fetten Zahlen in umgekehrter Reihenfolge hintereinandergeschrieben ergeben die Programmsequenz.

Das war’s. Wenn Du Lust hast, kannst Du jetzt selbst versuchen, auszurechnen, wie die 2021. 7er-Permutation lautet. (Zur Kontrolle: Das der Zahl 2021 entsprechende Programm lautet „0021305“ und wenn Du danach den CD-Stapel durch Einfügen aufbaust, kommst Du auf das Ergebnis „5 1 3 0 4 6 2“.) Überzeuge Dich auch davon, daß das Schema für 0 auf die Permutation „6 5 4 3 2 1 0“ führt, und für 7!-1 = 5039 auf die Identitätspermutation „0 1 2 3 4 5 6“.

Dieses Schema kannst Du leicht in ein Computerprogramm gießen, das Dir zu jedem k mit 0