Derzeit versuchen, dieses Problem aus interactivepython.org zu lösen:Wie kann ich eine Lösung mit dynamischer Programmierung schreiben?
Angenommen, Sie ein Informatiker/Kunstdieb sind, die in eine große Kunstgalerie gebrochen hat. Alles, was du bei dir hast, um deine gestohlene Kunst herauszuholen, ist dein Rucksack, der nur W Pounds von Kunst enthält, aber für jedes Kunstwerk weißt du seinen Wert und sein Gewicht. Schreiben Sie eine dynamische Programmierfunktion, um Ihren Gewinn zu maximieren.
Mein erster Gedanke war, den maximalen Wert aller Gegenstände zu finden, subtrahiert, das Gewicht dieses Elements aus dem maximalen Gewicht, dann den Maximalwert aller Elemente mit dem neuen Maximalgewicht als Einschränkung finden. Schnell wurde mir klar, dass das nicht funktionieren würde.
Jede Hilfe, wie man dies mit dynamischer Programmierung angehen könnte, wäre willkommen.
Viele Leute haben das schon mal gemacht. Lesen Sie das "Rucksackproblem" und seine Implementierungen. – DeepSpace
Dies ist ein sehr beliebtes Problem namens "0-1 Rucksack". Google es finden Sie viele Links. – Shubham