sagen, dass ich ein Array von Werten haben:Numpy - Gruppendaten in Summe Werte
a = np.array([1,5,4,2,4,3,1,2,4])
und drei ‚Summe‘ Werte:
b = 10
c = 9
d = 7
Gibt es eine Möglichkeit die Werte in a
zu Gruppe in Gruppen von Mengen, in denen die Werte b, c und d gleich sind? Zum Beispiel:
b: [5,2,3]
c: [4,4,1]
d: [4,2,1]
b: [5,4,1]
c: [2,4,3]
d: [4,2,1]
b: [4,2,4]
c: [5,4]
d: [1,1,2,3]
Notiere die Summe von b
, c
und d
sollten die gleiche (== 26) bleiben. Vielleicht hat diese Operation schon einen Namen?
Es klingt, als ob Sie versuchen, das "Rucksackproblem" (oder eine Variante davon) zu lösen: http://en.wikipedia.org/wiki/Knapsack_problem –
Ähnlich ja, ich würde es den "multiplen Rucksack" nennen Problem". Z.B. Wie viele Möglichkeiten können Sie Ihre Sachen in drei Rucksäcke packen (wo Kosten kein Problem sind). – atomh33ls
Es ist also ein Suchproblem, kein numerisches (numpy). Und wie bei den meisten Suchproblemen gibt es eine Brute-Force-Lösung und verschiedene (oft heuristische) Strategien, um gedämpfte Zweige abzubauen. – hpaulj