Journal: Philosophie Jetzt – Menschenbild
ISSN 2365-5062, 5.Februar 2021
URL: cognitiveagent.org, Email: info@cognitiveagent.org
Autor: Gerd Doeben-Henisch (gerd@doeben-henisch.de)
KONTEXT
Im vorausgehenden Beitrag wurde das Kommunikations- und Planungs-Programm oksimo vorgestellt und mit einem ersten einfachen Beispiel begonnen. Dieses wird in diesem Text weiter entwickelt, um weitere Aspekte des oksimo Paradigmas zu illustrieren. Das ganze Beispiel zeigt einen einfachen linearen Prozess ohne Wiederholungen auf.
IN RICHTUNG ZIEL
Im vorausgehenden Beitrag wurde als Letztes ein erstes Ziel in Form einer Vision eingeführt.
Gerd ist nicht hungrig.
Dies bedeutet, der Prozess ist im Lichte dieses Ziels zu Ende/ am Ziel, wenn eine Situation/ ein Zustand S vorliegt, in dem es heißt: Gerd ist nicht hungrig. Der bislang erreichte Zustand S war wie folgt:
{'Gerd ist hungrig.', 'Gerd geht zum Griechen um die Ecke.'}
Man muss sich also überlegen, was kann die Person Gerd unternehmen, damit sie nicht mehr hungrig ist. Unter der Vielfalt der möglichen Maßnahmen tendiert die Person Gerd dazu, ganz schlicht, etwas zu Essen, was es bei dem Griechen um die Ecke gibt. Dazu muss er aber erst mal beim Griechen um die Ecke ankommen und etwas bestellen, damit er etwas essen kann. Also versuchen wir das mal. Dazu editieren wir eine neue Regel:
BestellungGriechen1: [{'Gerd geht zum Griechen um die Ecke.'}, {'Gerd bestellt ein Gyros.'}, {'Gerd geht zum Griechen um die Ecke.'}]
Die Regel benutzt als Bedingung die Aussage, dass Gerd zum Griechen um die Ecke geht, bringt dann die neue Feststellung ins Spiel, dass er ein Gyros bestellt, und dass die bisherige Feststellung verschwinden soll, dass er zum Griechen um die Ecke geht. Überprüfen wir, was jetzt passiert. Wir starten eine neue Simulation:
Selected Vision: GerdNHungrig1 Selected states: GerdHungrig1 Selected rules: ZumGriechen1 BestellungGriechen1
Die Zutaten für die neue Simulation sind dieses Mal eine echte Vision V, der bisherige Ausgangspunkt S und zwei Regeln.
Enter maximum number of simulation rounds 6 Your vision: {'Gerd ist nicht hungrig.'} Round 1 Set S given: {'Gerd ist hungrig.'} Applied rule: [{'Gerd ist hungrig.'}, {'Gerd geht zum Griechen um die Ecke.'}, {'none'}] Set S after Remove: {'Gerd ist hungrig.'} Set S after Union: {'Gerd ist hungrig.', 'Gerd geht zum Griechen um die Ecke.'} 0.00 percent of your vision was achieved by reaching the following states: None Round 2 Set S given: {'Gerd ist hungrig.', 'Gerd geht zum Griechen um die Ecke.'} Applied rule: [{'Gerd geht zum Griechen um die Ecke.'}, {'Gerd bestellt ein Gyros.'}, {'Gerd geht zum Griechen um die Ecke.'}] Set S after Remove: {'Gerd ist hungrig.'} Set S after Union: {'Gerd bestellt ein Gyros.', 'Gerd ist hungrig.'} Set S given: {'Gerd bestellt ein Gyros.', 'Gerd ist hungrig.'} Applied rule: [{'Gerd ist hungrig.'}, {'Gerd geht zum Griechen um die Ecke.'}, {'none'}] Set S after Remove: {'Gerd bestellt ein Gyros.', 'Gerd ist hungrig.'} Set S after Union: {'Gerd bestellt ein Gyros.', 'Gerd ist hungrig.', 'Gerd geht zum Griechen um die Ecke.'} 0.00 percent of your vision was achieved by reaching the following states: None Round 3 Set S given: {'Gerd bestellt ein Gyros.', 'Gerd ist hungrig.', 'Gerd geht zum Griechen um die Ecke.'} Applied rule: [{'Gerd ist hungrig.'}, {'Gerd geht zum Griechen um die Ecke.'}, {'none'}] Set S after Remove: {'Gerd bestellt ein Gyros.', 'Gerd ist hungrig.', 'Gerd geht zum Griechen um die Ecke.'} Set S after Union: {'Gerd bestellt ein Gyros.', 'Gerd ist hungrig.', 'Gerd geht zum Griechen um die Ecke.'} Set S given: {'Gerd bestellt ein Gyros.', 'Gerd ist hungrig.', 'Gerd geht zum Griechen um die Ecke.'} Applied rule: [{'Gerd geht zum Griechen um die Ecke.'}, {'Gerd bestellt ein Gyros.'}, {'Gerd geht zum Griechen um die Ecke.'}] Set S after Remove: {'Gerd bestellt ein Gyros.', 'Gerd ist hungrig.'} Set S after Union: {'Gerd bestellt ein Gyros.', 'Gerd ist hungrig.'} 0.00 percent of your vision was achieved by reaching the following states: None Save Simulation [S], Rerun simulation? [R] or exit [leave blank]: 6
WIEDERHOLUNG EINER REGEL
Schaut man sich den Verlauf der Simulation an, dann verläuft Runde 1 wie gedacht. In Runde 2 kann man aber beobachten, dass zwar die neue Regel zum Einsatz kommt (das Gehen zum Griechen um die Ecke führt zu einer Bestellung…), aber die erste Regel wird auch nochmals angewendet. Dies führt zu einer Wiederholung des Gehens zum Griechen. Wirkt irritierend, ebenso auch in Runde 3.
VARIATION IN DER ABFOLGE DER REGELANWENDUNG
Hier wird zudem noch Folgendes sichtbar: die Reihenfolge der Regelanwendung kann variieren. In Runde 1 ist die Abfolge der Regelanwendung (2,1), in Runde 3 ist die Abfolge (1,2).
Der Hintergrund für die variierende Abfolge in der Anwendung der Regeln liegt darin, dass zum gleichen Zeitpunkt nur eine Regel bearbeitet werden kann. Ist aber zum gleichen Zeitpunkt mehr als eine Regel anwendbar (in der Realität: mehrere Ereignisse gleichzeitig), dann wird dies hier so gelöst, dass alle in einer Runde anwendbaren Regeln per Zufall sortiert werden und dann in dieser zufälligen Abfolge abgearbeitet werden, allerdings alle in ein und derselben Runde.
Ein Ergebnis dieser zufälligen Abarbeitungs-Ordnung ist, dass Regeln, die sich in ihren Wirkungen untereinander beeinflussen können, auf diese Weise in ihren Wechselwirkungen sichtbar werden können. Da man Simulationen wiederholen kann, kann man auf diese Weise feststellen, ob die unterschiedlichen Variationen immer die gleichen Ergebnisse liefern oder sich unterscheiden.
KEINE WIEDERHOLUNG EINER REGEL?
Die Wiederholung einer Regelanwendung kann grundsätzlich erwünscht sein (wir werden später solche Fälle betrachten), aber es gibt Fälle, wo man dies nur eingeschränkt wünscht. Im Falle der Maßnahme, zum Griechen um die Ecke zu gehen, ist dies ein vorübergehendes Ereignis, um etwas bestellen zu können und es macht keinen Sinn, es immer wieder zu wiederholen. Im Falle unserer Körperwelt gibt es Abfolgen von Ereignissen, die nicht umkehrbar sind. Will man die Aktivierung der Regel 1 (Wenn Gerd hungrig ist,…) einschränken, dann kann man dies u.a. dadurch erreichen, dass man die Bedingung selektiver macht. Dies ist aber nur möglich, wenn man auch die Beschreibung der Ausgangssituation verfeinert. Aktuell wird für die Ausgangssituation ja nur festgestellt, dass die Person Gerd hungrig sei, und dieser Zustand dauert natürlich solange an, bis die Person Gerd etwas gegessen hat. Es stellt sich dann die Frage, welche zusätzliche Eigenschaft könnte/ sollte die Ausgangslage haben, so dass sie nach dem Losgehen zum Griechen eine andere ist als zuvor?
Eine Möglichkeit besteht darin, die Ausgangslage zu verändern. Zusätzlich zur Feststellung, dass die Person Gerd hungrig ist kann man noch festhalten, dass Gerd beschließt, zum Griechen um die Ecke zugehen.
Your final state document is now: Name: GerdHungrig2 Expressions: Gerd ist hungrig. Gerd beschliesst, zum Griechen um die Ecke zu gehen.
Entsprechend kann man jetzt die Veränderungsregel in ihrem Bedingungsteil verfeinern:
Summary: Rule:ZumGriechen2 Conditions: Gerd ist hungrig. Gerd beschliesst, zum Griechen um die Ecke zu gehen. Probability: 1.0 Positive Effects: Gerd geht zum Griechen um die Ecke. Negative Effects: Gerd beschliesst, zum Griechen um die Ecke zu gehen.
Der Trigger, der in der vorausgehenden Version die zweite Regel wiederholt ausgelöst hatte, ist jetzt eliminiert, da der Beschluss zum Griechen zu gehen, mit der Ausführung wieder verschwindet.
Selected Vision: GerdNHungrig1 Selected states: GerdHungrig2 Selected rules: ZumGriechen2 BestellungGriechen1
Enter maximum number of simulation rounds 6 Your vision: {'Gerd ist nicht hungrig.'} Round 1 Set S given: {'Gerd ist hungrig.', 'Gerd beschliesst, zum Griechen um die Ecke zu gehen.'} Applied rule: [{'Gerd ist hungrig.', 'Gerd beschliesst, zum Griechen um die Ecke zu gehen.'}, {'Gerd geht zum Griechen um die Ecke.'}, {'Gerd beschliesst, zum Griechen um die Ecke zu gehen.'}] Set S after Remove: {'Gerd ist hungrig.'} Set S after Union: {'Gerd ist hungrig.', 'Gerd geht zum Griechen um die Ecke.'} 0.00 percent of your vision was achieved by reaching the following states: None Round 2 Set S given: {'Gerd ist hungrig.', 'Gerd geht zum Griechen um die Ecke.'} Applied rule: [{'Gerd geht zum Griechen um die Ecke.'}, {'Gerd bestellt ein Gyros.'}, {'Gerd geht zum Griechen um die Ecke.'}] Set S after Remove: {'Gerd ist hungrig.'} Set S after Union: {'Gerd bestellt ein Gyros.', 'Gerd ist hungrig.'} 0.00 percent of your vision was achieved by reaching the following states: None Round 3 0.00 percent of your vision was achieved by reaching the following states: None> 6
Damit scheint das Ziel schon in greifbarer Nähe zu sein. Jetzt müsste man nur noch feststellen, dass Gerd das Gyros isst und dadurch keinen Hunger mehr hat.
Summary: Rule:HungerGestillt4 Conditions: Gerd bestellt ein Gyros. Probability: 1.0 Positive Effects: Gerd isst das Gyros. Gerd ist nicht hungrig. Negative Effects: Gerd ist hungrig. Gerd isst das Gyros. Gerd bestellt ein Gyros.
Mit der neuen Regel wird positiv festgestellt, dass Gerd das Gyros isst und danach nicht mehr hungrig ist. Zugleich werden Merkmale der alten Situation gelöscht. Damit sollte es möglich sein, das Ziel zu erreichen.
Selected Vision: GerdNHungrig1 Selected states: GerdHungrig2 Selected rules: ZumGriechen2 BestellungGriechen1 HungerGestillt4
Enter maximum number of simulation rounds 6 Your vision: {'Gerd ist nicht hungrig.'} Round 1 Set S given: {'Gerd ist hungrig.', 'Gerd beschliesst, zum Griechen um die Ecke zu gehen.'} Applied rule: [{'Gerd ist hungrig.', 'Gerd beschliesst, zum Griechen um die Ecke zu gehen.'}, {'Gerd geht zum Griechen um die Ecke.'}, {'Gerd beschliesst, zum Griechen um die Ecke zu gehen.'}] Set S after Remove: {'Gerd ist hungrig.'} Set S after Union: {'Gerd ist hungrig.', 'Gerd geht zum Griechen um die Ecke.'} 0.00 percent of your vision was achieved by reaching the following states: None Round 2 Set S given: {'Gerd ist hungrig.', 'Gerd geht zum Griechen um die Ecke.'} Applied rule: [{'Gerd geht zum Griechen um die Ecke.'}, {'Gerd bestellt ein Gyros.'}, {'Gerd geht zum Griechen um die Ecke.'}] Set S after Remove: {'Gerd ist hungrig.'} Set S after Union: {'Gerd bestellt ein Gyros.', 'Gerd ist hungrig.'} 0.00 percent of your vision was achieved by reaching the following states: None Round 3 Set S given: {'Gerd bestellt ein Gyros.', 'Gerd ist hungrig.'} Applied rule: [{'Gerd bestellt ein Gyros.'}, {'Gerd isst das Gyros.', 'Gerd ist nicht hungrig.'}, {'Gerd bestellt ein Gyros.', 'Gerd ist hungrig.', 'Gerd isst das Gyros.'}] Set S after Remove: set() /* 'set()' bedeutet, dass die Menge leer ist */ Set S after Union: {'Gerd isst das Gyros.', 'Gerd ist nicht hungrig.'} 100.00 percent of your vision was achieved by reaching the following states: {'Gerd ist nicht hungrig.'} Round 4 100.00 percent of your vision was achieved by reaching the following states: {'Gerd ist nicht hungrig.'} Save Simulation [S], Rerun simulation? [R] or exit [leave blank]: 6
Das Ziel findet sich zu 100% im aktuellen Zustand.
FORTSETZUNG 2
Weitere Fortsetzungen gibt es nicht in diesem Blog sondern in dem neuen Blog oksimo.org im Kontext der oksimo Software.
DER AUTOR
Einen Überblick über alle Beiträge von Autor cagent nach Titeln findet sich HIER.