Hallo, kann mir jemand einen Programmcode schreiben?
es geht um die Simulation eines Systems mit Hilfe eines Markov-Modells.
Simulation eines Systems mit Hilfe eines Markov-Modells
Zum Glueck habe ich das Wochenende nichts anderes zu tun. Gibt euer Dozent euch die Aufgaben immer so kurz vor dem Abgabetermin? Das ist ja schon ganz schoen gemein.
Ich melde mich dann einfach hier, wenn ich etwas vorzuzeigen habe.
Ich melde mich dann einfach hier, wenn ich etwas vorzuzeigen habe.
Das ist 2.Chance Notfallaufgabe
Hier die vollständige Aufgabe:
Ein Fahrzeughalter muss vorschriftsmäßig sein Lastwagen einmal in zwei Jahren zur Fahrzeuginspektion bringen. Die Inspektion dauert im Schnitt 4h. Die Überziehung der Frist für eine unbestimmte Zeit ist erlaubt. Dabei soll diese Aktion soll „warten“ genannt werden.
Der Lastwagen wird ca. 40% der Zeit genutzt. Die restliche Zeit befindet sich das Fahrzeug in einem
Parkzustand. Diese Aktion soll „betreiben“ genannt werden (auch wenn der Lastwagen sich im
Parkzustand befindet).
Ist die Wartungsfrist überzogen, dann soll der Lastwagen innerhalb einer Woche zur Inspektion
gebracht werden.
Damit der Fahrzeughalter mit dem Lastwagen Geld verdient, muss der Lastwagen möglichst oft in
Betrieb sein (Aktion „betreiben“). Im Betrieb verdient der Fahrzeughalter 50 Euro pro Stunde. Falls
das Fahrzeug nicht im Betrieb ist, dann hat der Fahrzeughalter 20 Euro pro Stunde Verlust. Die
Inspektion kostet dem Fahrzeughalter 200 Euro (Aktion „warten“). Nach der Inspektion erfolgt eine
Wertsteigerung des Fahrzeugs von 500 Euro.
Das Zeitinkrement ist 1h.
a.) Programmieren Sie die Infrastruktur für ein MDP-Modell in Python. Verwenden Sie dafür
vier Klassen: STATE, QSTATE, TRANSITION und MDP
Das MDP-Modell soll wie unten dargestellt (Programmbeispiel 1) aufgebaut werden. Für die Darstellung des MDP-Modells werden die Methoden state(), qstate() und transition() benötigt. Die
Methode show() stellt das MDP-Modell als Graphik dar:
M = MDP("Aufgabe3")
S1 = STATE('S1',0)
S2 = STATE('S2',1)
S3 = STATE('S3',2)
…
QS1b = QSTATE('QS1',S1, 'Betreiben')
QS1w = QSTATE('QS2',S1, 'Warten')
…
T1b3 = TRANSITION('T1b3',QS1b, S3, 0.5, 100)
T1w3 = TRANSITION('T1w3',QS1w, S3, 0.5, 100)
…
M.state(S1)
…
M.qstate(QS1b)
…
M.transition(T1b3)
…
M.show()
b.) Programmieren Sie das MDP-Modell für die oben beschriebene Aufgabenstellung. Das Modell soll dabei mindestens fünf Zustände haben: Betrieb, Parken, Betrieb ohne Inspektion, Parken ohne Inspektion und Inspektion. Ermitteln Sie Q-Zustände und Übergänge und bauen Sie
diese in das Modell ein.
c.) Programmieren Sie den Graphen des Markov Modells mit Graphviz/Matplot/OpenCV und
drucken Sie diesen aus, sodass Zustände, Q-Zustände und Übergänge daraus hervorgehen. Die Zustände sollen dabei mit Dreiecken dargestellt werden. Die Q-Zustände mit Kreisen. Beschriften Sie alle Zustände und Q-Zustände.
d.) Berechnen Sie die Gesamtbelohnungen für jeden Zustand und jeden Q-Zustand. Verwenden
Sie dafür die Methode utility() der Klassen MDP, QSTATE und STATE. Verwenden Sie dafür die Bellmann Gleichungen.
e.) Berechnen Sie aus den Q-Zuständen und den Gesamtbelohnungen die optimale Strategie und
geben Sie diese aus.
Hier die vollständige Aufgabe:
Ein Fahrzeughalter muss vorschriftsmäßig sein Lastwagen einmal in zwei Jahren zur Fahrzeuginspektion bringen. Die Inspektion dauert im Schnitt 4h. Die Überziehung der Frist für eine unbestimmte Zeit ist erlaubt. Dabei soll diese Aktion soll „warten“ genannt werden.
Der Lastwagen wird ca. 40% der Zeit genutzt. Die restliche Zeit befindet sich das Fahrzeug in einem
Parkzustand. Diese Aktion soll „betreiben“ genannt werden (auch wenn der Lastwagen sich im
Parkzustand befindet).
Ist die Wartungsfrist überzogen, dann soll der Lastwagen innerhalb einer Woche zur Inspektion
gebracht werden.
Damit der Fahrzeughalter mit dem Lastwagen Geld verdient, muss der Lastwagen möglichst oft in
Betrieb sein (Aktion „betreiben“). Im Betrieb verdient der Fahrzeughalter 50 Euro pro Stunde. Falls
das Fahrzeug nicht im Betrieb ist, dann hat der Fahrzeughalter 20 Euro pro Stunde Verlust. Die
Inspektion kostet dem Fahrzeughalter 200 Euro (Aktion „warten“). Nach der Inspektion erfolgt eine
Wertsteigerung des Fahrzeugs von 500 Euro.
Das Zeitinkrement ist 1h.
a.) Programmieren Sie die Infrastruktur für ein MDP-Modell in Python. Verwenden Sie dafür
vier Klassen: STATE, QSTATE, TRANSITION und MDP
Das MDP-Modell soll wie unten dargestellt (Programmbeispiel 1) aufgebaut werden. Für die Darstellung des MDP-Modells werden die Methoden state(), qstate() und transition() benötigt. Die
Methode show() stellt das MDP-Modell als Graphik dar:
M = MDP("Aufgabe3")
S1 = STATE('S1',0)
S2 = STATE('S2',1)
S3 = STATE('S3',2)
…
QS1b = QSTATE('QS1',S1, 'Betreiben')
QS1w = QSTATE('QS2',S1, 'Warten')
…
T1b3 = TRANSITION('T1b3',QS1b, S3, 0.5, 100)
T1w3 = TRANSITION('T1w3',QS1w, S3, 0.5, 100)
…
M.state(S1)
…
M.qstate(QS1b)
…
M.transition(T1b3)
…
M.show()
b.) Programmieren Sie das MDP-Modell für die oben beschriebene Aufgabenstellung. Das Modell soll dabei mindestens fünf Zustände haben: Betrieb, Parken, Betrieb ohne Inspektion, Parken ohne Inspektion und Inspektion. Ermitteln Sie Q-Zustände und Übergänge und bauen Sie
diese in das Modell ein.
c.) Programmieren Sie den Graphen des Markov Modells mit Graphviz/Matplot/OpenCV und
drucken Sie diesen aus, sodass Zustände, Q-Zustände und Übergänge daraus hervorgehen. Die Zustände sollen dabei mit Dreiecken dargestellt werden. Die Q-Zustände mit Kreisen. Beschriften Sie alle Zustände und Q-Zustände.
d.) Berechnen Sie die Gesamtbelohnungen für jeden Zustand und jeden Q-Zustand. Verwenden
Sie dafür die Methode utility() der Klassen MDP, QSTATE und STATE. Verwenden Sie dafür die Bellmann Gleichungen.
e.) Berechnen Sie aus den Q-Zuständen und den Gesamtbelohnungen die optimale Strategie und
geben Sie diese aus.
- __blackjack__
- User
- Beiträge: 13103
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Ich will auch mitmachen…
Und nun zu einem völlig anderen Thema: Sollte es eine Kennzeichnungspflicht für Ironie und Sarkasmus im Netz geben?
Und nun zu einem völlig anderen Thema: Sollte es eine Kennzeichnungspflicht für Ironie und Sarkasmus im Netz geben?
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Also bei dem doch recht komplexen Thema muss ich sicher wenigstens 6h pro Tag ansetzen. Bei einem Stundensatz von Netto 100 Euro werden das also 1200 Euro + Steuer (wir sind wieder bei 19%, oder? Letztes Jahr war ja phasenweise 16%). Am einfachsten natuerlich per PayPal Friends & Family zu bezahlen.
Wenn dir das nicht moeglich ist, jemand anderen fuer die Arbeit zu bezahlen, die er in deinem Auftrag erledigt hat - dann wird die Arbeit wohl von dir erledigt werden muessen.
Es sind schliesslich nur 107 Zeilen Code.
Es sind schliesslich nur 107 Zeilen Code.
- __blackjack__
- User
- Beiträge: 13103
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Nsso: 107 Zeilen ist ein erstaunlich spezifischer Wert. Bei den angesetzten 12 h sind das etwas weniger als 6 3/4 Minuten pro Zeile. Kannst ja mal selbst schauen wie weit Du sagen wir mal in einer Stunde kommst. Es geht bei der Zeit für die 107 Zeilen ja nicht nur darum die zu tippen. Sondern erst einmal auf die Zeilen zu kommen. 107 Zeilen Vokabelquiz sind beispielsweise etwas ganz anderes als 107 Zeilen Simulation mit einem Markov-Modell.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
@Nsso: Letztendlich ist die Situation doch folgende: Du wirst hier und auch sonst wo niemanden finden, der das für dich macht. Die Aufgabe ist nicht trivial und die wenigsten helfen gerne beim Durchmogeln. Was du jetzt machen kannst, ist die 2,5 Tage, die du noch hast zu nutzen, um das selbst hinzubekommen. Wenn es konkrete Fragen gibt, wo du in deinem Code nicht weiterkommst, kann man dir hier vielleicht sogar helfen. Aber im Wesentlichen musst du es schon selbst machen.
Zuletzt geändert von nezzcarth am Freitag 29. Januar 2021, 19:40, insgesamt 1-mal geändert.
Geht wie uebliche "drueben" weiter: https://forum-raspberrypi.de/forum/thre ... post475300
Daher auch die sehr speziellen 107 Zeilen.... wenigstens das waere dann geklaert
Daher auch die sehr speziellen 107 Zeilen.... wenigstens das waere dann geklaert
Wer das nicht erkannt hat, sollte seine Freizeitgestaltung auf singen und im Kreis tanzen beschränken__blackjack__ hat geschrieben: ↑Freitag 29. Januar 2021, 18:09 Und nun zu einem völlig anderen Thema: Sollte es eine Kennzeichnungspflicht für Ironie und Sarkasmus im Netz geben?
"When I got the music, I got a place to go" [Rancid, 1993]
- __blackjack__
- User
- Beiträge: 13103
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Dennis98: Meinst Du das *ernst*?
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman