Produktsumme von Teilmengen

Gibt es einen Namen für diese Operation? Und: Gibt es einen Ausdruck in geschlossener Form?

Für eine gegebene Menge von n Elementen und einen Wert k zwischen 1 und n,Nehmen Sie alle Teilmengen (Kombinationen) von k ElementenFinden Sie das Produkt jeder UntergruppeFinden Sie die Summe all dieser Produkte

Ich kann das in Python ausdrücken und die Berechnung ganz einfach durchführen:

<code>from operator import mul
from itertools import combinations
from functools import reduce
def sum_of_product_of_subsets(list1, k):
    val = 0
    for subset in combinations(list1, k):
        val += reduce(mul, subset)
    return val
</code>

Ich suche nur nach dem Ausdruck in geschlossener Form, um die Schleife zu vermeiden, falls die festgelegte Größe groß wird.

Beachten Sie, dass dies NICHT mit dieser Frage identisch ist:Summe des Produkts über alle Kombinationen mit einem Element aus jeder Gruppe - Bei dieser Frage handelt es sich um die Summe der Produkte eines kartesischen Produkts. Ich suche die Summe der Produkte aus der Menge der Kombinationen der Größe k; Ich denke nicht, dass sie gleich sind.

Um klar zu sein, für set (a, b, c, d), dann:

<code>k = 4 --> a*b*c*d
k = 3 --> b*c*d + a*c*d + a*b*d + a*b*c
k = 2 --> a*b + a*c + a*d + b*c + b*d + c*d
k = 1 --> a + b + c + d
</code>

Ich suche nur den Ausdruck; Es ist nicht erforderlich, den Python-Code speziell anzugeben. (Jede Sprache ist nur zur Veranschaulichung gedacht, wenn Sie eine Beispielimplementierung bereitstellen möchten.)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage