Dynamische Programmierung
Verfasst: Sonntag 10. Mai 2015, 14:53
Hallo liebes Forum,
ich bin noch sehr unerfahren mit Python und muss für eine Uni-Hausarbeit ein dynamisches Programm programmieren. Das Programm dient dazu einen Ertragswert zu ermitteln, der Abhängig ist von bestimmten Entscheidungen. Die Entscheidungen sind voneinander abhängig, was damit das Dynamische Programm ausmacht.
Ich versuche es vereinfacht zu formulieren: Ich muss irgendwie einen Entscheidungsbaum generieren, der t Schritte hat. In jedem Schritt kann ein bestimmter Systemzustand erreicht werden. Gestartet wird zB im Zustand t = 3 und es wird abwärts gezählt. Der Startzustand hat 2 unterschiedliche Ressourcen mit einer jeweiligen Kapazität von 2. Das bedeutet der Startzustand hat einen Wert W([2, 2], 3). Dieser Zustand kann verlassen werden zu den darauffolgenden Zuständen zum Zeitpunkt t = 2. Diese lauten dann W([2, 2], 2), W([2, 1], 2), W([2, 0], 2), W([1, 2], 2), W([0, 2], 2), W([1, 1], 2) und W([0, 0], 2). Abhängig welche Ressource reduziert wird… Jetzt kann das Programm für jeden Zustand aus t = 2 natürlich wieder in einen nachfolgenden Zustand in t = 1 überführt werden. Damit wird ein recht komplexer Entscheidungsbaum bis zur letzten Periode t = 0 aufgebaut. (Ich hoffe das war verständlich…)
Wie kann ich jetzt diesen Entscheidungsbaum (Graphen) mittels Python, Numpy, SciPy, PyDecode oder ähnlich aufbauen?
Ich bin etwas frustriert, da ich echt nicht mehr weiter komme… Ich hoffe Ihr könnt mir einen kleinen Schups in die richtige Richtung geben.
Liebe Grüße, Rb4k
ich bin noch sehr unerfahren mit Python und muss für eine Uni-Hausarbeit ein dynamisches Programm programmieren. Das Programm dient dazu einen Ertragswert zu ermitteln, der Abhängig ist von bestimmten Entscheidungen. Die Entscheidungen sind voneinander abhängig, was damit das Dynamische Programm ausmacht.
Ich versuche es vereinfacht zu formulieren: Ich muss irgendwie einen Entscheidungsbaum generieren, der t Schritte hat. In jedem Schritt kann ein bestimmter Systemzustand erreicht werden. Gestartet wird zB im Zustand t = 3 und es wird abwärts gezählt. Der Startzustand hat 2 unterschiedliche Ressourcen mit einer jeweiligen Kapazität von 2. Das bedeutet der Startzustand hat einen Wert W([2, 2], 3). Dieser Zustand kann verlassen werden zu den darauffolgenden Zuständen zum Zeitpunkt t = 2. Diese lauten dann W([2, 2], 2), W([2, 1], 2), W([2, 0], 2), W([1, 2], 2), W([0, 2], 2), W([1, 1], 2) und W([0, 0], 2). Abhängig welche Ressource reduziert wird… Jetzt kann das Programm für jeden Zustand aus t = 2 natürlich wieder in einen nachfolgenden Zustand in t = 1 überführt werden. Damit wird ein recht komplexer Entscheidungsbaum bis zur letzten Periode t = 0 aufgebaut. (Ich hoffe das war verständlich…)
Wie kann ich jetzt diesen Entscheidungsbaum (Graphen) mittels Python, Numpy, SciPy, PyDecode oder ähnlich aufbauen?
Ich bin etwas frustriert, da ich echt nicht mehr weiter komme… Ich hoffe Ihr könnt mir einen kleinen Schups in die richtige Richtung geben.
Liebe Grüße, Rb4k