Ich bin mit Mathematica 7 und mit einem combinatorica Paket Funktion kann ich alle Kombinationen einer bestimmten Nummer aus einer Liste von Elementen, wo die Reihenfolge keine Rolle spielt und es gibt keine repetition.eg:Kombinationen mit Wiederholung
in: KSubsets[{a, b, c, d}, 3]
out: {{a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}}
Ich kann keine Funktion finden, die mir alle Kombinationen einer bestimmten Nummer aus einer Liste von Elementen gibt, wo die Reihenfolge keine Rolle spielt und ist Wiederholung. , d.h. das obige Beispiel würde Elemente wie {a, a, b}, {a, a, a}, {b, b, b} ... etc in der Ausgabe enthalten.
Es kann eine benutzerdefinierte Funktion erfordern. Wenn ich mir eine ausdenken kann, werde ich eine Antwort schreiben, aber im Moment sehe ich keine offensichtliche Lösung.
Edit: Idealerweise enthält die Ausgabe keine Verdoppelung einer Kombination, z. Tupel [{a, b, c, d}, 3] werden eine Liste zurückgeben, die zwei Elemente wie {a, a, b} und {b, a, a} enthält, die aus einer Kombination Sicht sind gleich.
Beachten Sie, dass 'Sortieren [#] &' dasselbe ist wie nur 'Sortieren'. – dreeves
@dreeves - d'oohhhh - und entsprechend bearbeitet. Vielen Dank. –
Union kann DeleteDuplicates ersetzen, aber keinen Vorteil gegenüber der eleganten Methode. (Subsets ist das Mathematica 7-Äquivalent von KSubsets). Ist es möglich, das obige zu tun, ohne Map/Sort zu benutzen? – tomd