Simulation eines Systems mit Hilfe eines Markov-Modells

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Nsso
User
Beiträge: 8
Registriert: Freitag 29. Januar 2021, 17:00

Freitag 29. Januar 2021, 17:13

Hallo, kann mir jemand einen Programmcode schreiben?
es geht um die Simulation eines Systems mit Hilfe eines Markov-Modells.
__deets__
User
Beiträge: 9881
Registriert: Mittwoch 14. Oktober 2015, 14:29

Freitag 29. Januar 2021, 17:27

Klar. Bis wann? Und wieviel Zeit hast, damit ich dir das en Detail erklaeren kann, so das dein Dozent auch davon ueberzeugt ist, dass du das selbst programmiert hast?
Nsso
User
Beiträge: 8
Registriert: Freitag 29. Januar 2021, 17:00

Freitag 29. Januar 2021, 17:50

1.Feb 8.00 Uhr :) Wie bzw. wo könnten wir das zusammen machen?
__deets__
User
Beiträge: 9881
Registriert: Mittwoch 14. Oktober 2015, 14:29

Freitag 29. Januar 2021, 17:55

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.
Nsso
User
Beiträge: 8
Registriert: Freitag 29. Januar 2021, 17:00

Freitag 29. Januar 2021, 18:08

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.
Benutzeravatar
__blackjack__
User
Beiträge: 8721
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Freitag 29. Januar 2021, 18:09

Ich will auch mitmachen… 🤣

Und nun zu einem völlig anderen Thema: Sollte es eine Kennzeichnungspflicht für Ironie und Sarkasmus im Netz geben? 🤔
long long ago; /* in a galaxy far far away */
Nsso
User
Beiträge: 8
Registriert: Freitag 29. Januar 2021, 17:00

Freitag 29. Januar 2021, 18:12

Gerne doch :)
__deets__
User
Beiträge: 9881
Registriert: Mittwoch 14. Oktober 2015, 14:29

Freitag 29. Januar 2021, 18:26

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.
Nsso
User
Beiträge: 8
Registriert: Freitag 29. Januar 2021, 17:00

Freitag 29. Januar 2021, 18:35

alles klar, danke aber das ist leider nicht möglich :)
Nsso
User
Beiträge: 8
Registriert: Freitag 29. Januar 2021, 17:00

Freitag 29. Januar 2021, 18:36

Das ist bloß eine Praktikumsaufgabe von 107 Zeilen Code.
__deets__
User
Beiträge: 9881
Registriert: Mittwoch 14. Oktober 2015, 14:29

Freitag 29. Januar 2021, 18:38

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.
Nsso
User
Beiträge: 8
Registriert: Freitag 29. Januar 2021, 17:00

Freitag 29. Januar 2021, 18:42

Jo, wovon die Zeile sicherlich keine 12 EUR kostet.
__deets__
User
Beiträge: 9881
Registriert: Mittwoch 14. Oktober 2015, 14:29

Freitag 29. Januar 2021, 18:45

Angebot und Nachfrage. Hast du ein besseres Angebot?
Benutzeravatar
__blackjack__
User
Beiträge: 8721
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Freitag 29. Januar 2021, 19:15

@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.
long long ago; /* in a galaxy far far away */
nezzcarth
User
Beiträge: 1307
Registriert: Samstag 16. April 2011, 12:47

Freitag 29. Januar 2021, 19:35

@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.
Antworten