Knapsack Problem? O(2^n)?
Hi
Kann mir jemand intuitiv erklären, warum die Komplexität des Problems 2^n ist?
1 Antwort
FataMorgana2010
bestätigt
Von
Experte
Nutzer, der sehr aktiv auf gutefrage ist
Das Knapsack-Problem lässt sich rein mathematisch so beschreiben:
Es existieren Wertepaare (ai,bi), i = 1 ... n, ai,bi € R
Weiter sei
und
Mit xi = 0 oder xi = 1 für i = 1 ...n.
Nun sucht man Extrempunkte von y unter der Bedingung z < G
Weil die xi nur die Werte 0 oder 1 annehmen können, gibt es für deren Auswahl 2^n verschiedene Möglichkeiten (vergleichbar mit einer Binärzahl). Die Summen y und z sind dann lediglich eine Addition der entsprechenden ai und bi. Deshalb liegt die Komplexität des Problems bei 2^n.