Was ist das Rucksackproblem?
Das Rucksackproblem (international auch als Knapsack-Problem bekannt) ist ein modellhaftes kombinatorisches Optimierungsproblem, das allgemein so aussieht: Man hat einen Rucksack mit einer maximalen Traglast (in kg) sowie eine Anzahl von Gegenständen mit Gewichten (in kg) und Werten (z.B. in Euro).
Ist das Rucksackproblem relativ einfach zu verstehen?
Obwohl das Rucksackproblem selbst relativ einfach zu verstehen ist, gibt es erstaunlich umfangreiche Literatur 8, in der für die oben vorgestellte Version und andere Formulierungen Ergebnisse aus verschiedenen Bereichen (exakte Algorithmen, Approximationsalgorithmen, Heuristiken) vorgestellt werden.
Kann ein Item größeres Gewicht haben als die Kapazität des Rucksacks?
Wenn ein Item größeres Gewicht hat als die Kapazität des Rucksacks, kann es in keiner Lösung vorkommen und wird entfernt. Weiter kann geprüft werden, ob alle Items zusammen in den Rucksack passen; falls ja, ist ebenfalls eine optimale Lösung gefunden 5.
Das Rucksackproblem (auch englisch knapsack problem) ist ein Optimierungsproblem der Kombinatorik. Aus einer Menge von Objekten, die jeweils ein Gewicht und einen Nutzwert haben, soll eine Teilmenge ausgewählt werden, deren Gesamtgewicht eine vorgegebene Gewichtsschranke nicht überschreitet.
Was ist Die Entscheidungsvariante des Rucksackproblems?
Die Entscheidungsvariante des Rucksackproblems fragt, ob ein zusätzlich vorgegebener Nutzwert erreicht werden kann. Sie gehört zur Liste der 21 klassischen NP-vollständigen Probleme, von denen Richard Karp 1972 die Zugehörigkeit zu dieser Klasse zeigen konnte. In der Kryptographie wird häufig eine andere Entscheidungsvariante betrachtet.
Wie kann eine dynamische Programmierung eingesetzt werden?
Dynamische Programmierung kann erfolgreich eingesetzt werden, wenn ein Optimierungsproblem aus vielen gleichartigen Teilproblemen besteht und eine optimale Lösung des Problems sich aus optimalen Lösungen der Teilprobleme zusammensetzt. Dies nennt man Optimalitätsprinzip von Bellman.
Was ist die Datenstruktur der dynamischen Programmierung?
4 Die Datenstruktur, in der die Lösungen gespeichert werden, wird im Kontext der dynamischen Programmierung auch als Zustandsraum und die Einträge als Zustände bezeichnet.