Das im ersten Abschnitt entwickelte einfache Programm zum Rucksackproblem löst das Problem nicht in allen Fällen.
In diesem Abschnitt geht es darum, alle prinzipiell lösbaren Fälle zu lösen.
Das erste hier betrachtete Verfahren ist die Tiefensuche.
Die Tiefensuche gehört zu den vollständigen, blinden Suchverfahren. Das bedeutet,
dass der Suchraum (prinzipiell) vollständig abgesucht wird und ("uninformiert")
keine Informationen zur Auswahl von Alternativen verwendet werden.
Ein weiterer Begriff dazu ist brute force, da keinerlei andere Intelligenz als
Systematik eingesetzt wird.
Das bei uns als Ziel entwickelte Programm ist allerdings eine optimierte Tiefensuche, da laufend
auf Misserfolg und Erfolg getestet wird und dadurch nur der zulässige Teil des Suchraums bearbeitet wird.
Während bei der Tiefensuche der Suchraum so abgesucht wird, dass zuerst in die Tiefe gegangen wird,
werden bei der Breitensuche zuerst alle Alternativen einer Ebene untersucht, bevor weiter
in die Tiefe gegangen wird.
Aber: Auch die Breitensuche arbeitet brute force.
Das Material zum Kurs ist abschnittsweise, auf mehrere Seiten verteilt abgelegt.
Die mit Python entwickelte Software zum Erstellen von Graphen (siehe auch dieses Bild) finden Sie im Abschnitt zur Software.
Programmierumgebung: Python