Archiv der Kategorie: Neue Simulation

OKSIMO EINFACHE BEISPIELE: Empfehlung Dokumentationsformat

OKSIMO – UNIVERSELLE PROZESS PLANUNG
Veröffentlicht: 7.Mai 2021 – 7.Mai 2021
Email: info@oksimo.org

Autor: Gerd Doeben-Henisch; Email: gerd@oksimo.org

KONTEXT

Dieses Fallbeispiel gehört zur Sektion Einfache Beispiele des Blogs oksimo.org.

EMPFEHLUNG FÜR EIN DOKUMENTATIONSFORMAT

In der Sektion ‚Einfache Beispiele‘ erstellen unterschiedliche Personen und Gruppen Beispiele zu ganz unterschiedlichen Themen. Diese Vielfalt ist gewollt, da auf diese Weise in möglichst kurzer Zeit möglichst viele Einsichten in das konkrete Anwendungspotential des neuen oksimo Paradigmas gewonnen werden können. Schon in den letzten 4 Wochen kamen es zu vielen neuen Verbesserungsvorschlägen für die Bedienung.

Aktuell haben sich bei der Erarbeitung eines Beispiels schon einige Aspekte herauskristallisiert, die für alle oksimo ‚Experimentatoren‘ empfohlen werden.

BILD: Vorschlag für die Struktur bei der manuellen Erstellung eines Beispiels. Achtung: zukünftig wird es weitere Software-Werkzeuge geben, die das Vorgehen um zusätzliche Möglichkeiten erweitern werden.

Extern starten – intern vollenden

Da der oksimo Editor in der aktuellen Version (zum Zeitpunkt dieses Schreibens Version v0.11.0d23) nur ein Kommandozeilen-orientiertes Basis-Interface zur Verfügung stellt, ist die Eingabe größerer Beispiele sowohl mühsam als auch wenig geeignet, die Überblick über alle Teile zu wahren. Bis komfortablere Methoden zur Verfügung stehen werden (nicht vor Herbst 2021, eher Frühjahr 2022) kann man sich aber mit normal verfügbaren open source Werkzeugen behelfen (natürlich kann man auch kommerzielle Tools benutzen …).

Die Hauptherausforderung beim Erarbeiten eines Beispiels wird darin gesehen, eine erste grobe Idee eines Prozesses zu haben, die man dann schrittweise samt möglichen Verzweigungen übersichtlich ausarbeiten. kann.

Es ist dann Geschmackssache, ob man diese Entwurfsarbeit erst vollständig abschließt, bevor man sie zum Testen in den oksimo Editor eingibt, oder ob man schon zwischendurch Teile eingibt, um zwischendurch testen zu können. Da man die Basismechanismen von oksimo schnell verstehen kann, wird man relativ schnell den Entwurf zunächst extern ausführen, um ihn dann nach Eingabe in oksimo intern zu testen.

Extern

Das vorausgehende Schaubild zeigt im oberen Teil des Bildes für die externe Entwicklung eine Text-Komponente und eine Grafische Komponente.

Extern – Text

Der folgende Text ist aus einem Beispiel entnommen, das sich HIER findet:

Beispiel: OKSIMO ZEIT V1
ZUSTAND S = {Gerd ist zu Hause., Gerd schläft., Es ist 7:00h.}
VISION V = {none}
REGELN X
  1. WENN {Gerd ist zu Hause., Gerd schläft., Es ist 7:00h.} DANN p=1.0, E-={Gerd ist zu Hause., Gerd schläft., Es ist 7:00h.}, E+={Der Wecker klingelt. Gerd steht auf und macht sich fertig.}
  2. WENN {Der Wecker klingelt. Gerd steht auf und macht sich fertig.} DANN p=1.0, E-={Der Wecker klingelt. Gerd steht auf und macht sich fertig.}, E+={Gerd fährt ins Büro.}
  3. WENN {Gerd fährt ins Büro.} DANN p=1.0, E-={Gerd fährt ins Büro.}, E+={Es ist Vormittag. Gerd ist im Büro. Gerd arbeitet.}
  4. WENN {Es ist Vormittag. Gerd ist im Büro. Gerd arbeitet.} DANN p=1.0, E-={Es ist Vormittag. Gerd ist im Büro. Gerd arbeitet.}, E+={Es ist Mittag. Gerd trifft sein Team beim Essen.}
  5. WENN {Es ist Mittag. Gerd trifft sein Team beim Essen.} DANN p=1.0, E-={Es ist Mittag. Gerd trifft sein Team beim Essen.}, E+={Es ist Nachmittag. Gerd ist im Labor. Gerd macht Experimente.}
  6. WENN {Es ist Nachmittag. Gerd ist im Labor. Gerd macht Experimente.} DANN p=1.0, E-={Es ist Nachmittag. Gerd ist im Labor. Gerd macht Experimente.}, E+={Es ist nach 18:00h. Gerd fährt nach Hause.}
  7. WENN {Es ist nach 18:00h. Gerd fährt nach Hause.} DANN p=1.0, E-={Es ist nach 18:00h. Gerd fährt nach Hause.}, E+={Gerd ist zu Hause. Es ist nach 23:00h. Gerd geht schlafen.}
  8. WENN {Gerd ist zu Hause. Es ist nach 23:00h. Gerd geht schlafen.} DANN p=1.0, E-={Es ist nach 23:00h. Gerd geht schlafen.}, E+={Gerd schläft. Es ist 7:00h.}
REGEL-DOKUMENT

‚zeit1‘

  • zeit1-wecker
  • zeit-ins-buero
  • zeit-im-buero
  • zeit1-team
  • zeit1-labor
  • zeit1-nach1800
  • zeit1-zuhause23
  • zeit1-nachts

In diesem Text wird der Startzustand S angegeben, die Vision (in diesem Fall leer, da es um hier um ein spezielles Beispiel ging), dann die Menge der Veränderungsregeln, kurz Regeln genannt, sowie ein Regeldokument, in dem alle Regeln aufgelistet werden, die ausschließlich für dieses Beispiel benutzt werden.

Extern – Grafik

Obwohl das obige Beispiel mit nur 6 Regeln noch vergleichsweise einfach ist, kann man schon ins Grübeln kommen, ob das Zusammenspiel dieser Regeln sinnvoll ist.

Es erscheint daher hilfreich, parallel zum Erstellen des Textes eine Grafik zu erstellen, in der man die Regeln zusammen mit dem Startzustand als Knoten in einem hybriden Grafen darstellt (siehe Schaubild):

BILD: Grafische Darstellung eines hybriden Grafen mit dem Startzustand als ein Knoten, von dem Übergänge (= Pfeile) zu anderen Knoten führen, die durch Regeln repräsentiert werden. Dieses Beispiel ist extrem einfach da alle Wahrscheinlichkeiten den Wert ‚1.0‘ besitzen und es keine Verzweigungen gibt, nur den Gesamtzyklus eines fiktiven Tages. Man kann aber an der Grafik direkt ablesen, welche Regel welche Veränderung bewirkt.

Wer ein wenig Übung in der Benutzung der oksimo Software besitzt, kann in der Regel alleine aufgrund dieser Grafik verstehen, was das Programm tut.

Intern

Liegt ein externer Text vor, dann kann man einfach mittels Copy-und-Paste einen Startzustand erstellen, eine Vision, und die benötigten Regeln. Eine Zusammenfassung aller Regeln in ein Regel-Dokument ist direkt und einfach.

Intern: Simulationsvariationen

Nachdem man intern alle ‚Zutaten‘ zu einer Simulation bereitgestellt hat, kann man eine Simulation neu starten oder eine gespeicherte Simulation wiederholt ablaufen lassen.

Bei einer neu erstellten Simulation liegt das Hauptaugenmerk darauf, zu prüfen, ob die sich Simulation tatsächlich so verhält, wie man aufgrund der Vorgaben erwartet. Daher werden in diesem Fall auch bei jeder Runde alle verfügbaren Regeln (ihr Name) angegeben und ob sie oder ob sie nicht zur Anwendung kamen. Im Falle von Regeln mit einer Wahrscheinlichkeit < 1.0 wird auch angegeben, welche Wahrscheinlichkeit erwürfelt wurde, woraus man ersehen kann, warum sie zur Anwendung kam oder nicht. Neue Simulationen kann man beliebig oft mit unterschiedlichen Rundenzahlen wiederholen, abspeichern oder als Text ausgeben lassen. Hier das Beispiel eines einfachen Protokolls:

Beispiel eines Simulationsprotokolls mit neuer Simulation:
Your vision:
none
Initial states: 
Gerd ist zu Hause.,Gerd schläft.,Es ist 7:00h.

Round 1

Rules:
zeit1-labor not applied (conditions not met)
zeit-ins-buero not applied (conditions not met)
zeit-im-buero not applied (conditions not met)
zeit1-team not applied (conditions not met)
zeit1-nachts not applied (conditions not met)
zeit1-nach1800 not applied (conditions not met)
zeit1-wecker applied  (Prob: 100 Rand: 60/100)
zeit1-zuhause23 not applied (conditions not met)
Current states: Gerd steht auf und macht sich fertig.,Der Wecker klingelt.

0.00 percent of your vision was achieved by reaching the following states:
None

Round 2

Rules:
zeit-ins-buero applied  (Prob: 100 Rand: 11/100)
zeit1-zuhause23 not applied (conditions not met)
zeit1-nachts not applied (conditions not met)
zeit1-nach1800 not applied (conditions not met)
zeit1-wecker not applied (conditions not met)
zeit1-team not applied (conditions not met)
zeit1-labor not applied (conditions not met)
zeit-im-buero not applied (conditions not met)
Current states: Gerd fährt ins Büro.

0.00 percent of your vision was achieved by reaching the following states:
None

Round 3

Rules:
zeit1-zuhause23 not applied (conditions not met)
zeit1-team not applied (conditions not met)
zeit1-nachts not applied (conditions not met)
zeit1-labor not applied (conditions not met)
zeit1-wecker not applied (conditions not met)
zeit-im-buero applied  (Prob: 100 Rand: 52/100)
zeit-ins-buero not applied (conditions not met)
zeit1-nach1800 not applied (conditions not met)
Current states: Gerd arbeitet.,Gerd ist im Büro.,Es ist Vormittag.

0.00 percent of your vision was achieved by reaching the following states:
None

Round 4

Rules:
zeit1-nach1800 not applied (conditions not met)
zeit-im-buero not applied (conditions not met)
zeit1-zuhause23 not applied (conditions not met)
zeit1-labor not applied (conditions not met)
zeit1-team applied  (Prob: 100 Rand: 41/100)
zeit-ins-buero not applied (conditions not met)
zeit1-nachts not applied (conditions not met)
zeit1-wecker not applied (conditions not met)
Current states: Gerd trifft sein Team beim Essen.,Es ist Mittag.

0.00 percent of your vision was achieved by reaching the following states:
None

Round 5

Rules:
zeit-ins-buero not applied (conditions not met)
zeit1-zuhause23 not applied (conditions not met)
zeit1-wecker not applied (conditions not met)
zeit1-labor applied  (Prob: 100 Rand: 68/100)
zeit-im-buero not applied (conditions not met)
zeit1-team not applied (conditions not met)
zeit1-nachts not applied (conditions not met)
zeit1-nach1800 not applied (conditions not met)
Current states: Es ist Nachmittag.,Gerd macht Experimente.,Gerd ist im Labor.

0.00 percent of your vision was achieved by reaching the following states:
None

Round 6

Rules:
zeit1-nachts not applied (conditions not met)
zeit1-wecker not applied (conditions not met)
zeit1-labor not applied (conditions not met)
zeit1-nach1800 applied  (Prob: 100 Rand: 27/100)
zeit1-zuhause23 not applied (conditions not met)
zeit-ins-buero not applied (conditions not met)
zeit-im-buero not applied (conditions not met)
zeit1-team not applied (conditions not met)
Current states: Es ist nach 18:00h.,Gerd fährt nach Hause.

0.00 percent of your vision was achieved by reaching the following states:
None

Round 7

Rules:
zeit1-zuhause23 applied  (Prob: 100 Rand: 23/100)
zeit1-team not applied (conditions not met)
zeit-ins-buero not applied (conditions not met)
zeit-im-buero not applied (conditions not met)
zeit1-nachts not applied (conditions not met)
zeit1-nach1800 not applied (conditions not met)
zeit1-labor not applied (conditions not met)
zeit1-wecker not applied (conditions not met)
Current states: Gerd geht schlafen.,Es ist nach 23:00h.,Gerd ist zu Hause.

0.00 percent of your vision was achieved by reaching the following states:
None

Round 8

Rules:
zeit1-nach1800 not applied (conditions not met)
zeit-ins-buero not applied (conditions not met)
zeit1-nachts applied  (Prob: 100 Rand: 27/100)
zeit-im-buero not applied (conditions not met)
zeit1-team not applied (conditions not met)
zeit1-labor not applied (conditions not met)
zeit1-zuhause23 not applied (conditions not met)
zeit1-wecker not applied (conditions not met)
Current states: Gerd ist zu Hause.,Gerd schläft.,Es ist 7:00h.

0.00 percent of your vision was achieved by reaching the following states:
None

Round 9

Rules:
zeit1-labor not applied (conditions not met)
zeit1-wecker applied  (Prob: 100 Rand: 37/100)
zeit1-nach1800 not applied (conditions not met)
zeit-im-buero not applied (conditions not met)
zeit1-zuhause23 not applied (conditions not met)
zeit1-nachts not applied (conditions not met)
zeit-ins-buero not applied (conditions not met)
zeit1-team not applied (conditions not met)
Current states: Gerd steht auf und macht sich fertig.,Der Wecker klingelt.

0.00 percent of your vision was achieved by reaching the following states:
None

Round 10

Rules:
zeit1-team not applied (conditions not met)
zeit1-nachts not applied (conditions not met)
zeit-im-buero not applied (conditions not met)
zeit1-wecker not applied (conditions not met)
zeit1-nach1800 not applied (conditions not met)
zeit1-labor not applied (conditions not met)
zeit-ins-buero applied  (Prob: 100 Rand: 59/100)
zeit1-zuhause23 not applied (conditions not met)
Current states: Gerd fährt ins Büro.

0.00 percent of your vision was achieved by reaching the following states:
None
Vorführung einer abgespeicherten Simulation

Hat man sich davon überzeugt, dass die Simulation den Erwartungen entspricht, dann kann man die gespeicherte Simulation künftig zu Demonstrationszwecken neu laden und dann ohne die ganzen Regeln ausgebene, nur die jeweiligen Zustände:

Your vision:
none
Initial states: 
Gerd ist zu Hause.,Gerd schläft.,Es ist 7:00h.

Round 1

Current states: Gerd steht auf und macht sich fertig.,Der Wecker klingelt.

0.00 percent of your vision was achieved by reaching the following states:
None

Round 2

Current states: Gerd fährt ins Büro.

0.00 percent of your vision was achieved by reaching the following states:
None

Round 3

Current states: Gerd arbeitet.,Gerd ist im Büro.,Es ist Vormittag.

0.00 percent of your vision was achieved by reaching the following states:
None

Round 4

Current states: Gerd trifft sein Team beim Essen.,Es ist Mittag.

0.00 percent of your vision was achieved by reaching the following states:
None

Round 5

Current states: Es ist Nachmittag.,Gerd macht Experimente.,Gerd ist im Labor.

0.00 percent of your vision was achieved by reaching the following states:
None

Round 6

Current states: Es ist nach 18:00h.,Gerd fährt nach Hause.

0.00 percent of your vision was achieved by reaching the following states:
None

Round 7

Current states: Gerd geht schlafen.,Es ist nach 23:00h.,Gerd ist zu Hause.

0.00 percent of your vision was achieved by reaching the following states:
None

Round 8

Current states: Gerd ist zu Hause.,Gerd schläft.,Es ist 7:00h.

0.00 percent of your vision was achieved by reaching the following states:
None

Round 9

Current states: Gerd steht auf und macht sich fertig.,Der Wecker klingelt.

0.00 percent of your vision was achieved by reaching the following states:
None

Round 10

Current states: Gerd fährt ins Büro.

0.00 percent of your vision was achieved by reaching the following states:
None

…

Anmerkung zu Visionen

In der aktuellen Version v0.11.0d23 von oksimo gibt es bzgl. der Vision nur die Möglichkeit, entweder gar keine Vision (also kein explizites Ziel) anzugeben (falls man nur bestimmte Abläufe ausprobieren will), oder eine dauerhafte Vision, die allerdings viele Teile umfassen kann.

Damit kann man schon interessante Fälle darstellen und ‚messen‘, aber — wie sich mittlerweile gezeigt hat — ist dieses Ausdrucksmöglichkeit verglichen mit dem Alltag zu wenig.

Im Alltag kommen mindestens noch die folgenden Fälle vor:

  1. Es gibt mehr als eine Vision, die sogar zueinander in Konkurrenz treten können.
  2. Visionen können unterschiedliche Verfallszeiten haben; die einen gelten nur Minuten oder Stunden; andere gelten Tage, Wochen, Monate, oder andere gar viele Jahre.
  3. Visionen sind dynamisch: sie können kommen und gehen. Dies liegt an der dynamischen Natur der personalen Innenzustände. Diese innenzustände können von körperlichen oder psychischen Eigenschaften abhängen, oder sie sind kognitiver Natur: man macht die Verfolgung eines Zieles von kognitiven Erwartungen und Einschätzungen abhängig. Hier spielen u.a. auch Lernprozesse mit hinein.

In künftigen Versionen wird diesen Anforderungen Rechnung getragen werden.