UNIVERSELLE PROZESSPLANUNG
23.Aug. 2021-23.Aug 2021
URL: oksimo.org
Email: info@oksimo.org
Autor: Gerd Doeben-Henisch (gerd@oksimo.org)
KONTEXT
Dieser Text ist Teil des Themas UNIVERSELLE PROZESSE PLANEN – Wie geht das? Strukturelle Eigenschaften, im oksimo.org Blog.
DYNAMISCHE ZIELE/ VISIONEN
Wie man schon im Überblick zur oksimo Roadmap nachlesen kann, sollte die Basisversion um die Möglichkeit erweitert werden, Ziele/ Visionen abhängig von der Situation dynamisch ändern zu können. Im Überblick war dies — relativ abstrakt — wie folgt dargestellt worden:
(0) S,V ⊩ ∑ R V‘
(1) S ⊩ ∑ R S‘
(2) S ⊩ ∑ V %Goal
Die Formeln (1-2) geben das wieder, was von Anfang an möglich war; die neue Formel (0): beschreibt die Möglichkeit, dass ein Visions-Dokument V, das einen Zielzustand beschreibt, mit Hilfe von Veränderungsregeln R genauso abgeändert werden wie ein Zustandsdokument S. Dabei wird sowohl das ‚alte‘ Visions-Dokument V berücksichtigt wie auch der aktuelle Zustand S.
Es folgt ein ausführliches kommentiertes Beispiel.
BEISPIEL: Von Kaffee zu Tee
Im folgenden einfachen Beispiel sitzt eine Person im Café und will eine Tasse Kaffee trinken. Dies ist das aktuelle Ziel (die aktuelle Vision) dieser Person. Als die Person dann ihren Kaffee bekommt und ihn gemütlich trinkt verspürt sie dennoch plötzlich Lust, auch noch einen Tee zu trinken. Sie ändert also ihr Ziel (ihre Vision) zu Tee trinken. Insgesamt also nichts Aufregendes, aber es zeigt, wie die Änderung eines Zieles dynamisch mit oksimo möglich ist.
Benutze Version von oksimo
Da oksimo sich in schneller Entwicklung befindet, hier die Angabe der Version, mit der dieses Beispiel durchgeführt wurde:
Welcome to Oksimo v1.0 23-08-2021 (aaa0)
MAIN MENU
1 is NEW VISION
2 is MANAGE VISIONS
3 is VISION COLLECTIONS
4 is NEW STATE
5 is MANAGE STATES
6 is STATE COLLECTIONS
7 is NEW RULE
8 is MANAGE RULES
9 is RULE DOCUMENT
10 is NEW SIMULATION
11 is MANAGE SIMULATIONS
12 is LOAD SIMULATION
13 is COMBINE SIMULATIONS
14 is SHARE
15 is EXIT SIMULATOR
Enter a Number [1-15] for Menu Option
Es ist also die Version 1.0 vom 23.Aug 2021 mit einem technischen Zusatz (aaa0); letzterer ist nur für die Entwickler interessant.
Vision und Ausgangslage
Vision
CupOfCoffee:
Peter hat eine Tasse Kaffee.
Die Vision besteht in der Aussage, dass Peter eine Tasse Kaffee hat. Dies bedeutet, wenn eine Situation eintreten wird, in der diese Aussage vorkommt, dann gilt das Ziel zu 100% erreicht.
Startsituation
PeterCafe1:
Peter sitzt im Café.
Die Bedienung fragt nach seiner Bestellung.
Die Startsituation nimmt an, dass Peter schon im Café sitzt und die Bedienung ihn fragt, was er denn bestellen will.
Drehbuch
Die Aufgabe besteht nun darin, dass man beschreibt, wie man von der Ausgangslage zum Ziel kommt, das in der Vision beschrieben wird. In der nächsten Version, die der Basisversion folgen wird, geschieht diese Beschreibung dadurch, dass man eine Geschichte in Form eines Drehbuchs schreibt.
Zu Beginn ist normalerweise nicht ganz klar, wie das Drehbuch aussehen soll, auch nimmt oksimo an, dass man dies nicht alleine tut sondern zusammen mit anderen.
Für dieses einfache Beispiel nehmen wir an, wir haben nur einen Autor, der versucht, solch ein Drehbuch zu erstellen. Der Autor fängt mit einer ersten Skizze an, die vielleicht so geht:
- Peter sitzt im Café. Die Bedienung fragt nach seiner Bestellung.
- ???
- Der Kaffee kommt. Peter hat eine Tasse Kaffee. (Vision 1= 100%)
Bekannt ist, wie die Geschichte anfangen soll und irgendwie kann man sich vorstellen, wie das Ende aussehen sollte: der Satz „Peter hat eine Tasse Kaffee.“ sollte vorkommen. Damit der Kaffee da ist, macht es Sinn zu sagen, dass der Kaffee kommt. Von der Alltagserfahrung her würde man sagen, dass da doch noch etwas fehlt: normalerweise kommt der Kaffee nur dann, wenn man ihn zuvor bestellt hat. Also könnte es Sinn machen, die Geschichte wie folgt zu erweitern:
- Peter sitzt im Café. Die Bedienung fragt nach seiner Bestellung.
- Peter bestellt eine Tasse Kaffee. Die Bestellung ist aufgegeben.
- Der Kaffee kommt. Peter hat eine Tasse Kaffee. (Vision 1= 100%)
Das könnte tatsächlich passieren. Peter bestellt und wenn dann die Bestellung korrekt kommt, hat er seinen gewünschten Kaffee.
Veränderungs-Regeln: Die Erste
Dies könnte man sich dann in oksimo auch als Simulation vorführen lassen. Dazu braucht man — ausgehend von dem Drehbuch — sogenannte Veränderungsregeln. In der Standard-Version werden diese aus dem Text heraus automatisch generiert, hier in der Basis-Version muss man sie sich noch selbst hinschreiben. Folgende Veränderungs-Regeln könnte man aufschreiben:
OrderCupCoffee:
Rule name: OrderCupCoffee
Probability: 1.0
Conditions:
Die Bedienung fragt nach seiner Bestellung.
Peter sitzt im Café.
Effects plus:
Peter bestellt eine Tasse Kaffee.
Die Bestellung ist aufgegeben.
Effects minus:
Die Bedienung fragt nach seiner Bestellung.> OrderCupCoffee
Diese Regel knüpft an der Ausgangssituation an (Conditions: …). Wenn die Äußerungen aus der Bedingung (Conditions) in einer aktuellen Situation gegeben sind, dann werden die Ausdrücke aus Eminus aus der aktuellen Situation entfernt und und die Ausdrücke aus Eplus hinzugefügt.
Wenn man sehen möchte, wieweit eine Simulation mit nur einer Regel führt, könnte man in oksimo einfach eine Simulation starten. Das Ergebnis wäre das Folgende:
Test Simulation mit einer Regel
Selected visions:
CupOfCoffee
Selected states:
PeterCafe1
Selected rules:
OrderCupCoffee
Zu Beginn der Simulation wird angegeben, welche Vision, welcher Anfangszustand und welche Regeln vorliegen.
Enter maximum number of simulation rounds
2
Your vision:
Peter hat eine Tasse Kaffee.
Initial states:
Peter sitzt im Café.,Die Bedienung fragt nach seiner Bestellung.
Die Vision beginnt mit der Anzeige des Inhalts der Vision wie auch des Inhalts des Anfangszustands.
Round 1
State rules:
OrderCupCoffee applied (Prob: 100 Rand: 57/100)
Vision rules:
Current states: Peter sitzt im Café.,Peter bestellt eine Tasse Kaffee.,Die Bestellung ist aufgegeben.
Current visions: Peter hat eine Tasse Kaffee.
0.00 percent of your vision was achieved by reaching the following states:
None
In Runde 1 werden jene Regel angezeigt, die auf Zustände angewendet werden (hier nur eine Regel) und welche Regeln zur Veränderung von Visionen angewendet werden (bislang gibt es keine solche Regel). Dann wird der aktuelle Zustand angezeigt, wie er nach Anwendung der ersten Regel entstanden ist. Man sieht, dass Peter hier eine Bestellung aufgibt und die fragende Bedienung ist nicht mehr da. Ob eine aktuelle Situation als Erfolgt gewertet werden kann, kann man an der aktuellen Vision ablesen: Dort wird gesagt, dass der Ausdruck „Peter hat eine Tasse Kaffee.“ vorkommen muss. Das ist nicht der Fall, daher der Erfolg = 0%.
Round 2
State rules:
OrderCupCoffee not applied (conditions not met)
Vision rules:
Current states: Peter sitzt im Café.,Peter bestellt eine Tasse Kaffee.,Die Bestellung ist aufgegeben.
Current visions: Peter hat eine Tasse Kaffee.
0.00 percent of your vision was achieved by reaching the following states:
None
Geht man in der Simulation eine Runde weiter, dann sieht man, dass sich weiter nichts verändert hat, was kein Wunder ist, da es ja keine weitere Regel gibt.
Veränderungs-Regeln: Noch eine Regel
Anhand des Drehbuchs sieht man, welche Ausdrücke jetzt noch fehlen. Also schreibt man noch eine Regel:
CoffeeIsComing:
Rule name: CoffeeIsComing
Probability: 1.0
Conditions:
Die Bestellung ist aufgegeben.
Peter sitzt im Café.
Effects plus:
Der Kaffee kommt.
Peter hat eine Tasse Kaffee.
Effects minus:
Peter bestellt eine Tasse Kaffee.
Die Bestellung ist aufgegeben.
Diese Regel knüpft an die Situation an, in der Peter seine Bestellung aufgegeben hat. Die Ausdrücke in Eminus werden aus der aktuellen Situation entfernt und jene von Eplus neu hinzugefügt. Am wichtigsten ist der neue Ausdruck „Peter hat eine Tasse Kaffee.“ Diese entspricht dem aktuellen Ziel. Reicht das schon für dieses Ziel?
Test Simulation mit zwei Regeln
Selected visions:
CupOfCoffee
Selected states:
PeterCafe1
Selected rules:
OrderCupCoffee
CoffeeIsComing
Man sieht sofort, dass es jetzt zwei Regeln gibt, die berücksichtigt werden sollen.
Enter maximum number of simulation rounds
3
Your vision:
Peter hat eine Tasse Kaffee.
Initial states:
Peter sitzt im Café.,Die Bedienung fragt nach seiner Bestellung.
Die Angabe der Vision und des Anfangszustands ist unverändert.
Round 1
State rules:
OrderCupCoffee applied (Prob: 100 Rand: 44/100)
CoffeeIsComing not applied (conditions not met)
Vision rules:
Current states: Peter sitzt im Café.,Peter bestellt eine Tasse Kaffee.,Die Bestellung ist aufgegeben.
Current visions: Peter hat eine Tasse Kaffee.
0.00 percent of your vision was achieved by reaching the following states:
None
Man sieht, dass von den beiden möglichen Regeln für Zustände eine angewendet wurde. Eine Regel zur Veränderungen der Vison(en) gibt es immer noch nicht. Runde 1 verläuft wie schon in der vorausgehenden Simulation.
Round 2
State rules:
OrderCupCoffee not applied (conditions not met)
CoffeeIsComing applied (Prob: 100 Rand: 75/100)
Vision rules:
Current states: Peter hat eine Tasse Kaffee.,Peter sitzt im Café.,Der Kaffee kommt.
Current visions: Peter hat eine Tasse Kaffee.
100.00 percent of your vision was achieved by reaching the following states:
Peter hat eine Tasse Kaffee.,
In Runde 2 wird die neue Regel erstmalig angewendet. Dadurch hat Peter jetzt eine Tasse Kaffee und damit ist das Ziel zu 100% erreicht.
Round 3
Weiter keine Änderungen.
Änderung der Vision (Erweiterung des Drehbuchs)
Das Neue in der aktuellen Version 1.0 vom 23.Aug.2021 von oksimo ist ja, dass man Visionen während des Verlaufs ändern kann. Die Gründe für solch eine Änderungen können vielfältige sein. Um dies darstellen zu können, wurde das Drehbuch wie folgt erweitert:
- Peter sitzt im Café. Die Bedienung fragt nach seiner Bestellung.
- Peter bestellt eine Tasse Kaffee. Die Bestellung ist aufgegeben.
- Der Kaffee kommt. Peter hat eine Tasse Kaffee. (Vision 1= 100%)
- Peter trinkt die Tasse Kaffee langsam aus.
- Plötzlich hat Peter Lust auf Tee. Peter bestellt noch einen Tee.
- Der Tee kommt. Peter hat eine Tasse Tee. (Vision 2 = 100%)
In diesem Drehbuch trinkt Peter erst noch genüsslich an seinem Kaffee bis er plötzlich — warum auch immer — Lust verspürt, doch noch einen Tee zu trinken.
Um dies als Simulation zu realisieren, braucht normalerweise nur zwei Regeln, um den jeweils aktuellen Zustand zu verändern. Dies kann man z.B. mit den folgenden beiden Regeln machen:
NewOrderTea:
Rule name: NewOrderTea
Probability: 1.0
Conditions:
Peter sitzt im Café.
Peter hat eine Tasse Kaffee
Peter trinkt die Tasse Kaffee langsam aus.
Effects plus:
Plötzlich hat Peter Lust auf Tee.
Peter bestellt noch einen Tee.
Effects minus:
Peter trinkt die Tasse Kaffee langsam aus.
Peter hat eine Tasse Kaffee.
Diese Regel beschreibt, wie Peter plötzlich Lust auf eine Tasse Tee hat und eine solche bestellt. Ferner:
HavingTea:
Rule name: HavingTea
Probability: 1.0
Conditions:
Peter sitzt im Café.
Plötzlich hat Peter Lust auf Tee.
Effects plus:
Der Tee kommt.
Peter hat eine Tasse Tee.
Effects minus:
Plötzlich hat Peter Lust auf Tee.
Peter bestellt noch einen Tee.
In dieser Regel wird dann noch gesagt, dass der Tee kommt und „Peter hat eine Tasse Tee.“ Würde man die Simulation mit diesen beiden zusätzlichen Regeln ablaufen lassen, dann würde genau die Situation entstehen, dass Peter einen Tee bestellt und ihn bekommt. Es würde aber keine weitere Auswertung stattfinden. Die erreichte Situation wäre neutral, also unbelastet von einer Vision/ einem Ziel. Möchte man aber die Dimension eines Zieles/ einer Vision aktiv halten, dann müsste man die Zieländerung explizit deutlich machen. Dies geschieht durch Erstellen einer Visions-Regel. Eine mögliche Version ist die folgende:
VisionNewOrderTea:
Rule name: VisionNewOrderTea
Probability: 1.0
Conditions:
Plötzlich hat Peter Lust auf Tee.
Peter bestellt noch einen Tee.
Effects plus:
Peter hat eine Tasse Tee.
Effects minus:
Peter hat eine Tasse Kaffee.
Diese Regel sieht genauso aus wie eine Regel zur Veränderung eines Zustands und doch ist diese Regel eine Visions-Änderungs-Regel. Das oksimo System erkennt dies nur daran, dass beim Erstellen einer Visions-Änderungs-Regel bei der Eingabe ein ‚V‘ angegeben werden muss:
Enter the name of the new rules document:
VISION-DUMMY
Enter V for Vision Rule, leave blank for State Rule:
V
Wenn eine Veränderungs-Regel mit ‚V‘ markiert wurde, interpretiert das oksimo System diese Regel anders. Der Inhalt der Eplus-Sektion wird dann als Inhalt einer neuen Vision genommen. Der Inhalt der Eminus Sektion wird aus bestehenden Visionen entfernt, falls er vorkommen sollte. Und diese Änderungen werden nur wirksam, wenn die Ausdrücke aus dem Bedingungsteil (Conditions) in einem aktuellen Zustand gegeben sind.
Wie wird die Simulation aussehen?
Schauen wir uns das an.
Test Simulation mit 4 Regeln für Zustände und einer Regel für Visionen
Selected visions:
CupOfCoffee
Selected states:
PeterCafe1
Selected rules:
OrderCupCoffee
CoffeeIsComing
HavingACoffee
NewOrderTea
HavingTea
VisionNewOrderTea
Man sieht hier, dass die ursprüngliche Vision und der ursprüngliche Anfangszustand weiterhin bestehen, nur die Menge der Regeln hat zugenommen, mit einer Visions-Änderungs-Regel, die hier noch zusammen mit den anderen Zustands-Änderungs-Regeln aufgeführt wird.
Enter maximum number of simulation rounds
8
Your vision:
Peter hat eine Tasse Kaffee.
Initial states:
Peter sitzt im Café.,Die Bedienung fragt nach seiner Bestellung.
Round 1
State rules:
HavingACoffee not applied (conditions not met)
NewOrderTea not applied (conditions not met)
CoffeeIsComing not applied (conditions not met)
OrderCupCoffee applied (Prob: 100 Rand: 83/100)
HavingTea not applied (conditions not met)
Vision rules:
VisionNewOrderTea not applied (conditions not met)
Current states: Peter sitzt im Café.,Peter bestellt eine Tasse Kaffee.,Die Bestellung ist aufgegeben.
Current visions: Peter hat eine Tasse Kaffee.
0.00 percent of your vision was achieved by reaching the following states:
None
In der ersten Runde werden die Zustands-Änderungs-Regeln getrennt angezeigt von der neuen Visions-Änderungs-Regel. Alles andere ist wie in den vorausgehenden Beispielen.
Round 2
State rules:
HavingACoffee not applied (conditions not met)
HavingTea not applied (conditions not met)
NewOrderTea not applied (conditions not met)
CoffeeIsComing applied (Prob: 100 Rand: 81/100)
OrderCupCoffee not applied (conditions not met)
Vision rules:
VisionNewOrderTea not applied (conditions not met)
Current states: Peter hat eine Tasse Kaffee.,Peter sitzt im Café.,Der Kaffee kommt.
Current visions: Peter hat eine Tasse Kaffee.
100.00 percent of your vision was achieved by reaching the following states:
Peter hat eine Tasse Kaffee.,
Schon in der zweiten Runde ist das erste Ziel zu 100% erreicht.
Round 3
State rules:
NewOrderTea not applied (conditions not met)
HavingTea not applied (conditions not met)
HavingACoffee applied (Prob: 100 Rand: 55/100)
OrderCupCoffee not applied (conditions not met)
CoffeeIsComing not applied (conditions not met)
Vision rules:
VisionNewOrderTea not applied (conditions not met)
Current states: Peter hat eine Tasse Kaffee.,Peter sitzt im Café.,Peter trinkt die Tasse Kaffee langsam aus.
Current visions: Peter hat eine Tasse Kaffee.
100.00 percent of your vision was achieved by reaching the following states:
Peter hat eine Tasse Kaffee.,
Da Peter auch in der Runde 3 noch eine Tasse Kaffee hat, bleibt die Zielerfüllung erhalten.
Round 4
State rules:
CoffeeIsComing not applied (conditions not met)
HavingACoffee not applied (conditions not met)
OrderCupCoffee not applied (conditions not met)
HavingTea not applied (conditions not met)
NewOrderTea applied (Prob: 100 Rand: 63/100)
Vision rules:
VisionNewOrderTea not applied (conditions not met)
Current states: Peter sitzt im Café.,Plötzlich hat Peter Lust auf Tee.,Peter bestellt noch einen Tee.
Current visions: Peter hat eine Tasse Kaffee.
0.00 percent of your vision was achieved by reaching the following states:
None
In Runde 4 ist die Tasse Kaffe nicht mehr da, aber das Ziel 1 ist noch aktiv, weswegen 0% Zielerfüllung angezeigt wird. Man könne an dieser Stelle einwenden, dass man das Ziel 1 dann auch deaktivieren sollte, was möglich wäre. In diesem Drehbuch findet die Umänderung zum neuen Ziel aber erst jetzt statt:
Round 5
State rules:
CoffeeIsComing not applied (conditions not met)
OrderCupCoffee not applied (conditions not met)
HavingACoffee not applied (conditions not met)
HavingTea applied (Prob: 100 Rand: 44/100)
NewOrderTea not applied (conditions not met)
Vision rules:
VisionNewOrderTea applied (Prob: 100 Rand: 68/100)
Current states: Peter sitzt im Café.,Der Tee kommt.,Peter hat eine Tasse Tee.
Current visions: Peter hat eine Tasse Tee.
100.00 percent of your vision was achieved by reaching the following states:
Peter hat eine Tasse Tee.,
In Runde 5 wurde die neue Visions-Änderungs-Regel angewendet, was man sowohl daran erkennen kann, dass die Regel angewendet wurde als auch daran, dass jetzt die Vision inhaltlich neu befüllt wurde. Und da tatsächlich auch eine Tasse Tee da ist, wird das neue Ziel gleich zu 100% erfüllt.
Round 6
Ab Runde 6 verändert sich jetzt nichts mehr, da es keine weiteren Regeln gibt, die etwas bewirken. Es sei hier aber daran erinnert, dass man auch Schleifen (Loops) einbauen könnte, Verzeigungen, und vieles mehr, wodurch man einen Prozess in einen dynamischen nicht mehr endenden Prozess verwandeln kann.