[PYTHON] Rucksack Problem Memorandum

Was ist das Rucksackproblem?

Das berühmte NP-Komplettproblem. Das Problem, den Gegenstand in den Rucksack zu legen, damit der Wert des Gegenstandes maximiert wird.

Was ist schwierig?

Wenn Sie einfach denken, ist es $ O (2 ^ N) $, da Sie sich dafür entscheiden müssen, den Artikel nicht einzulegen. Überlegen Sie, dies in polymorpher Zeit zu lösen.

Ich werde erklären, wie man diese in polymorpher Zeit in drei Schritten löst.

1. Bild beim Lösen

Betrachten Sie als Bild der dynamischen Planungsmethode die Erhöhung von einem kleinen Zustand aus. Mit anderen Worten, denken Sie einmal. Zu einem bestimmten Zeitpunkt wird je nach Kapazität des Rucksacks entschieden, ob es eingesetzt werden soll oder nicht. Natürlich ist es wertvoller, es einzulegen, also setzen Sie es ein. Entscheiden Sie beim zweiten Mal, ob Sie es in den Rucksack stecken möchten. Was Sie hier beachten sollten, ist der Zweig mit dem ersten darin. Die Entscheidung, ob man es in den Rucksack steckt, ist geteilt. Und beim dritten Mal vergleichen Sie es mit dem Rucksack am Ende des zweiten. Mit anderen Worten, es ist das Miso dieses Problems, darüber nachzudenken, ob dem vorhandenen Status ein neues Element hinzugefügt werden soll.

2. Aktueller Speicherstatus

In Produktion

Recommended Posts

Rucksack Problem Memorandum
Illustration der Ergebnisse des Rucksackproblems
Matplotlib Memorandum
Linux Memorandum
jinja2 Memorandum
Django Memorandum
Befehlsmemorandum
Python-Memorandum 2
Plotly Memorandum
Slackbot-Memorandum (1)
Multiprocessing Memorandum
Memorandum MetaTrader5
ShellScript-Memorandum
Pip Memorandum
Python-Memorandum
Pydoc Memorandum
Wahrscheinlichkeitsproblem
Python Memorandum
Memorandum of Pandas
Python Memorandum
DjangoGirls Memorandum
Befehlsmemorandum
Python-Memorandum
Pandas Memorandum
Python Memorandum
Python-Memorandum
Lösen Sie Rucksackprobleme mit pyomo und glpk
Lösen Sie das Python-Rucksackproblem mit dem Greedy-Algorithmus