Archiv der Kategorie: Alltagssprache

EMPIRISCHE THEORIE, NACHHALTIGKEIT und POLITIK als HINTERGRUND für die OKSIMO-SW

(Start: 11.Juli 2024, Letzte Änderung: 12.Juli 2024)

Autor: Gerd Doeben-Henisch

Email: kontakt@gdh-oksimo.org

KONTEXT

Dieser Text gehört zum Thema KONZEPT des Blogs sw-de.oksimo.org.

Wofür die oksimo SW geschaffen wurde

MENSCHEN IM ALLTAG UNTERSTÜTZEN

In der Welt der Software kann man Software danach unterscheiden, ob sie geschaffen wurde, um direkt eine Maschine — meist Computer genannt — zu programmieren, oder ob sie geschaffen wurde, Tätigkeiten von Menschen im Alltag zu unterstützen. Bekannte Beispiele für die letztere Art von Software sind z.B. Textprogramme, Kalkulationsprogramme, Programme zur Musikerzeugung, Videoschnittprogramme und Ähnliches.

ZIELE ERREICHEN

Bei der oksimo Software handelt es sich auch um ein Programm, das Menschen im Alltag unterstützen soll. Gedacht ist hier an Gruppen von Menschen, die mit Blick auf erstrebenswerte Ziele in der Zukunft versuchen, gemeinsam einen Prozesse zu beschreiben, mit dem sie aus der Gegenwart heraus über Zwischenstationen zu den gewünschten Zielzuständen kommen können.

Wie eine Gruppe von Menschen (Bürger, Gemeindevertreter, ein Verein, eine Behörde, …) überhaupt zu Zielvorstellungen findet, auf die man sich einigt, das ist kein direkter Beitrag der oksimo SW. Ihr Einsatz setzt vielmehr voraus, dass man sich schon auf mindestens ein Ziel geeinigt hat. Allerdings kann die oksimo SW indirekt helfen, die ‚Qualität‘ eines Zieles oder eines ganzen ‚Bündels von Zielen‘ besser abzuschätzen, weil die Ausarbeitung des Weges zu einem Ziel (die ‚Prozessbeschreibung‘) sehr viele Fragen aufwerfen kann, deren Beantwortung dann zu Zweifeln führt, ob das ursprüngliche Ziel wirklich Sinn macht. Umgekehrt kann die Ausarbeitung des Weges auch die Überzeugung stärken, dass man ‚auf dem richtigen Weg‘ ist.

FORM EINER THEORIE

Diese Klärung von Zielen auch mit Blick auf die notwendigen Schritte gehört zur ‚Umgebung‘ der oksimo Software, zur ‚Anwendungssituation‘, innerhalb deren ein ‚oksimo Software-Text‘ entsteht. Ein solcher oksimo-Software Text hat die Form einer ‚empirischen Theorie (ET)‘, die, falls sie auch mit mindestens einem Ziel verknüpft ist, inhaltlich dem entspricht, was man eine ’nachhaltige empirische Theorie (NET)‘ nennen kann.

VORTEIL VON ZIELEN

Während eine empirische Theorie ‚für sich‘ nur beschreibt, welche ‚Veränderungen‘ bei einer ‚gegebenen Situation‘ auftreten können, ermöglicht die Verbindung mit einem ‚Ziel‘ eine ‚Bewertung‘ des Prozesses: wendet man auf eine gegebene Situation immer wieder all jene Veränderungen an, die möglich sind, dann entsteht eine Folge von Situationen, und mit Blick auf ein ‚Ziel‘ kann man dann bewerten, ob diese Folge von Situationen sich dem Ziel ’nähert‘ oder eher nicht. Eine solche Bewertung ist natürlich nur möglich, wenn es zwischen der Beschreibung eines Zieles und der Beschreibung einer gegebenen Situation hinreichende Ähnlichkeiten gibt.

Beispiel: Wenn die Beschreibung einer gegebenen Situation lauten würde „Die Ampel ist rot“ und die Beschreibung des Zieles würde lauten „Die Ampel ist grün“ und sämtlich stattfindenden Veränderungen würden den Zustand „Die Ampel ist rot“ nicht ändern, dann bliebe das Ziel unerreichbar, es sei denn, irgend etwas würde passieren, dass die Ampel von rot auf grün wechselt.

NOTWENDIGE VORAUSSETZUNGEN

Insgesamt setzt die Anwendung der oksimo-Software also voraus, dass es eine Gruppe von Menschen gibt, die (i) mindestens eine gemeinsame Sprache beherrschen, mit der sich alle verständigen können; die sich (ii) auf mindestens ein Ziel einigen können, das sie gemeinsam erreichen wollen ; die sich (iii) auf eine Ausgangslage festlegen können, von der aus das Ziel erreicht werden soll, und die (iv) sich auf eine Menge von Veränderungen einigen können, die sie alle als möglich und realistisch ansehen, so dass eine gegebene Situation damit so ‚verändert‘ werden kann, dass durch diese Veränderung eine ’neue‘ Situation entsteht. Es wird zudem (v) von allen angenommen, dass die Menge der vereinbarten Veränderungen sich sowohl auf die Ausgangslage als auch auf mögliche Folge-Situationen so lange anwenden lassen, bis der vereinbarte Zielzustand erreicht wird.

Beispiel: Die Anwendung einer oksimo-Software kann man mit dem Spielen eines Brettspiels vergleichen, z.B. ‚Mensch ärgere dich nicht‘: Die Gruppe von Menschen sind die Spieler, die sich auf das Spielbrett mit den verschiedenen Figuren und Würfel als Ausgangslage einigen. Das Ziel ist das Erreichen der Zielfelder. Die Spielregeln beschreiben die möglichen Veränderungen. Die geordnete Anwendung der Spielregeln führt dann zu einer Abfolge von Spielsituationen, an deren Ende normalerweise ein Spieler als erster alle Zielfelder besetzt hat.

SPRACHLICHE BESCHREIBUNG: START UND VERÄNDERUNGEN

Im Normalfall umfasst eine Anwendergruppe der oksimo Software mehr als ein Mitglied und es gibt mindestens eine Sprache, die alle verstehen (z.B. Deutsch oder Englisch). Um sich zu verständigen, welche aktuelle Situation so verändert werden soll, dass mit diesen Veränderungen in absehbarer Zeit eine angezielte zukünftige Situation erreicht werden kann, müssen die Mitglieder der Anwendungsgruppe ’sprachliche Beschreibungen‘ erstellen, die allen Beteiligten zugänglich sind.

Ein Vater mit zwei Kindern steht am Rand einer Straße und beobachtet, wie ein Auto vor einer roten Ampel hält. Wenn jetzt ein Kind fragt, warum das Auto nicht fährt, könnte er sagen: „Die Ampel ist rot“ (ein Sachverhalt, den man mit eigenen Augen auch beobachten kann). Wenn das Kind dann fragt, wann das Auto weiter fährt, dann könnte er sagen, dass das Auto weiter fährt wenn gilt „Die Ampel ist grün“. Die Kinder können beobachten, wie die Ampel grün wird und das Auto tatsächlich weiter fährt. Wenn der Vater mit seinen beiden Kindern noch einen Moment stehen bleibt, dann können die Kinder sehen, wie die Ampel wieder auf den Zustand rot wechselt. Für den ganzen Vorgang könnten die Kinder jetzt folgende Beschreibung aufstellen:

  1. START: „Die Ampel ist rot“
  2. VERÄNDERUNG 1: Wenn gilt „Die Ampel ist rot“, dann gilt etwas später „Die Ampel ist grün“.
  3. VERÄNDERUNG 2: Wenn gilt „Die Ampel ist grün“, dann gilt etwas später „Die Ampel ist rot“.

Ob etwas ‚gilt‘ oder ’nicht gilt‘, das müssen die Anwender der oksimo Software durch eigene Beobachtung feststellen. Solange die Ampelanlage ‚in Betrieb ist‘, wird man den Wechsel von rot zu grün und umgekehrt beobachten können. Fällt die Ampelanlage aus, dann lassen sich die Regeln nicht anwenden.

ANWENDUNG VON VERÄNDERUNGEN

Für die Anwendung eines oksimo Anwendungstextes muss man also eigentlich nur eine allgemeine ‚Anwendungsregel‘ kennen:

Wenn es eine aktuelle Anwendungssituation S gibt, die durch eine endliche Menge von sprachlichen Ausdrücken S = {A1, A2, …, An} beschrieben wird, und es gibt eine Veränderungsregel V mit der Struktur ‚WENN X DANN Y‘, dann wird in der Anwendungssituation S ein Ausdruck Ai durch einen Ausdruck Y ersetzt, wenn der Ausdruck X in S vorkommt.

Beispiel: Angenommen S= {Die Ampel ist rot} und angenommen V1={Wenn „Die Ampel ist rot“, dann „Die Ampel ist grün“}, dann kommt der Ausdruck „Die Ampel ist rot“ in S vor und wird durch den Ausdruck „Die Ampel ist grün“ ersetzt. Die Nachfolgesituation S‘ von S lautet dann S’= {Die Ampel ist grün}. Und wenn es die weitere Regel gibt V2={Wenn „Die Ampel ist grün“, dann „Die Ampel ist rot“}, dann würde die Regel V2 sich auf die Situation S‘ anwenden lassen es käme zur Nachfolgesituation S“={Die Ampel ist rot}.

FORMALE ABKÜRZUNGEN: SCHLUSSFOLGERN & SIMULIEREN

In der modernen Logik — eine Art ‚Theorie des Folgerns‘ — nennt man die ‚Anwendung einer Veränderungsregel auf eine gegebene Situation‘ auch ‚folgern‘ oder ’schließen‘ und nennt den gesamten Anwendungsbegriff auch ‚Folgerungsbegriff‘. Dieser Folgerungsbegriff wird gerne mit dem Zeichen ‚⊢‘ abgekürzt.

Hat man — wie im Beispiel oben — eine Menge von Ausdrücken S als aktuelle Anwendungssituation und eine Menge von Veränderungsregeln V, dann könnte man mit der neuen Abkürzung auch schreiben:

S V S‘

was besagen würde: wenn ich eine endliche Menge von Ausdrücken S habe, dazu eine nicht leere Menge von Veränderungsregeln V, dann beschreibt der Folgerungsbegriff ‚⊢‘, wie man die Veränderungsregeln V so auf die Menge der Ausdrücke S anwendet, dass daraus eine neue Menge S‘ von Ausdrücken hervorgeht.

Im Normalfall wären es die Anwender selbst — also Menschen, Bürger, … –, die ‚verstehen‘, wie sie im Sinne einer Folgerung Veränderungsregeln V auf eine gegebene Menge von Ausdrücken S anwenden würden, um eine neue Menge von Ausdrücken S‘ zu bekommen.

Mit Hilfe der oksimo Software können die Anwender ihre Beschreibungen von aktuellen Situationen S und möglichen Veränderungen V aber als Texte der oksimo Software übergeben, und diese würde dann für die Anwender den oben beschriebenen Folgerungsbegriff ‚⊢‘ für die Anwender ‚automatisch‘ anwenden, so dass die Anwender nur noch zuschauen müssen, welche Folgesituationen S‘, S“, S“‘ usw. von der oksimo Software generiert werden. Es kann also eine ganze ‚Folge von Schlussfolgerungen‘ entstehen. Üblicherweise nennt man eine ‚Folge von Schlußfolgerungen‘ auch eine ‚Simulation‘.

S V S‘, S‘ V S“, S“ V S“‘, …

TRANSPARENTE UNTERSTÜTZUNG

Diese Erklärungen machen deutlich, dass die oksimo Software nichts tut, was nicht auch die menschlichen Anwender tun würden. Dadurch, dass alle Ausdrücke in den benutzten Texten Ausdrücke einer gemeinsamen Alltagssprache sind, kann auch jeder direkt alles verstehen, was innerhalb einer Simulation passiert. Die Anwendung der oksimo Software geschieht also in ‚vollständiger Transparenz‘. Damit kann jeder Beteiligte auch jederzeit selbst die Software ändern: spezielle Programmierkenntnisse sind nicht notwendig. Was man allerdings wissen und verstehen muss, das ist der reale Prozess selbst, z.B. dass Ampeln von rot auf grün wechseln können und wieder zurück.

OKSIMO-BEISPIEL: T-gerd-hungrig-v2d

Letzte Änderung: 12.Jan 2024, 15:35 h CET

Autor: Gerd Doeben-Henisch

Email: kontakt@sw-de.oksimo.org

KONTEXT

Dieser Text gehört zum Thema oksimo Beispiele.

T-gerd-hungrig-v2d

(T-gerd-hungrig-v2d-en !)

/* Es gibt jetzt auch eine Englische Version: Diese entsteht dadurch, dass man die deutschen Texte durch englischen Texte ersetzt. Alles andere bleibt gleich. Wer will, kann sich dies auf der oksimo Software Seite anschauen, siehe: https://oksimo.com/public_theories :

Zugang zur Simulation

In diesem Beispiel wird eine erste kleine Theorie entwickelt und getestet. Dazu wird das oksimo Interface auf der Seite https://oksimo.com benutzt. Bis auf weiteres ist der direkte Zugang nur für registrierte Benutzer möglich. Die graphische Benutzerschnittstelle (GUI) enthält noch einige Fehler und muss noch eine Weile getestet werden. Im folgenden — und weiteren — Beispielen kann man aber schon mal sehen, wie die Software arbeitet. Wer will, kann über die öffentliche Schnittstelle https://oksimo.com/public_theories dieses Theoriebeispiel aufrufen und selbst testen.

Es erscheint dann ein Pop-Up Menü, bei dem man die gewünschte Zahl der Simulationsrunden angeben kann (es reichen 6) und wie detailliert der Output sein soll. Ohne Häkchen sieht man den normalen Simulationslauf, mit Häkchen sieht man, welche Veränderungsregeln in jeder Runde angewendet worden sind. Letzteres kann sehr aufschlussreich sein, wenn man Verstehen will (Transparenz, Vertrauen, …!) , wie das Ergebnis zustande kommt.

Theorie und Software

Wie schon im Abschnitt Nachhaltige Empirische Theorie und die oksimo Software schematisch beschrieben worden ist, gibt es eine direkte strukturelle Entsprechung zwischen dem Konzept einer nachhaltigen empirischen Theorie (NET) und der oksimo Software. Dies wird in dem nachfolgenden Schaubild nochmals verdeutlicht.

BILD : Beziehung zwischen dem Schema einer nachhaltigen empirischen Theorie und dem Schema des oksimo Editors.

Am Beispiel der kleinen Demo-Theorie T-gerd-hungrig-v2d soll dies hier in einzelnen Schritten gezeigt werden.

Idee von T-gerd-hungrig-v2d

Die Demo-Theorie T-gerd-hungrig-v2d besitzt alle Elemente, die man im Rahmen der oksimo Software benutzen kann. Deren Verwendung wird am Beispiel der Geschichte von der Person Gerd illustriert, die hungrig ist, und den Wunsch (= das Ziel, die Vision) hat, nicht mehr hungrig zu sein. Dazu entscheidet sich Gerd, in ein nahe gelegenes griechisches Bistro zu gehen, dort etwas zu essen, um so seinen Hunger zu stillen.

Normalerweise würde niemand in solch einem Fall von einer ‚Theorie‘ sprechen, erst Recht nicht von einer ’nachhaltigen empirischen Theorie‘, aber die Beschreibung dieses Vorgangs kann sehr wohl im Format einer nachhaltigen empirischen Theorie vorgenommen werden. Dies liegt daran, dass man den Vorgang mit folgenden Elementen konstruieren kann:

  1. Es gibt einen Ausgangszustand, ein IST-Zustand, den man beschreiben kann.
  2. Es gibt eine Reihe von Veränderungsregeln (Regeln, Rules), die man auf die Ausgangssituation anwenden kann, um nachfolgende Zustände generieren (ableiten) zu können.
  3. Die Anwendung von Veränderungsregeln auf einen gegebenen Zustand wird durch den Simulator (der einen Folgerungsbegriff realisiert) vorgenommen.
  4. Sofern ein Ziel (Vision) vorgegeben wurde, kann man bei jedem Folgezustand nachschauen, ob und wie viel dieser mit dem Ziel übereinstimmt. Im Idealfall können dies 100% sein.

Wer nachdenkt wird feststellen, dass dieses Schema auf fast alles anwendbar ist, was wir im Alltag erleben. Dies liegt daran, dass der Alltag sich letztlich aus ganz vielen Prozessen zusammensetzt, die alle zusammen genommen einen großen Prozess bilden, in dem sich die jeweilige ‚Fortsetzung‘ (Zukunft) formt. Insbesondere sind alle Spiele als nachhaltige empirische Theorien rekonstruierbar, jede Theateraufführung, und vieles mehr.

Der Theorie-Kopf

Beim Editieren einer Theorie kann man einen Namen vergeben (T-gerd-hungrig-v2d) und eine kurze Beschreibung (Description) verfassen. Das Format der Beschreibung ist frei.

Die Vision (das Ziel)

Eine Vision (ein Ziel) kann man angeben, muss es aber nicht. Ohne ein explizites Ziel kann man untersuchen, welche Folgen sich aus einem Anfangszustand ergeben können. Dies kann man entweder einfach als ‚Gedankenexperiment‘ sehen (Roman, Drehbuch, Spiel, Vorwegnahme eines echten Experiments, …) oder als Versuch, mit bekannten empirischen Daten mögliche empirische Szenarien durch zu spielen.

Mit einem expliziten Ziel (dem Mut zu einer Vision) eröffnet sich die Möglichkeit, einen skizzierten Ablauf darauf hin explizit zu prüfen, ob und wie der geplante Ablauf tatsächlich das gegebene Ziel erreicht. Dies ermöglicht also eine ganz neue Transparenz bei dem Versuch, bestimmte Ziele zu erreichen.

Text und Mathematik

Wie man schon zu Beginn bei der Vorstellung der möglichen Vision einer nachhaltigen Theorie erkennt, wird in der oksimo Software zwischen Text und Mathematik unterschieden. Man kann entweder nur mit Text arbeiten oder nur mit Mathematik oder mit einer Kombination von beidem.

Das Motiv hinter dieser Unterscheidung liegt in Folgendem:

  1. Aus Sicht einer Theorie ist auch die Mathematik in erster Linie eine Sprache (!), wenngleich eine spezielle Sprache.
  2. Im Rahmen unserer Alltagssprache können wir mathematische Sprache einbauen oder nicht. Im Prinzip kann man alles ohne die Benutzung der mathematischen Sprache benutzen.
  3. Es gibt aber viele Fälle, da bietet die mathematische Sprache Ausdrucksmöglichkeiten, die extrem hilfreich sind; auf diese freiwillig zu verzichten wäre irgendwie ‚blöd‘. Wenn man z.B. Einkaufen will und dürfte keine mathematischen Ausdrücke benutzen, dann hätte man große Probleme (z.B. wie viel will man von was; wie viel kostet etwas; …). Der Alltag ist voll von Situationen, in denen man mathematische Ausdrücke braucht, um schnell klar zu kommen. Ein anderes Beispiel ist die Zeit. Wenn man nur ‚morgens‘, ‚mittags‘ oder ‚abends‘ sagen kann, ist dies für viele Absprachen (Koordinierungen) zu wenig. Dazu wurden ja Maschinen erfunden, die wie Uhren nennen, und diese Uhren erlauben Zeitangaben, die wir mit mathematischer Sprache ausdrücken (z.B. 12:00h oder 4 Uhr nachmittags oder …)

In der oksimo Programmiersprache kann man die Vorteile beider Arten von Sprache benutzen und kombinieren.

Im Fall der Vision wird nur die normale Sprache benutzt. Der Ausdruck „Gerd ist nicht hungrig.“ ist in Alltagssprache formuliert; die meisten dürften diesen Ausdruck verstehen. Dieser Ausdruck beschreibt einen Sachverhalt, in dem eine Person (hier: Gerd) nicht hungrig ist. Da dieser Ausdruck als Vision (Ziel) eingeführt wird, bedeutet dies, dass diese Theorie einen möglichen Prozess untersucht, der in einem möglichen zukünftigen Zustand endet, in dem der Gerd eben nicht hungrig ist.

Zustände

Der Abschnitt States beschreibt hier den Anfangszustand eines Prozesses, mit dem man sich in der Theorie beschäftigen will. Dieser Anfangszustand kann entweder rein erfunden sein, also fiktiv, oder aber er kann eine echte reale Situation beschreiben. Dabei kann jede Beschreibung einer Situation die erst fiktiv ist, irgendwann auch mal real sein, und umgekehrt. Wenn z.B. in einer Situation jemand sagt „Es regnet“ (weil es gerade regnet), dann trifft diese Beschreibung empirisch zu. Wenn diese Beschreibung aufgeschrieben wird, mit Uhrzeit, dann kann es sein, dass die Beschreibung wenige Minuten später schon nicht mehr zutrifft, und umgekehrt: Jemand sagt in sein Handy, dass es hier gerade nicht regnen würde, und im nächsten Moment fängt es an zu regnen.

Hier wird die alltagssprachliche Beschreibung (Text) noch um einen mathematischen Ausdruck ergänzt: „Zeit=12Uhr“. Es handelt sich hier um einen Ausdruck der mathematischen Sprache, bei dem der Name einer Größe (hier ‚Zeit‘) mittels des Gleichheitszeichens ‚=‘ einen Wert (’12‘) zugewiesen bekommt. Zusätzlich wird dem numerischen Wert ’12‘ noch eine Einheit (‚Uhr‘) hinzugefügt. Welche Einheiten man numerischen Werten hinzu fügt ist in der oksimo Sprache beliebig. Hier wird mit dem mathematischen Ausdruck „Zeit=12Uhr“ nur gesagt, dass der Zustand von Gerd, dass er hungrig sei, stattfindet während die Größe ‚Zeit‘ den Wert ’12Uhr‘ hat.

Veränderungsregeln (‚Rules‘)

BILD : Liste von verschiedenen Veränderungsregeln (‚Rules‘)

Nach Vorgabe eines Anfangszustands und eines — optionalen — Ziels braucht man jetzt Veränderungsregeln, um aus einem Anfangszustand so viele Folge-Zustände generieren zu können, dass man den vorgegebenen Ziel-Zustand entweder zu 100% erreicht oder ihn zumindest so weit annähert, dass alle Beteiligten zufrieden sind. Wie viele Regeln dazu notwendig sind, dies kann man nur durch Ausprobieren heraus bekommen. Im vorliegenden Beispiel sind es sechs Regeln. Beim Durchlaufen der Regeln wird man leicht erkennen, dass die Anzahl der benötigten Regeln letztlich davon abhängt, wie genau, mit welcher Detailtiefe, man einen Prozess beschreiben will. Im Prinzip kann man immer mit einer einzigen Regel auskommen, aber dann versteht man normalerweise nicht, wie dies in der Realität möglich ist. Anders formuliert, je wirklichkeitsnäher man einen Prozess beschreiben will, umso mehr Regeln wird man benötigen.

Im vorliegenden Beispiel gibt es eine hinreichende Nähe zu einem möglichen Alltag, die so groß ist, dass normalerweise jeder sich vorstellen kann, was genau passiert, wenn man diese Theorie im Alltag umsetzen wollte.

BILD : Elemente der ersten Veränderungsregel mit Namen ‚gerd-v-2-1‘

Regel Typen

Als erstes kann man erkennen, dass es tatsächlich zwei Arten von Regeln gibt: (i) Regeln, die Zustände (‚States‘) verändern können und (ii) solche, die Visionen verändern können.

Im vorliegenden Beispiel kommen nur Regeln vor, die Zustände verändern. Das Ändern von Visionen (Zielen) ist allerdings interessant, weil es im Alltag ständig passieren kann, dass Menschen ihre Ziele ändern. Dies kann aus unterschiedlichen Gründen geschehen. In weiteren Beispielen wird dieser Fall vorgestellt werden.

Bedingungen (‚Conditions‘)

Regeln sind so aufgebaut, dass sie sich an Bedingungen festmachen: Irgendein Effekt (eine Wirkung) soll nur dann eintreten, wenn ein bestimmter Sachverhalt vorliegt (ein Schneepflug sollte sinnvollerweise nur dann ausrücken, wenn tatsächlich Schnee gefallen ist; einen Feuerlöscher sollte man normalerweise nur aktivieren, wenn etwas zu brennen angefangen hat; …)

Im vorliegenden Beispiel soll die Regel nur angewendet werden, wenn im Textteil der Ausdruck vorkommt Gerd ist hungrig. und im mathematischen Teil der Ausdruck Zeit==12wahr‘ ist, weil der Wert der Größe Zeit tatsächlich gerade 12 ist. Werden diese Bedingungen nicht erfüllt, dann wird die Regel nicht aktiviert. Mit anderen Worten, die Theorie T-gerd-hungrig-v2d nimmt an, dass der Zeitpunkt 12:00 für die Person Gerd wichtig ist (kann in der Realität falsch sein).

Wirkungen (‚Effects‘)

Sollten beide Forderungen erfüllt sein, so dass die Regel aktiviert werden, dann kämen diese zur Ausführung. Dies bedeutet, im Textteil des Folge-Zustandes würde als neuer Ausdruck Gerd entscheidet, zum Griechen um die Ecke zu gehen. hinzugefügt werden, und der Wert der Größe Zeit würde um den Wert 0.03 erhöht werden zu 12.03.

Der mathematische Ausdruck Zeit=eval(„{:.2f}“.format(Zeit+0.03)) wirkt dabei auf den ersten Blick etwas wild. Obwohl es hier um einen ganz simplen Sachverhalt geht, nämlich um die Erhöhung der Zeit 12 Uhr um 3 Minuten auf 12.03 Uhr und man dies einfach so ausdrücken könnte: Zeit = Zeit + 0.03 wird hier zu diesem etwas wilden Ausdruck gegriffen. Warum?

Die mathematische Sprache, die in der oksimo Software benutzt wird, ist eine Teilmenge der Programmiersprache python. Und wie jede Programmiersprache so hat auch python seine eigenen Regeln, wie man was hinschreiben muss. Hier ein kurzes Beispiel zum Thema 12+0.03:

Zeit=12
Zeit
12
Zeit=Zeit+0.03
Zeit
12.03
Zeit=Zeit+0.04
Zeit
12.069999999999999

Dieser kurze Text zeigt, was passiert, wenn man in der Programmiersprache python (version 3.10.12) 12+0.03 addiert (dann kommt brav 12.03 heraus), aber wenn man dann eine Dezimalversion weiter addiert, also 12.03+0.04, dann bekommt man furchtbar viele Stellen hinter dem Komma: 12.069999999999999 . Will man dies verhindern (und das wollen wir in diesem Beispiel), dann könnte man standardmäßig folgende python-Operation benutzen: round():

Zeit
12.069999999999999
Zeit=round(Zeit,2)
Zeit
12.07

In der aktuellen Version der oksimo Software haben wir allerdings nur einen Teil der python Programmiersprache zugelassen. Die Operation round() ist aktuell nicht dabei. Vermutlich kommt sie später noch dazu. Was kann man aber ohne diese Operation round() machen?

In python gibt es ja nahezu für alles eine Lösung, oft sogar mehrere Varianten. Die andere Variante ist jene, die im Beispiel tatsächlich benutzt wurde: Zeit=eval(„{:.2f}“.format(Zeit+0.03))

Dieser Ausdruck besteht praktisch aus drei Teilen:

  1. Zeit+0.03 : das ist die eigentliche Operation um die es geht; erhöhe die aktuelle Zeit um 3 Minuten.
  2. {:.2f}“.format(x) : die Dezimalzahl x soll in eine Zeichenkette (’string‘) verwandelt werden und diese Zeichenkette soll als Dezimalzahl (‚float‘) mit zwei Nachkommastellen formatiert werden. Man würde dann die Zeichenkette ‚12.03‘ erhalten. Zeichenketten sind aber nun mal keine Zahlen, mit denen man rechnen kann. Also muss man diese Zeichenkette wieder zurück in eine Zahl verwandeln:
  3. eval(…) : Man packt dazu den ganzen Ausdruck, der eine Zeichenkette erzeugt, als Argument in die Operation eval() und diese Operation erzeugt uns wieder eine Dezimalzahl, dieses Mal aber mit zwei Nachkommastellen: 12.03.

Zugegeben, etwas umständlich, aber es funktioniert und man hat gegenüber der Operation round() den Vorteil, dass man mit der Stringmethode viel mehr Formatierungsmöglichkeiten hat als mit der Operation round().

Zur Beruhigung: solange man nicht zwischen verschiedenen Objektformaten hin und her transformieren muss, sind die mathematischen Ausdrücke eigentlich ‚intuitiv‘ (wer versteht 12+0.03 nicht?).

Überprüfung durch eine Simulation

Bevor wir hier jetzt die weiteren Veränderungsregeln vorstellen, können wir schon die bisherige Theorie T-gerd-hungrig-2vd mit dieser einen Regel testen. Dazu kann man auf die Seite des oksimo Editors und Simulators gehen https://oksimo.com/public_theories und den Button Public Theories drücken:

Dort findet man die kleine Theorie T-gerd-hungrig-2vd schon aufgelistet. Wenn man diese anklickt, erweitert sich die Anzeige:

Es gibt die Option, die Theorie zu simulieren. Das wollen wir jetzt mal tun. Wenn man auf Simulate klickt erhält man eine weitere Auswahlmöglichkeit:

Gibt man als Wert = 1 ein (also eine Runde simulieren) und aktiviert man den detaillierten Output nicht, dann erhält man Folgendes:

Man bekommt alles aufgelistet, was bislang eingegeben worden ist, allerdings ohne die Regel. Man sieht aber dann bei Aktueller Zustand (‚Current State‘), dass die Wirkung der ersten Regel gerd-v-2-1 in den Folgezustand eingearbeitet worden ist. Und da die Vision ‚Gerd ist nicht hungrig‘ im aktuellen Zustand noch nicht vorkommt, liegt die Zielerreichung noch bei 0%.

Vervollständigung der Theorie

Mit den vorausgehenden Erklärungen sollte es möglich sein, dass jeder Leser nur durch Angabe der weiteren Regeln versteht, was hier beschrieben wird. Zum Abschluss kann jeder dann selbst die Gesamt-Simulation online anschauen.

An dieser Stelle ist noch ein zusätzlicher Kommentar notwendig, da in dieser Regel gerd-v-2-2 erstmalig eine Regel mit einem negativen Effekt auftritt. ‚Negativer Effekt‘ bedeutet, dass die sprachlichen Ausdrücke, die im Feld Negative Effekte (‚Negative Effects‘) vorkommen, aus dem aktuellen Zustand wieder entfernt werden, so dass sie im Folge-Zustand nicht mehr vorkommen. Im Zusammenwirken von Positiven und Negativen Effekten kann also die Menge der sprachlichen Ausdrücke, die einen Zustand ausmachen, kontinuierlich modifiziert werden. Damit lässt sich im Prinzip jede Art von Dynamik modellieren. Die Umsetzung dieser ‚Anweisungen‘ zum ‚Hinzufügen‚ oder zum ‚Entfernen‘ von Ausdrücken geschieht im Simulator, der hier als ‚Folgerungs-Maschine‘ wirkt.

Hier geht es zum online-Simulator ( https://oksimo.com/public_theories ). Die optimale Einstellung für die Simulation ist: Rundenzahl 6 und Detailierter Output aktiv.

Hier kann man dann auch von einer grafischen Ausgabe des Werteverlaus Gebrauch machen: