Solveig Hofmann Dynamik sozialer Praktiken
VS RESEARCH Computersimulationen in den Sozialwissenschaften Herausgegeben...
14 downloads
713 Views
2MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Solveig Hofmann Dynamik sozialer Praktiken
VS RESEARCH Computersimulationen in den Sozialwissenschaften Herausgegeben von Prof. Dr. Jürgen Klüver, Universität Duisburg-Essen
Die Analyse komplexer sozialer Prozesse durch die Konstruktion von computerbasierten Modellen und die Durchführung entsprechender Simulationen ist im deutschsprachigen Raum nach wie vor eine relativ junge Forschungsmethode. Jedoch steigt die Anzahl von wissenschaftlichen Arbeiten, in denen die Kunst der Computersimulation eine, wenn nicht die zentrale Rolle spielt. Immer mehr Tools und Shells stehen für verschiedene Techniken zur Verfügung, so dass computerbasierte Modelle nicht mehr eigens programmiert werden müssen. Die Reihe bietet schwerpunktmäßig ein Publikationsforum für Nachwuchswissenschaftler, sie steht jedoch auch Monografien und Sammelbänden nach der Promotion offen. Der Begriff „Sozialwissenschaften“ wird hier bewusst weit gefasst und auch kognitionswissenschaftliche und wirtschaftswissenschaftliche Arbeiten sind willkommen. In diesem Sinne: Habeant sua fata libelli – die dieser Reihe jedenfalls. Weitere Informationen unter: www.cobasc.de
Solveig Hofmann
Dynamik sozialer Praktiken Simulation gemeinsamer Unternehmungen von Frauengruppen
Mit einem Geleitwort von Prof. Dr. Wolfgang Balzer
VS RESEARCH
Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über abrufbar.
Dissertation Ludwig-Maximilians-Universität München, 2008 D 19
1. Auflage 2009 Alle Rechte vorbehalten © VS Verlag für Sozialwissenschaften | GWV Fachverlage GmbH, Wiesbaden 2009 Lektorat: Christina M. Brian / Britta Göhrisch-Radmacher VS Verlag für Sozialwissenschaften ist Teil der Fachverlagsgruppe Springer Science+Business Media. www.vs-verlag.de Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Umschlaggestaltung: KünkelLopka Medienentwicklung, Heidelberg Gedruckt auf säurefreiem und chlorfrei gebleichtem Papier Printed in Germany ISBN 978-3-531-16349-9
Geleitwort
Dieses Buch über Simulation von sozialen Praktiken eröffnet einen großen Bereich von interessanten und wichtigen Anwendungen. Soziale Praktiken bilden die Grundlage vieler sozialer, komplexer Systeme, wie Gemeinschaften, Gesellschaften, Genossenschaften, Organisationen, Institutionen, Staaten und viele andere mehr. Dieses Buch analysiert und simuliert eine generische Fallgruppe, in der es hunderte ähnlicher Fälle gibt. Die Untersuchung von sozialen Systemen benutzt hier gleich zwei für zukünftige Forschungen wichtige Simulationskomponenten. Erstens erschließt dieses Werk die psychologische Welt der Akteure für Computersimulationen. Diese Welt lässt sich mit den Begriffen der Überzeugung, der Absicht und des Wunsches aufbauen. Frau Hofmann verwendet zwei der drei zentralen psychologischen Begriffe, nämlich Überzeugung und Absicht, während die Welt der Wünsche in dieser Arbeit nur impliziert benutzt wird. Diese Komponenten werden sicherlich bei vielen folgenden Simulationen eine Rolle spielen. In den hier beschriebenen Simulationen werden eine große Menge von Überzeugungen und eine kleinere Menge von Absichten der Akteure generiert. In einem ersten Schritt wird nur ein grobes Gerüst von Rationalitätspostulaten verwendet. Die vielen „Logiken“, mit denen die Überzeugungssysteme in eine rationale Ordnung gebracht werden, können in einer Simulation nur angewendet werden, wenn die Überzeugungssysteme rational mit Inhalt gefüllt sind. Die normale, menschliche Welt ist aber nur begrenzt rational und die nicht rationalen Anwandlungen der Menschen sind bis jetzt nur in ersten Ansätzen in formalen Abteilungen der Wissenschaften zu finden. Deshalb wurde als zweite Komponente der Simulation eine Komponente benutzt, die bis jetzt stiefmütterlich behandelt wird, nämlich die Handlungen. Um diesen uferlos großen Bereich von Handlungen einzugrenzen, wurde die Programmiersprache PROLOG verwendet, die in dieser Hinsicht besonders effektiv ist. Ein System von Überzeugungen und Absichten (Intentionen) braucht eine Menge von Handlungstypen, die durch die normale Sprache, durch die „normalen“ Verben einer solchen Sprache einfach ausgedrückt werden können. Der generische Aspekt liegt in der Auswahl einer Menge von Verben, die zusammen ein Ganzes bilden und mit denen eine Klasse von wirklichen Systemen abgegrenzt werden kann. In dem hier verwendeten Beispiel entsteht eine soziale
6
Geleitwort
Praxis, bei der eine Frauengruppe Freizeitaktivitäten betreibt und die für längere Zeit ohne äußere Zwänge aufrecht erhalten wird oder schnell wieder „abstirbt“. Diese Praxis allein ist schon interessant. Noch interessanter wird es, wie sich verschiedene Typen von solchen Gruppen - wissenschaftlich gesehen - bilden können. Zum Beispiel kann sich eine Kerngruppe oder eine FührerInnennatur oder eine homogene Gruppe bilden. Die wissenschaftlichen Ergebnisse, die hier dargestellt werden, zeigen den großen Bereich auf, in dem ähnliche Computersimulationen eingesetzt werden können. Sie wurden in vielen Jahren von Frau Hofmann erarbeitet. Ich denke die LeserInnen werden von diesem Buch nicht nur wissenschaftlich, sondern auch inhaltlich profitieren. Wolfgang Balzer
Vorwort
Die Grundlage dieses Buchs bildet meine Dissertation zum Thema „Dynamik sozialer Praktiken und ihrer zu Grunde liegenden Einstellungen – Modellierung und Simulation“, die ich im Rahmen einer Promotion im Fach Logik und Wissenschaftstheorie an der Ludwig-Maximilians-Universität München geschrieben habe. Da die Dissertation größtenteils neben meiner beruflichen Tätigkeit in der kommerziellen Softwareentwicklung entstand, war das Promotionsvorhaben immer wieder von längeren Unterbrechungen und Verzögerungen begleitet. Während dieser Zeit habe ich erkannt, dass bei einer Simulationsstudie nach der Modellierung und deren Umsetzung in ein Simulationsprogramm noch ein weiter Weg zurückzulegen ist. Systematisch Simulationen durchzuführen, die Ergebnisse zu strukturieren, auszuwerten und anschließend ihren Gehalt zu bewerten ist ein zeitaufwändiges Unterfangen. Darüber hinaus benötigt man für die Erzeugung und Auswertung von Massendaten leistungsfähige Rechner. Da diese erst in den letzten Jahren auch für Privatanwender erschwinglich wurden, konnte ich den zeitlichen Verzögerungen nachträglich auch positive Aspekte abgewinnen. Aus der Menge der möglichen sozialen Praktiken, die mit dem vorgestellten Programm simuliert werden könnten, wurden für die Durchführung der Simulationsstudie gemeinsame Unternehmungen von Frauengruppen als einfaches und intuitiv nachvollziehbares Beispiel gewählt. Auch wenn in dieser Arbeit die Untersuchung von Gemeinschaften künstlicher Agenten im Vordergrund steht, hat die Tatsache, dass ich selbst seit Jahren in einer Frauengruppe bin, zur Wahl des Beispiels beigetragen. Obwohl das Handlungsspektrum der künstlichen Agenten bewusst so gewählt wurde, dass es signifikante Unterschiede zu dieser Gruppe aufweist, war es doch verblüffend zu sehen, welche Ähnlichkeiten es zwischen einem Teil der simulierten Gruppen und der wirklichen Gruppe gibt – letztere konnte während der Entstehung dieser Arbeit zeitlich etwas aufholen. Während der intensiven Beschäftigung mit künstlichen Agenten gab es eine Reihe von Personen, die mich durch Anregungen, Impulse, konstruktive Kritik oder praktische Hilfe bei Korrektur und Layout tatkräftig unterstützt und manchmal auch wieder auf den Boden der Tatsachen zurückgeholt haben. All diesen möchte ich herzlich danken. Ein besonderer Dank gebührt meinem Doktorvater Prof. Dr. Wolfgang Balzer, an den ich mich jederzeit wenden konnte und der mir nicht nur als kompetenter Diskussionspartner, sondern auch motivie-
8
Vorwort
rend zur Seite stand. Sowohl durch das konstruktive Feedback, das ich bei den von Prof. Dr. Klaus G. Troitzsch und Prof. Dr. Nicole Saam organisierten Doktorandentreffen erhalten habe, als auch beim anschließenden Austausch in geselliger Runde habe ich viele Anregungen bekommen. Es hat mich sehr gefreut, dass ich an diesen Treffen teilnehmen durfte. Im Rahmen eines DAAD-Projekts bekam ich die Gelegenheit mehr über philosophische Konzepte kollektiver Intentionalität zu erfahren. Prof. Dr. Raimo Tuomela, Dr. Maj Tuomela, Pekka Mäkelä, Kaarlo Miller und Raul Hakli von der Universität Helsinki waren für die Logikerin aus München mit damals nur mäßigen Englischkenntnissen geduldige Gesprächspartner und charmante Gastgeber. Prof. Dr. Jürgen Klüver und Britta Göhrisch-Radmacher vom VS-Verlag danke ich für die freundliche Unterstützung bei der Veröffentlichung. Auch in meinem Freundes- und Bekanntenkreis durfte ich Ermutigung und Unterstützung erfahren. Ute Obernolte hat bei der Korrektur vor Abgabe der Dissertation nicht nur sprachlich viel zum Gelingen der Arbeit beigetragen, Barbara Rusch und Christian Hofmann haben durch spontane Feuerwehreinsätze ein Scheitern zu einem frühen Zeitpunkt verhindert. Claudio Richartz, damals Communicate! GmbH, und Martin Hager, retarus GmbH, haben mir durch die Gewährung flexibler Arbeitsbedingungen ermöglicht, diesem Projekt neben meinem Beruf nachzugehen. Ein Dank gebührt auch meiner wunderbaren Familie, die mich über all die Jahre bei diesem Projekt unterstützt und meine Launen ertragen hat. Meine Tochter Tamara hat bei der Auswertung von Simulationsergebnissen wertvolle Arbeit geleistet und meine Eltern Hermine und Otto Schmidl sind eingesprungen, wenn Not an der Frau war. Mein Lebenspartner Stephan Höhne stand mir immer als kompetenter Gesprächspartner zur Verfügung und hat durch seine Vorschläge viel zu der jetzigen Form der Arbeit beigetragen. Anette, Conny, Dore, Inge, Jaqueline, Karin, Lise, Petra und Ute danke ich für die gemeinsam verbrachte Zeit und viele schöne Momente. Solveig Hofmann
Inhalt
Abbildungen ...................................................................................................... 13 Tabellen ............................................................................................................. 15 Einleitung .......................................................................................................... 17 1 1.1 1.2 1.3 1.3.1 1.3.2
Simulation.......................................................................................... 21 Simulation als wissenschaftliche Methode ......................................... 21 Soziale Simulation .............................................................................. 24 Modelle ............................................................................................... 28 Der Modellbegriff in den empirischen Wissenschaften...................... 29 Der wissenschaftstheoretische Modellbegriff ..................................... 31
2 2.1 2.2 2.3
Soziale Praktiken .............................................................................. 37 Der Praxisbegriff im Wandel der Zeit................................................. 37 Von individuellen Handlungen zu sozialen Praktiken ........................ 42 Dynamik sozialer Praktiken................................................................ 46
3 3.1 3.1.1 3.1.1.1 3.1.1.2 3.2 3.2.1 3.2.2 3.2.3 3.3 3.3.1 3.3.2
Theoretischer Hintergrund der Simulationen................................ 49 Kollektive Intentionalität .................................................................... 49 Absichten für gemeinsame Handlungen ............................................. 50 Individualistische, nicht-reduktive Konzepte geteilter Absichten....... 51 Absichten als Absichten eines Plural Subjects.................................... 53 Überzeugungssysteme ........................................................................ 56 Individuelle Überzeugungen............................................................... 56 Dynamik von Überzeugungssystemen................................................ 60 Interpersonelle Glaubens- und Wissensbegriffe ................................. 62 Künstliche Agenten............................................................................. 66 Eigenschaften künstlicher Agenten..................................................... 66 BDI-Architekturen .............................................................................. 67
10 4 4.1 4.1.1 4.1.1.1 4.1.1.2 4.1.1.3 4.1.1.4 4.1.1.5 4.2 4.3 4.3.1 4.3.1.1 4.3.1.2 4.3.1.3 4.3.1.4 4.3.2 4.3.2.1 4.3.2.2 4.3.3 4.3.3.1 4.3.3.2 4.3.3.3 4.3.3.4 4.3.4 4.3.5 4.3.5.1 4.3.5.2 4.3.5.3 4.3.5.4 4.3.5.5 4.3.5.6 4.3.5.7 4.3.6 4.3.6.1 4.3.6.2 4.3.6.3 4.3.6.4 4.3.6.5 4.3.6.6 4.3.6.7
Inhalt
Simulation einer sozialen Praxis...................................................... 71 Grundlagen der Modellierung............................................................. 71 Ein allgemeiner Rahmen zur Modellierung sozialer Praktiken.......... 71 Einstellungen ...................................................................................... 72 Handlungen......................................................................................... 73 Trigger-Bedingungen.......................................................................... 74 Das Feedback der Handlung – Erfolg oder Misserfolg? ..................... 75 Muster sozialer Praktiken ................................................................... 76 Anwendung auf das Gruppenleben von Freizeitgruppen .................... 79 Die Implementierung der Simulationen .............................................. 81 Technische Aspekte der Implementierung.......................................... 81 Eigenschaften der Programmiersprache Prolog .................................. 81 Elementare Konstruktoren .................................................................. 83 Prolog Standardprädikate.................................................................... 85 Eigene Hilfsprädikate ......................................................................... 86 Die Basisstruktur der Simulationen .................................................... 87 Programme.......................................................................................... 88 Dateien................................................................................................ 89 Die Parameterdatei.............................................................................. 90 Parameter zur Steuerung des Programmablaufs ................................. 92 Parameter zur Konfiguration der Faktenbasis..................................... 93 Parameter für die Analyse-Tools ........................................................ 96 Programmkonstanten .......................................................................... 97 Starten einer Simulationsfolge ............................................................ 98 Die Generierung der initialen Einstellungen..................................... 100 Allgemeiner Überblick...................................................................... 100 Die Menge der Handlungstypen ACT .............................................. 101 Die Menge der initialen Einstellungen ATT0.................................... 104 Eigenschaften der Überzeugungsbasis.............................................. 107 Regeln zur Generierung der Menge ATT0 ........................................ 110 Die Generierung der initialen Intentionen......................................... 111 Die Generierung der initialen Überzeugungen höherer Stufe ........... 113 Die Kernsimulation........................................................................... 116 Die Simulation eines Musters der sozialen Praxis ............................ 117 Die Aktivierung der Agenten............................................................ 119 Die Generierung der Vorschläge (Regelmenge get_random) ........... 120 Die Generierung der Vorschläge (Regelmenge negotiate)................ 122 Die Auswahl der Gruppenhandlung.................................................. 128 Die Simulation der Gruppenhandlung .............................................. 129 Die Bewertung der Gruppenhandlung .............................................. 129
Inhalt
11
4.3.6.8 4.3.6.9 4.4
Dynamik der zu Grunde liegenden Einstellungen............................. 136 Das Ende der sozialen Praxis ............................................................ 138 Die Ausgabe der Simulationen ......................................................... 138
5 5.1 5.2 5.3 5.4 5.4.1 5.4.2 5.4.3 5.4.3.1 5.4.3.2 5.4.3.3 5.4.3.4
Simulationsergebnisse .................................................................... 141 Kriterien für die Analyse von Simulationsergebnissen..................... 141 Maßnahmen zur Verifikation der Programmregeln .......................... 144 Grafische Verfolgung der Gruppenentwicklung ............................... 147 Kumulierte Simulationsergebnisse ................................................... 154 Variation des Anteils geteilter Absichten und Überzeugungen ........ 154 Sensitivitätsanalyse am Beispiel des Parameters failure_rate........... 163 Muster der Gruppenentwicklung ...................................................... 167 Zufallsbasierte Auswahl von Handlungen ........................................ 170 Überzeugungsbasierte Auswahl von Handlungen ohne Trigger....... 174 Überzeugungsbasierte Auswahl von Handlungen mit Triggern ....... 178 Typische Muster der Gruppenentwicklung....................................... 182
Anhang............................................................................................................. 193 A - Quellcode des Simulationsprogramms SimSoP.pl ..................................... 193 B - Beispiel einer Parameterdatei ..................................................................... 218 C - Muster der Gruppenentwicklung ................................................................ 221 Literatur .......................................................................................................... 231 Index ................................................................................................................ 237
Abbildungen
Abbildung 1: Abbildung 2: Abbildung 3: Abbildung 4: Abbildung 5: Abbildung 6: Abbildung 7: Abbildung 8: Abbildung 9: Abbildung 10: Abbildung 11: Abbildung 12: Abbildung 13: Abbildung 14: Abbildung 15: Abbildung 16: Abbildung 17: Abbildung 18: Abbildung 19: Abbildung 20: Abbildung 21: Abbildung 22: Abbildung 23: Abbildung 24: Abbildung 25: Abbildung 26: Abbildung 27: Abbildung 28: Abbildung 29: Abbildung 30: Abbildung 31:
Simulation als Methode nach N. Gilbert / K.G. Troitzsch...... 30 Das strukturalistische Modellkonzept..................................... 32 Muster einer sozialen Praxis nach W. Balzer / R. Tuomela.... 78 Die Basisstruktur der Simulationen ........................................ 87 Steuerung des Ablaufs einer Simulationsfolge ....................... 99 Die Generierung der initialen Einstellungen......................... 111 Die Generierung der initialen Intentionen ............................ 112 Die Generierung der initialen Überzeugungen höherer Stufe113 Das Prädikat kernel/2............................................................ 118 Die Aktivierung der Agenten in zufälliger Reihenfolge....... 119 Die Aktivierung der Agenten in aufsteigender Reihenfolge. 120 Die Generierung der Vorschläge, Regelmenge get_random. 122 Die Generierung der Vorschläge, Regelmenge negotiate ..... 123 Initialzustand einer Gruppe mit zehn Agentinnen in Lauf 1. 149 Gruppenentwicklung zum Zeitpunkt 2 in Lauf 1.................. 151 Initialzustand der Gruppe in Lauf 2...................................... 152 Gruppenentwicklung zum Zeitpunkt 2 in Lauf 2.................. 153 Gruppenstärke in Abhängigkeit von percent_int, Regelmenge get_random ........................................................................... 156 Gruppenstärke in Abhängigkeit von percent_int und percent_bel, Regelmenge negotiate ...................................... 158 Sensitivitätsanalyse am Beispiel von failure_rate................. 165 Häufigkeit der Handlungen von G13 in S1 ........................... 170 Relative Häufigkeit der Handlungen von G13 in S1 ............. 171 Beteiligung der Agentinnen an Handlungen in S1 ................ 172 Durchschnittliche Beteiligung an Handlungen in S1............. 173 Anzahl der Beteiligungen zum Zeitpunkt 200 in S1 ............. 173 Häufigkeit der Handlungen von G13 in S2 ........................... 174 Relative Häufigkeit der Handlungen von G13 in S2 ............. 175 Beteiligung der Agentinnen an Handlungen in S2 ................ 176 Durchschnittliche Beteiligung an Handlungen in S2............. 177 Anzahl der Beteiligungen zum Zeitpunkt 200 in S2 ............. 177 Häufigkeit der Handlungen von G13 in S3 ........................... 179
14 Abbildung 32: Abbildung 33: Abbildung 34: Abbildung 35: Abbildung 36: Abbildung 37:
Abbildungen
Relative Häufigkeit der Handlungen von G13 in S3 ............. 180 Beteiligung der Agentinnen an Handlungen in S3 ................ 181 Durchschnittliche Beteiligung an Handlungen in S3............. 182 Anzahl der Beteiligungen zum Zeitpunkt 200 in S3 ............. 182 Durchschnittlich ausgeführte Handlungen pro Typ in G13 .. 183 Beteiligungen an Handlungen zum Zeitpunkt 200 in G13 ... 184
Tabellen
Tabelle 1: Tabelle 2: Tabelle 3: Tabelle 4: Tabelle 5: Tabelle 6: Tabelle 7:
Programmparameter ............................................................... 90 Namen der Programmkonstanten ........................................... 97 Testeinstellungen für die Verifikation der Programmregeln 145 Gruppenstärke zum Zeitpunkt 20 in Abhängigkeit von percent_int, Regelmenge get_random .................................. 157 Gruppenstärke zum Zeitpunkt 20 in Abhängigkeit von percent_int und percent_bel, Regelmenge negotiate ............ 160 Gruppenstärke zum Zeitpunkt 20 in Abhängigkeit der Belegung des Parameters failure_rate................................... 166 Vergleich der Ergebnisse der Simulationsfolgen S1, S2 und S3.......................................................................... 185
Einleitung
Die Untersuchung sozialer Praktiken als elementarer Formen gesellschaftlichen Lebens hat bereits eine lange Tradition in der Philosophie und den Sozialwissenschaften und ist auch heute noch Gegenstand von Reflexion. Auch in dieser Arbeit soll ein Beitrag dazu geleistet werden. Die Dynamik sozialer Praktiken wird mit dem Mittel der Computersimulation untersucht. Im Rahmen dieser Arbeit werden soziale Praktiken als wiederholte Muster gesellschaftlichen Verhaltens betrachtet, die auf gemeinsamen Einstellungen beruhen und in Abhängigkeit von ihrem Erfolg aufrechterhalten, erneuert oder verändert werden. Basierend auf einem allgemeinen Rahmen zur Modellierung sozialer Praktiken (siehe W. Balzer und R. Tuomela 2003) wurde ein Computerprogramm zur Simulation der sozialen Praxis des Gruppenlebens von Freizeitgruppen entwickelt und in der Programmiersprache Prolog am Computer implementiert. Die Simulationsstudie setzt an einer Fragestellung an, die sowohl in der Sozialphilosophie als auch in den Sozialwissenschaften von Interesse ist: welche Bedingungen müssen erfüllt sein, damit eine Gemeinschaft von Agenten beginnt, gemeinsam zu handeln, so dass eine soziale Praxis entsteht und beibehalten wird. Eine These ist, dass dafür insbesondere die zu Grunde liegenden Einstellungen der beteiligten Agenten von Bedeutung sind. Dies soll in dieser Simulationsstudie gezielt untersucht werden. Ein besonderes Augenmerk wurde dabei auf die Modellierung der Verhandlungen über die gemeinsam durchzuführende Handlung gelegt. Die Arbeit ist in zwei Teile gegliedert: Der erste Teil der Arbeit, Kapitel eins bis drei, behandelt den theoretischen Hintergrund für die Modellierung der Simulationen, der zweite Teil, Kapitel vier und fünf, die Modellierung und Realisierung des Simulationsprogramms, die Durchführung von Simulationsexperimenten sowie die Auswertung der Simulationsergebnisse. Auch wenn der Schwerpunkt dieser Arbeit auf der Vorstellung der Simulationsstudie liegt, sollten bei einem Beitrag aus dem Fach Logik und Wissenschaftstheorie einige grundsätzliche Bemerkungen zur Simulation als wissenschaftlicher Methode nicht fehlen. Im ersten Kapitel wird auf die Bedeutung der Computersimulation vom wissenschaftstheoretischen Standpunkt eingegangen. Die technologische Entwicklung während des letzten Jahrhunderts und die Erfindung des Computers eröffnete die Möglichkeit zur breiteren Anwendung von Simulationen in der Wissenschaft, so dass inzwischen Simulation als eigene wissenschaftliche Me-
18
Einleitung
thode neben traditionellen Methoden wie Deduktion und Induktion betrachtet werden kann. Allerdings gibt es immer noch Unterschiede in Verbreitungsgrad und Akzeptanz je nach wissenschaftlicher Disziplin: Hatte sich Simulation als wissenschaftliche Methode im Zuge der Weiterentwicklung der technischen Möglichkeiten in den Naturwissenschaften relativ schnell etabliert, so gestaltet sich der Einsatz von Simulationen in den Sozialwissenschaften aufgrund der komplexen und unscharfen Ontologie sozialer Phänomenbereiche komplizierter. Zunächst sollen anhand von praktischen Beispielen Anwendungsbereiche von Simulationsstudien in der modernen Wissenschaft vorgestellt werden. Ausgehend davon wird auf Besonderheiten von sozialen Simulationen eingegangen. Wesentlich bei der Entwicklung von Simulationen sind die Modelle der intendierten Anwendungen der jeweiligen Simulationsstudie. Der letzte Abschnitt befasst sich mit einigen grundsätzlichen Betrachtungen zur Verwendung des Modellbegriffs in den empirischen Wissenschaften und der Wissenschaftstheorie. Das zweite Kapitel beschäftigt sich mit dem zu Grunde gelegten Verständnis einer sozialen Praxis. In Abgrenzung zu anderen Verwendungen ist hier der Begriff der sozialen Praxis sehr allgemein gefasst: Soziale Praktiken werden als bedeutungsvolle, wiederholt auftretende Muster gesellschaftlichen Handelns betrachtet. Dies umfasst gemeinsame Freizeitaktivitäten, z.B. dass sich einige Freunde sonntags im Park treffen, um Fußball zu spielen, sowie die Durchführung von Meisterschaften im nationalen oder internationalen Rahmen. Andere Beispiele sind Bräuche, wie in Finnland samstags in die Sauna zu gehen oder in bestimmten Regionen Deutschlands an Weiberfasching Krawatten abzuschneiden. Auch institutionalisierte Formen wie das Exerzieren beim Militär, die Verwendung von Geld als Zahlungsmittel oder die Eheschließung zählen zu den sozialen Praktiken. Ausgehend von einem kurzen Überblick über die historische Entwicklung des philosophischen Verständnisses von Praxis soll in diesem Kapitel das dieser Arbeit zu Grunde liegende Verständnis sozialer Praktiken erläutert und einige Gemeinsamkeiten dieses relativ weiten Spektrums gesellschaftlicher Verhaltensweisen aufgezeigt werden. Für die Modellierung der Simulationen wurden theoretische Erkenntnisse aus verschiedenen Forschungsbereichen herangezogen. Hier sind insbesondere philosophische Konzepte von kollektiver Intentionalität, logische Konzepte zur Formalisierung von Überzeugungssystemen und ihrer Dynamik und aus der KIForschung stammende Konzepte für die Architektur von Multiagentensystemen zu nennen, die im dritten Kapitel kurz vorgestellt werden. Damit eine Gemeinschaft von Personen gemeinsam handelt, müssen die Personen die Handlungen beabsichtigen und Annahmen über Handlungsabsichten anderer Mitglieder der Gemeinschaft mit einbeziehen. In der Philosophie gibt es verschiedene Konzepte
Einleitung
19
zur Modellierung gemeinsamer Einstellungen, an deren Achsen sich zwei gegensätzliche Standpunkte gegenüberstehen. Nach der individualistischen Sichtweise können Einstellungen wie Intentionen und Überzeugungen ausschließlich Individuen zugeschrieben werden, aus holistischer Perspektive kann auch eine Gemeinschaft von Personen als Einheit Einstellungen haben. Diese Konzepte sollen in diesem Kapitel kurz vorgestellt werden. Der zweite Abschnitt beschäftigt sich mit Prinzipien der doxastischen bzw. epistemischen Logik, die bei der Modellierung der Überzeugungsbasis speziell im Hinblick auf die Modellierung wechselseitiger Überzeugungen der Agenten Anwendung fanden. Sowohl oben genannte philosophische Konzepte, als auch logische Regeln zur Modellierung epistemischer Zustände und ihrer Dynamik fanden Eingang bei der Entwicklung von Multiagentensystemen (MAS). Im Kontext des aus der künstlichen Intelligenz stammenden Paradigmas vom rationalen Agenten werden Agenten als Entitäten zur Modellierung mentaler Zustände und rationalen Verhaltens beschrieben. Eine vieldiskutierte Klasse von Modellen für MAS mit intentionalen Komponenten bilden BDI-Architekturen, deren Grundkonzepte kurz vorgestellt werden. Abschließend werden einige Unterschiede zur vorliegenden Modellierung aufgezeigt. Der zweite Teil der Arbeit befasst sich mit der Konzeption eines Programms zur Simulation einer bestimmten Form einer sozialen Praxis und mit der Durchführung von Simulationsexperimenten. Basierend auf dem allgemeinen Rahmen zur Modellierung sozialer Praktiken wurde ein Programm zur Simulation einer bestimmte Form sozialer Praktiken entwickelt: nicht institutionalisierte, nicht-hierarchisch strukturierte Kleingruppen wie Stammtische, Literaturzirkel oder Freizeitsportgemeinschaften. Das Programmpaket zur Simulation der beschriebenen sozialen Praktiken umfasst drei eigenständige Programme: Das Simulationsprogramm SimSoP.pl, sowie die Hilfsprogramme DispSoP.pl zur graphischen Verfolgung des Ablaufs der Handlungen während eines Simulationslaufs und Calcact.pl zur Erzeugung der Programmstatistik. Nach einem kurzen Überblick über Merkmale der Programmiersprache Prolog werden die Prolog-Regeln des Hauptprogramms mit den zu Grunde gelegten Algorithmen für die Auswahl der Gruppenhandlung beschrieben. Die Basisstruktur der Simulationen ist immer gleich: Die Simulation verwendet die endlichen Mengen T, eine Menge von Zeitpunkten, A, eine Menge von Agenten, und eine Menge von Einstellungen ATT, die die potentiellen Handlungsabsichten und gegebenenfalls diesbezügliche Überzeugungen enthält. Diese Einstellungen werden aus der Menge ACT der definierbaren Handlungstypen nach einem definierbaren prozentualen Anteil per Zufallsauswahl generiert. Die Einstellungen bilden die Grundlage für die Ermittlung der durchzuführenden Gruppenhandlung. Hierbei kommen unterschiedliche Regelmengen zum Einsatz, die verschiedene Modellklas-
20
Einleitung
sen der sozialen Praxis des Gruppenlebens von Freizeitgruppen charakterisieren: Entweder wird die Gruppenhandlung zufällig ausgewählt oder die Agenten verhandeln auf Grundlage ihrer Überzeugungen, welche Gruppenhandlung auszuführen ist. Nach jeder Ausführung einer Gruppenhandlung bewerten die Agenten den Erfolg dieser gemeinsamen Aktivität. Fällt die Bewertung positiv aus, werden die der Praxis zu Grunde liegenden Einstellungen beibehalten, fällt die Bewertung negativ aus, werden die entsprechenden Einstellungen aufgegeben. Bei zu vielen Misserfolgen beginnen einzelne Agenten die Gruppe zu verlassen, was im Laufe der Zeit zur Aufgabe der Praxis führen kann. Das letzte Kapitel der Arbeit befasst sich mit der Durchführung von Simulationsexperimenten und der Auswertung der Simulationsergebnisse. Um das Verhalten der Simulationen zu untersuchen, wurde für die Durchführung der Simulationsexperimente aus der Menge der möglichen Praktiken des Gruppenlebens von Freizeitgruppen eine bestimmte Art einer Freizeitgruppe herausgegriffen: eine Gruppe von Frauen, die sich ungefähr einmal monatlich trifft, um gemeinsam verschiedenen Interessen nachzugehen, z.B. kulturelle Veranstaltungen zu besuchen, Sport zu treiben oder sich einfach zu unterhalten. Zu Beginn dieses Kapitels werden die Kriterien diskutiert, nach denen die Simulationsergebnisse strukturiert und ausgewertet wurden. Danach werden anhand der grafischen Aufbereitung einer Simulation die Verhandlungen der Agenten über die durchzuführende Gruppenhandlung erläutert. Abschließend werden für die implementierten Regelmengen folgende Untersuchungen durchgeführt: a) die Auswirkung der Erhöhung des Anteils gemeinsamer Intentionen und gegebenenfalls Überzeugungen auf Gruppenstärke und -zusammenhalt b) eine Sensitivitätsanalyse am Beispiel des Parameters failure_rate, der die akzeptable Rate von Misserfolgen angibt und c) ob spezifische Muster in der Gruppenentwicklung in Abhängigkeit von der verwendeten Regelmenge entstehen.
1 Simulation
Seit dem letzten Jahrhundert wird die Computersimulation als neue wissenschaftliche Methode in vielen Bereichen von Wissenschaft und Forschung angewendet. Trotz steigender Akzeptanz gibt es immer noch Bedarf, über die Aussagekraft von Simulationsergebnissen, sowie über Methoden zu ihrer Validierung und Verifikation zu diskutieren. Hier ist auch die Wissenschaftstheorie gefragt. So ist vom wissenschaftstheoretischen Standpunkt aus die Beschäftigung mit Computersimulation in verschiedener Hinsicht interessant. Einerseits ist die Computersimulation als wissenschaftliche Methode Gegenstand der Forschung, andererseits können Simulationen in der Wissenschaftstheorie natürlich auch angewendet werden. Ziel dieses Kapitels ist es, einen kurzen Überblick über die Computersimulation als wissenschaftliche Methode zu geben. Im ersten Abschnitt sollen anhand von praktischen Beispielen Anwendungsbereiche von Simulationsstudien in der modernen Wissenschaft vorgestellt werden. Im zweiten Abschnitt wird auf einige spezielle Aspekte der sozialen Simulation eingegangen. Wesentlich bei der Entwicklung von Simulationen sind die Modelle der intendierten Anwendungen der jeweiligen Simulationsstudie. Der letzte Abschnitt befasst sich mit einigen grundsätzlichen Betrachtungen zur Verwendung des Modellbegriffs in den empirischen Wissenschaften und der Wissenschaftstheorie.
1.1 Simulation als wissenschaftliche Methode Die technologische Entwicklung während des zwanzigsten Jahrhunderts ermöglichte es, Simulationen am Computer durchzuführen. Inzwischen werden Computersimulationen sowohl in der Wissenschaft, als auch in Wirtschaft und Industrie in vielen Bereichen angewendet. Eine Stichprobe, die aus über das Internet zugänglichen Datenbanken mit Informationen über geförderte Forschungsprojekte gewonnen wurde, soll einen ersten Eindruck der Anwendungsbereiche von Simulationen in Wissenschaft und Forschung vermitteln.1 Folgende Ergebnisse 1 Die Stichprobe wurde am 14. August 2005 erhoben. Da die Projektliste sowohl von GEPRIS (siehe www.dfg.de) als auch von CORDIS (siehe www.cordis.lu), Fifth Framework Program, Mehrfach-
22
1 Simulation
wurden dabei ermittelt: In der Datenbank GEPRIS, die Projekte enthält, die von der Deutschen Forschungsgesellschaft DFG gefördert werden, wurden aus einer Menge von 19.819 Einträgen 1.216 Einträge ermittelt, die die Worte „Simulation“, „Computersimulation“, oder „simulieren“ im Titel oder im Abstrakt enthalten. Ähnliche Ergebnisse wurden in der Datenbank von CORDIS (Community Research & Development Information Services) erzielt, die Informationen über von der Europäischen Union geförderte Forschungsaktivitäten enthält, darunter Projekte, Exzellenz-Netzwerke, koordinierte Handlungen oder politische Maßnahmen wie den Aufbau von Infrastrukturen für die Forschung. Aus der Gesamtheit von 17.443 Einträgen für das “Fifth Framework Program” wurden in der Datenbank 819 Sätze mit den Schlagworten „simulation“, „simulating“, „simulate“, oder „simulator“ gefunden. Die gleiche Abfrage ermittelte 145 von insgesamt 2.309 Maßnahmen in dem zum damaligen Zeitpunkt gerade gestarteten “Sixth Framework Program“. Die Klassifikation der Datenbank GEPRIS umfasst vier wissenschaftliche Disziplinen – Naturwissenschaften, Ingenieurwissenschaften, Lebenswissenschaften und die Zusammenfassung von Sozial- und Geisteswissenschaften –, vierzehn Wissenschaftsbereiche, vierundachtzig Fachkollegien und zweihunderteins Fachbereiche. In dreizehn der vierzehn Wissenschaftsbereiche wurden Projekte gefunden, die sich in irgendeiner Form mit Simulation befassen. Auffallend ist der zunehmend interdisziplinäre Charakter. In Simulationsprojekten arbeiten nicht nur Wissenschaftler aus demjenigen Wissenschaftsbereich mit, dem das Projekt zugeordnet ist, sondern die Projekte sind fächerübergreifend besetzt. Zum Beispiel sind neben Wirtschaftswissenschaftlern und Betriebswirten auch Informatiker, Systemanalytiker, Fertigungsplaner und Medizintechniker in Projekten vertreten, die dem Fachkollegium für Wirtschaftswissenschaften zugeordnet sind. Derartige Tendenzen treten in europäischen Projekten sogar noch stärker zu Tage. Da die von der Europäischen Gemeinschaft geförderten Projekte nicht nur in internationaler, sondern auch häufig in interdisziplinärer Zusammenarbeit durchgeführt werden, werden diese Aktivitäten nicht mehr einzelnen Fachbereichen zugeschrieben. Europäische Aktivitäten, die mit Simulation befasst sind, finden in zwölf von zwanzig so genannten Aktivitätsbereichen des sechsten Rahmenprogramms statt. Dennoch haben die Anwendungen von Simulationen in nationalen und europäischen Projekten viele Gemeinsamkeiten. Meistens konnennungen für Projekte enthalten konnte - z.B. wenn sich die Projektleitung während der Förderungsmaßnahme geändert hatte oder wenn eine Verlängerung genehmigt wurde -, erlauben diese Ergebnisse nur Rückschlüsse auf den Anteil von Projekten, die sich in irgendeiner Form mit Simulation befassen. In der Projektliste des Sixth Framework Program wurden zum damaligen Zeitpunkte keine doppelten Einträge ermittelt.
1.1 Simulation als wissenschaftliche Methode
23
zentrieren sich die Projekte nicht auf Simulationen, sondern die Simulation wird als eine Methode neben anderen angewendet. Immer noch stellen Projekte, die von Vertretern wissenschaftlicher Disziplinen geleitet werden, die „traditionell” Simulationen einsetzen, den größten Anteil unter den geförderten Projekten, die sich mit Simulation befassen. An der Spitze stehen die Ingenieurwissenschaften, gefolgt von Natur- und Lebenswissenschaften. Die Sozial- und Geisteswissenschaften bilden das Schlusslicht. Bei letzteren sind auch Projekte vertreten, die sich nicht nur mit der Anwendung von Simulationen für die Forschung, sondern auch mit der Analyse der Anwendung von Simulation in der Wissenschaft befassen und damit auf der Meta-Ebene arbeiten. Ein Blick auf die Projektbeschreibungen zeigt ein beachtliches Spektrum von Anwendungsbereichen für Simulationen. In der Medizin wird die weitere Entwicklung dreidimensionaler Körpermodelle erforscht, um medizinische Untersuchungen und Operationstechniken mit Hilfe von Simulationen zu erlernen. In der Archäologie und prähistorischen Forschung wird dreidimensionale Simulation für die Rekonstruktion (prä-)historischer Bauwerke oder für die Visualisierung des Lebens in prähistorischen Gesellschaften verwendet. Die Kognitionswissenschaften untersuchen agentenbasierte Modelle, deren künstliche Agenten mit Vertrauen und Reputation arbeiten, um die Sicherheit in virtuellen Gemeinschaften zu verbessern. Die Veterinärmedizin und die Biometrie verwenden stochastische Simulationen, um Methoden für die Auswahl von Modellen in der Viehzucht zu verifizieren, und in der Hochgeschwindigkeits-Dynamik unterstützt die numerische Simulation die Entwicklung und Verbesserung von Modellen für Materialien zum Schutz von Raumfahrzeugen gegen Weltraummüll. Ein weiterer Anwendungsbereich für Simulationen, der häufig in interdisziplinärer Zusammenarbeit genutzt wird, ist die Untersuchung komplexer Systeme wie Öko-, Klima-, Verkehrs- oder Transportsysteme. Dieser Anwendungsbereich hat auf Grund der Diskussion um die Folgen der globalen Erderwärmung immens an Bedeutung gewonnen. Da Daten über die Auswirkungen verschiedener Störfaktoren auf derartige Systeme von diesen oft nur schwer zu bekommen sind, bleibt für Zukunftsprognosen häufig nur die Simulation. Diese Beispiele zeigen nicht nur die große Bandbreite der Anwendung von Simulation in Wissenschaft und Forschung, sie spiegeln auch die Bandbreite der Gründe für die Anwendung von Simulationen wider (vgl. R. Axelrod 1997b), sowie N. Gilbert und K.G. Troitzsch 1999). Ein verbreiteter Zweck der Anwendung von Simulationen ist die Vorhersage, die es erlaubt, eine Prognose auf der Basis von Hypothesen einer Theorie auf der Grundlage von möglicherweise komplexen Eingabedaten zu erstellen. Training, Ausbildung und Unterhaltung sind neben wissenschaftlichen auch kommerzielle Anwendungsbereiche für die Computersimulation. Von der Visualisierung des Lebens einer prähistorischen
24
1 Simulation
Gesellschaft in einem Museum zu ihrer Anwendung in einem Computerspiel ist es kein großer Schritt. Weitere Anwendungsbereiche für Simulationen sind es, das Verständnis eines Prozesses zu fördern, sowie Experimente zu unterstützen oder zu ersetzen. Spezialfälle von Ersetzung sind Expertensysteme, die das Fachwissen von Experten simulieren, so dass auch Nicht-Experten in der Lage sind, eine Diagnose zu erstellen, die sonst einen menschlichen Experten erfordern würde. Zum Beispiel könnten dreidimensionale Körpermodelle nicht nur in der Ausbildung benutzt werden, sondern auch für automatisierte Krankheitsdiagnosen und Behandlungsvorschläge. Neben diesen „klassischen” Anwendungsbereichen von Simulation gewinnt die Entdeckung an Bedeutung. Die Computersimulation kann helfen, wichtige Beziehungen und Prinzipien mit Hilfe einfacher Modelle zu entdecken, auf die sonst schwer zuzugreifen wäre. Dieser Aspekt ist aufgrund der komplexen Ontologie sozialer Phänomene auch in der sozialen Simulation von besonderem Interesse.
1.2 Soziale Simulation Auch wenn ein Blick auf aktuelle Forschungsprojekte gezeigt hat, dass sich die Simulation als wissenschaftliche Methode etabliert hat, gibt es immer noch Unterschiede in Verbreitungsgrad und Akzeptanz je nach wissenschaftlicher Disziplin: Gehört die Anwendung von Simulationen im Zuge der Weiterentwicklung der technischen Möglichkeiten vor allem in den Ingenieur- und Naturwissenschaften beinahe schon zum wissenschaftlichen Alltag, so verhalten sich die Sozialwissenschaften immer noch zurückhaltender.2 Dies gilt auch für andere Fachbereiche, die Beiträge zur sozialen Simulation liefern. Unter der Bezeichnung soziale Simulation werden Simulationsstudien erfasst, die zum sozialwissenschaftlichen Bereich zählen, darunter Beiträge aus der Soziologie, Ökonomie, Organisationstheorie, Rechtswissenschaft, Anthropologie, Geographie, Sozialund Moralphilosophie, Politikwissenschaften und Sozialpsychologie (siehe R. Conte et al. 1997). Auch wenn erste Anwendungen sozialer Simulationen bereits aus den späten sechziger Jahren des letzten Jahrhunderts stammen, z.B. Schellings Segregationsmodelle (T. Schelling 1969 und 1971) oder Forresters Weltmodelle (J. W. Forrester 1968 und 1971), konnte sich die Simulation in den So2 Eine erneute Stichprobe, die am 31. Mai 2007 aus der Datenbank GEPRIS entnommen wurde, lieferte für die Fachkollegien des Bereichs Sozial- und Verhaltenswissenschaft folgende Ergebnisse (für jedes Fachkollegium steht an erster Stelle die Anzahl aller zu diesem Zeitpunkt geförderten Projekte, an zweiter Stelle die Anzahl der Projekte, bei denen das Wort „Simulation“ oder „simulieren“ im Titel oder Abstrakt gefunden wurde): Erziehungswissenschaft 358 / 5, Psychologie 1.120 / 8, Sozialwissenschaften 979 / 0, Betriebswirtschaft 689 / 14 und Rechtswissenschaft 482 / 0.
1.2 Soziale Simulation
25
zialwissenschaften wesentlich langsamer etablieren als in den Ingenieur- und Naturwissenschaften. Sicherlich gibt es historische Gründe hierfür. Früher war es sehr aufwendig, sich die notwendigen Fertigkeiten zur Entwicklung von Computersimulationen anzueignen, z.B. Programmiersprachen, Kommandos oder Skriptsprachen zur Bedienung von Computern, und es lenkte obendrein vom eigentlichen Gegenstand der Forschung ab. Die Mittel für den Erwerb teurer Maschinen und für die Bezahlung von Spezialisten mit Programmierkenntnissen waren insbesondere in den Sozialwissenschaften begrenzt. Da inzwischen die Bedienungsfreundlichkeit von Computern wesentlich verbessert wurde, die Geräte billiger geworden sind und eine Reihe von Tools speziell für soziale Simulation entwickelt wurde, fallen in den Sozialwissenschaften aber noch andere Gründe ins Gewicht:
Die allgemeine Frage, ob es möglich ist, einen sozialen Prozess durch eine Menge von Gleichungen oder Programmregeln zu formalisieren, die Komplexität der Modelle, und die Tatsache, dass formale Methoden in der wissenschaftlichen Gemeinschaft der Sozialwissenschaften etwas reserviert betrachtet wurden.
Immer noch sind statistische Computeranwendungen in den Sozialwissenschaften gebräuchlicher als Simulation. Es ist einfacher, den Zustand von Individuen und ihre Beziehungen an einem bestimmten Zeitpunkt zu beschreiben, als die Änderungen dieser Zustände im Laufe der Zeit zu modellieren, bzw. zu modellieren, wie das Verhalten von Individuen das Verhalten eines sozialen Systems beeinflusst. Die Komplexität dynamischer Systeme und die Aufgabe, den gewünschten Teil der Realität in einer formalen Sprache zu beschreiben, die auf einem Computer ausgeführt werden kann, stellt hohe Anforderungen an den Modellierer (vgl. A. Engel und M. Möhring 1995). Der damit verbundene Prozess der Formalisierung kann jedoch auch als ein Vorteil der Anwendung von Simulationen in der Sozialwissenschaft betrachtet werden. Die Erstellung einer Spezifikation, die auf einem Computer implementiert werden kann, erfordert eine präzise Formulierung der Hypothese der Theorie, was wiederum erfordert, Theorien zu formalisieren, die früher nur in textueller Form vorgelegen haben. Gilbert und Troitzsch stellen fest, dass „in dieser Beziehung die Computersimulation in den Sozialwissenschaften eine ähnliche Rolle hat wie die Mathematik in den Naturwissenschaften“ (N. Gilbert und K.G. Troitzsch 1999: 5, meine Übersetzung). Neben dem Zwang zur Präzisierung von informell dargestellten Theorien bietet der Einsatz von Computersimulationen speziell in den Sozialwissenschaften noch eine Reihe weiterer Vorteile:
26
1 Simulation
Vor der Möglichkeit der Anwendung von Computersimulationen standen zur formalen Beschreibung der Dynamik sozialer Systeme nur traditionelle mathematische Verfahren zur Verfügung. Hier wurden vor allem Differentialgleichungssysteme verwendet. Diese sind, da sie keinen einfachen Gesetzen gehorchen, für die Modellierung der Dynamik sozialer Systeme nur bedingt geeignet (vgl. A. Engel und M. Möhring 1996, K. G. Troitzsch 1989):
Die Variablen in Differentialgleichungen haben reelle Werte, in sozialen Kontexten werden jedoch häufig Ganzzahlen benötigt (z.B. für die Modellierung von Populationen). Analytische Lösungen sind lediglich für einfache Differentialgleichungssysteme bekannt bzw. auffindbar. Für die Modellierung der meisten sozialen Systeme sind, falls sie überhaupt mit deterministischen Modellen beschrieben werden können, nichtlineare Differentialgleichungssysteme besser geeignet, für die im Allgemeinen keine analytischen Lösungen gefunden werden können. Die Modellierung komplexer Systeme durch Differentialgleichungssysteme birgt die Gefahr problematischer Vereinfachungen.
Computersimulationen bieten eine Möglichkeit, wissenschaftliche Untersuchungen durchzuführen, ohne unmittelbare Eingriffe in das zu analysierende soziale System vorzunehmen: „Da Analysen sozialer Systeme oft nicht ohne Eingriffe in soziale Prozesse möglich (Reaktivität) oder aus moralischen Gründen nicht vertretbar sind (Forschungsethik), bietet die Modellbildung einen Ausweg, um wissenschaftliche Untersuchungen auch ohne unmittelbare Einwirkung auf zu analysierende soziale Prozesse vorzunehmen.“ (A. Engel und M. Möhring 1995: 41).
Allerdings muss angemerkt werden, dass die Grenzen hier fließend sind und spätere Einwirkungen nicht ausgeschlossen werden können. Auch die anschließende Publikation von Simulationsergebnissen kann soziale Prozesse beeinflussen. In bestimmten Fällen kann dies intendiert und je nach Anwendungsbereich auch moralisch vertretbar sein (z.B. bei Simulationen für die bessere Verwertung bzw. gerechtere Aufteilung von Ressourcen oder für soziale Maßnahmen zur Prävention der Ausbreitung von Epidemien).
1.2 Soziale Simulation
27
Letztendlich bleibt es den Forschern überlassen, für sich zu entscheiden, wo die Grenze für Eingriffe in soziale Prozesse zu ziehen ist. 3 Die Möglichkeiten zur Durchführung von Experimenten sind in den Sozialwissenschaften – abgesehen von bereits diskutierten moralischen Aspekten – sehr beschränkt. Personen, die sich für längere Zeiträume unter unterschiedlichen Bedingungen für Experimente zur Verfügung stellen sind selten verfügbar, so dass es praktisch unmöglich ist, Experimente mit variablen Parametern zu wiederholen, von Feldstudien ganz zu schweigen (vgl. J. Klüver et al. 2006: 106).
Die Anwendung von Computersimulationen eröffnet somit gerade den Sozialwissenschaften neue Möglichkeiten für die Untersuchung ihrer intendierten Anwendungen. Methodologisch ermöglicht eine Simulationsstudie, Experimente mit präzise formulierten Annahmen und Hypothesen durchzuführen, die statistisch analysiert werden können. Wenn es erforderlich ist, können sie beliebig wiederholt werden oder auch systematisch modifiziert werden (vgl. R. Axelrod 1997a). Somit kann Simulation neben traditionellen Methoden wie Deduktion und Induktion als neue wissenschaftliche Methode betrachtet werden. Axelrod stellt in seinem Artikel Advancing the Art of Simulation in the Social Sciences fest: “Simulation is a third way of doing science. Like deduction it starts with a set of explicit assumptions. But unlike deduction it does not prove theorems. Instead, a simulation generates data that can be analysed inductively” (R. Axelrod 1997b: 24). In diesem Sinne kann Simulation als “a way of doing thought experiments” gesehen werden. Gedankenexperimente können als Ausflüge in mögliche Welten betrachtet werden, die Auskunft über die reale Welt geben können, oder, in Castis Worten ausgedrückt, “studying possible worlds can help to learn more about the world as it is“ (J. L. Casti 1997). Etymologisch stammt das Wort „Simulation” vom lateinischen Substantiv simulatio, -onis ab, das „Vorspiegelung“ oder „Vortäuschung“ bedeutet, normalerweise in betrügerischer Absicht. Diese Bedeutung kann immer noch in abgeleiteten Wörtern zeitgenössischer indoeuropäischer Sprachen gefunden werden, ein Beispiel ist das deutsche Wort „Simulant”. Inzwischen ist jedoch eine weitere Bedeutung des Wortes „Simulation” in indoeuropäischen Sprachen gebräuchlicher, die auf das lateinische Verb simulare zurückgeht, das unter anderem „imitieren” heißt. Die gemeinsame Wurzel beider lateinischen Wörter ist similis 3 Ein prominentes Beispiel für die Überschreitung ethisch-moralischer Grenzen ist das StanfordExperiment aus dem Jahre 1971, in dem mit Studenten, die sich als freiwillige Versuchspersonen für ein psychologisches Experiment zur Verfügung gestellt hatten, eine Wärter-Gefangenen-Situation simuliert wurde. Das Experiment musste abgebrochen werden, nachdem die Gruppe der „Wärter“ begonnen hatte, die „Gefangenen“ systematisch zu quälen und zu erniedrigen.
28
1 Simulation
„ähnlich”, das vom altlateinischen Wort semol „zusammen“ abstammt, was wiederum hypothetisch aus der proto-indoeuropäischen Wurzel *sem- hervorgegangen ist, dem Stamm des englischen Wortes “same”. Somit kann, ganz allgemein, eine Simulation als die Handlung oder der Prozess des Imitierens bezeichnet werden, so z.B. in S. Hartmann 1996 – “simulation imitates one process by another process” -, wobei sich Prozess auf eine zeitliche Abfolge von Zuständen eines Systems bezieht. In der informatischen Literatur zur Simulation wird häufig die in P. Bratley et al. 1987 gegebene Definition “simulation means driving a model of a system with suitable inputs and observing the corresponding outputs” zitiert. Man kann feststellen, dass damit bei einer Simulation nicht notwendigerweise die Verwendung eines Computers vorausgesetzt wird.4 So können zum Beispiel mittelalterliche Ritterturniere, die heutzutage zu Schauzwecken veranstaltet werden, im erweiterten Sinn als Simulationen betrachtet werden. Für die Anwendung von Simulationen in der Wissenschaft war die Erfindung des Computers jedoch ein Meilenstein.
1.3 Modelle In P. Bratley’s Definition wird deutlich, dass das Konzept des Modells eine zentrale Komponente in der Entwicklung von Simulationen ist. Allerdings wird der Ausdruck „Modell” in den Wissenschaften ambig verwendet. Balzer et al. stellen in An Architectonic for Science fest: Empirical scientists tend to use “model” in the sense of picture, as when they say that a certain set of equations “is a model” of some subatomic phenomena or some real-life market situations. Logicians and mathematicians consistently use “model” in the sense of the thing depicted by a picture (= by a theory).[…] Therefore, instead of saying that certain equations are a model of subatomic or economic phenomena, we propose to say that the subatomic or economic phenomena are models of the theory represented by those equations (W. Balzer et al. 1987: 3).
Diese Verwendungen des Modellbegriffs sind gegensätzlich. Nicht nur, dass Modelle unterschiedliche Urbilder haben, auf der einen Seite den zu untersuchenden Teil der Realität, auf der anderen Seite das theoretische Konzept der Realität, sie unterscheiden sich auch in der Stelligkeit. Normalerweise charakterisiert eine Menge von Gleichungen eine größere Anzahl von Phänomenen, wäh4 Obwohl diese Tatsache bekannt ist, wird im Rahmen dieser Arbeit nicht explizit zwischen Simulation und Computersimulation unterschieden, sondern Simulation wird abgekürzt für Computersimulation verwendet.
1.3 Modelle
29
rend sich das “thing depicted by a picture” auf einzelne Konstrukte bezieht. Auch bei Simulationsstudien wird der Ausdruck “Modell” in der Literatur ambig verwendet und zwar in dem Kontext, der in der wissenschaftlichen Gemeinschaft gebräuchlich ist, aus der die Simulationsstudie stammt. In der sozialen Simulation wird meist der Modellbegriff der empirischen Wissenschaften verwendet, während in der Literatur zu Multiagentensystemen auch die Verwendung des mathematisch-logischen Modellbegriffs gefunden werden kann (siehe z.B. M. Wooldrige 2000). Obwohl auch in der Wissenschaftstheorie empirische Methoden angewendet werden können, wird zumindest in der strukturalistischen Wissenschaftstheorie der mathematische Modellbegriff verwendet. Da diese Arbeit am Grenzbereich verschiedener Forschungsbereiche angesiedelt ist – sie stammt aus dem Fach Logik und Wissenschaftstheorie, versteht sich aber als Beitrag zur sozialen Simulation -, soll an dieser Stelle kurz auf die unterschiedliche Verwendung des Modellbegriffs eingegangen werden.
1.3.1 Der Modellbegriff in den empirischen Wissenschaften In der Literatur zu sozialer Simulation wird üblicherweise der Modellbegriff der empirischen Wissenschaften verwendet, der aus der Systemtheorie bzw. der allgemeinen Modelltheorie stammt (z.B. H. Stachowiak 1973). Auch wenn unterschiedliche Detaillierungsgrade angenommen werden können (z.B. F. Klügl 2001: 47) kommt dem Prozess der Modellbildung auch bei Simulationsstudien eine zentrale Rolle zu (siehe Abbildung 1, dargestellt nach N. Gilbert / K.G. Troitzsch 1999: 16). Ausgehend von einem Teil der „realen Welt”, dem gewünschten Studienobjekt, wird das Modell konstruiert. Dieses Phänomen wird als reales System (J. L. Casti 1997) oder Zielsystem (N. Gilbert und K.G. Troitzsch 1999) bezeichnet. Ähnlich wie der in der Systemtheorie häufig verwendete Begriff Originalsystem ist letzterer nicht auf reale Systeme begrenzt, sondern er erlaubt es, auch Modelle als Systeme zu verstehen. Ziel ist es, ein Modell des Ziel- bzw. Originalsystems zu erstellen, das einfacher zu untersuchen ist, als das Originalsystem selbst. Nach dieser Sichtweise ist das Modell ein (mentales) Abbild, durch das reale Phänomene, z.B. eine real existierende Marktsituation, abgebildet werden. Das Modell erhält man aus dem Originalsystem, dem Urbild, durch Abstraktion. Der Modellierer formuliert seine Hypothesen über das System durch abstrakte Beschreibung desselben. Modelle sind somit konzeptionelle Konstrukte. Zur Konstruktion des Modells können verschiedene Mittel herangezogen werden, darunter Sprache, grafische Darstellungen, oder plastische Rekonstruktion. In der Wissenschaft existiert eine große Anzahl von Modellen, die den abzubildenden Teil der
30
1 Simulation
Realität in einer formalen Sprache beschreiben. Formale Modelle werden durch eine Spezifikation beschrieben – eine Menge mathematischer Gleichungen, eine Menge logischer Aussagen oder eine Menge von Programmregeln. Bei Simulationsstudien wird ein Modell meist durch eine Menge von Programmregeln beschrieben, was manchmal vereinfachend als Computermodell bezeichnet wird (vgl. W. Balzer 1997: 117-123). Abbildung 1:
Simulation als Methode nach N. Gilbert / K.G. Troitzsch Simulation
Modell
Simulierte Daten
Abstraktion
Ähnlichkeit
Original- bzw. Zielsystem
Gesammelte Daten Datensammlung
Ein Computermodell kann somit als Sonderform eines formalen Modells betrachtet werden. Es stellt einen Teil eines Originalsystems dar und reproduziert sein Verhalten oder ein anderes gewünschtes Merkmal am Computer. Das Ergebnis einer Computersimulation sollte mit Ergebnissen anderer Experimente und den Daten, die über das System vorliegen, aus dem das Modell abstrahiert wurde, verglichen werden. K. G. Troitzsch 2004 fasst den Prozess der Modellierung wie folgt zusammen: “A model is built by abstraction from a target system, it is translated into a computer program which can then be run and delivers results in the form of simulated data which can, and have to, be compared to data gathered from the same kind of target systems in the real world from which the model was abstracted”. Der Abstraktionsprozess während der Entwicklung des Modells erfordert es, wesentliche Merkmale des untersuchten Systems zu vereinfachen. Folgende Sätze charakterisieren die Beziehung zwischen dem Modell und dem Originalsystem (siehe N. Saam 1998a, H. Stachowiak 1973):
1.3 Modelle
31
Modelle sind nicht identisch mit dem Originalsystem, sondern sie sind Abbildungen des Originalsystems. Modelle reproduzieren nicht alle Aspekte des Originalsystems, das sie abbilden, sondern nur die Teile, die ihre Konstrukteure und/oder Anwender als relevant erachten. Modelle können nicht vollständig mit dem Originalsystem assoziiert werden. Sie erfüllen ihre Funktion a) für einen menschlichen oder künstlichen Anwender des Systems, b) innerhalb eines bestimmten Zeitabschnitts und c) für bestimmte Zwecke.
Der gegebene Spielraum in der Modellierung kann die Konstruktion von guten wie schlechten Modellen zur Folge haben. Abgesehen von generellen Fragen – wie der nach der Gültigkeit -, lässt sich in einer ersten Näherung sagen, dass der Grad, in dem das Wesen des repräsentierten Systems durch das Modell erfasst wird, ein Merkmal ist, an dem ein gutes Modell von einem schlechten Modell unterschieden werden kann (J. W. Forrester 1971).
1.3.2 Der wissenschaftstheoretische Modellbegriff Der Modellbegriff in der strukturalistischen Wissenschaftstheorie orientiert sich an der mathematischen Modelltheorie.5 Danach ist ein Modell eine (mengentheoretische) Struktur, die aus einer Menge von Objekten und Relationen und einer Axiomenmenge besteht. Die Objekte und Relationen werden mit Ausdrücken aus der Sprache der Theorie bezeichnet. Die Axiome enthalten neben logischen und mathematischen Ausdrücken nur die Grundbegriffe der Theorie. Ein Modell für die gegebene Axiomenmenge ist per Definition eine Struktur, in der all diese Axiome gültig, d.h. erfüllbar sind (vergleiche W. Balzer 1997: 90). Modelle werden immer in Bezug zu der wissenschaftlichen Theorie betrachtet, die sie repräsentieren. Eine minimale Anforderung für eine wissenschaftliche Theorie ist, dass sie wenigstens aus einer Hypothese H und einer Menge von Daten D besteht, aus denen die initialen Bedingungen Ix für die verschiedenen Modelle x der Theorie T ausgewählt werden können. Entsprechend muss eine Theorie mindestens zwei Modellklassen enthalten, die die Hypothese und die Daten repräsentieren. Wissenschaftliche Theorien enthalten weitere Komponenten, insbe5 Ein Ziel dieses Ansatzes ist es, die Beziehung zwischen Syntax und Semantik einer wissenschaftlichen Theorie zu charakterisieren und das mathematische Konzept der Erfüllbarkeit einer Axiomenmenge auf eine wissenschaftliche Theorie anwenden zu können. “A possible realization in which all valid sentences of a theory T are satisfied is called a model of T“ (vgl. Tarski nach P. Suppes 1969: 289).
32
1 Simulation
sondere eine Angabe der intendierten Anwendungen, also von realen oder abstrakten Systemen, zu deren Untersuchung H beitragen soll und von denen die Daten ermittelt wurden oder ermittelt werden können. Des Weiteren ist ein Approximationsapparat erforderlich, um die Passung zwischen Daten und Gesetzen metatheoretisch beschreiben zu können. Abbildung 2:
Das strukturalistische Modellkonzept6 Theorie
Repräsentation Modell
reales System
Denotation
reales System
Modell
Modell
reales System
simuliertes System
…
…
intendierte Systeme
Modelle werden durch die Sätze der Theorie charakterisiert: durch Axiome, Hypothesen, Gesetze oder Annahmen. Umgekehrt bestimmt die Satzmenge die Modellklassen der Theorie, d.h. die Klasse aller Modelle, die die Satzmenge erfüllt. Die Modellklasse liefert die Semantik für die Satzmenge. In der Sprache wird dieser Unterschied zwischen syntaktischen und semantischen Elementen einer Theorie häufig missachtet. Wenn wir über die Gesetze der Theorie sprechen, meinen wir tatsächlich die Klasse aller Modelle, die die Gesetze der Theorie erfüllt. Auch wenn der Modellbegriff in der Wissenschaftstheorie und den empirischen Wissenschaften unterschiedlich verwendet wird, gibt es Ähnlichkeiten auf der konzeptionellen Stufe. In der strukturalistischen Sichtweise sind Modelle ebenfalls mentale Konstrukte, die Teile realer Systeme repräsentieren kön6 Diese Abbildung orientiert sich an einer Grafik aus K.G. Troitzsch 1988: 8.
1.3 Modelle
33
nen. Insofern ist diese Sichtweise also eine Differenzierung, da hier explizit zwischen syntaktischen und semantischen Elementen unterschieden wird. Es bleibt noch das Verhältnis zwischen einer wissenschaftlichen Theorie und einer Simulationsstudie zu klären. Im Wesentlichen besteht eine Simulationsstudie aus verschiedenen Läufen eines Computerprogramms. Simulationsprogramme werden entweder in einer Programmiersprache geschrieben oder mit einem Tool durchgeführt, in das die Spezifikation in einer Metasprache eingegeben wird. In beiden Fällen muss die Spezifikation in ein ausführbares Computerprogramm übersetzt werden. Ein Computerprogramm ist ein Regelsystem, das die Maschine veranlasst, von einem Initialzustand in einen Folgezustand zu gehen. Eine Folge solcher Zustandsübergänge wird als Programmablauf bezeichnet. Er beginnt mit einem Initialzustand und endet, wenn eine endliche Menge von Zuständen definiert ist, in einem Endzustand, der nicht mehr durch weitere Anwendung von Programmregeln verändert wird. Des Weiteren verwendet und produziert ein Simulationsprogramm Daten. Die Daten, die zu Beginn des Programmablaufs eingegeben werden, werden als Input bezeichnet. Je nach Schnittstelle können diese Daten von einem (menschlichen) Anwender eingegeben werden, oder in einer Datei übergeben werden, die, eventuell, von einem anderen Programm erzeugt wurde. Die Daten, die das Programm während des Programmablaufs produziert, werden Output genannt. Input und Output sind unter diesem Gesichtspunkt keine Regeln und zählen daher nicht zum Programm. Die Programmregeln sind immer flexibel genug, dass sie auf eine Klasse von Inputs angewendet werden können, die aus verschiedenen Daten der gleichen Struktur besteht. In Abhängigkeit von der Eingabe können mit dem gleichen Regelsystem viele (im Prinzip unendlich viele) Programmläufe durchgeführt werden. Ein Programm kann als Regelsystem betrachtet werden, durch das jedes Element einer Klasse von Inputs in einen entsprechenden Output überführt wird. Normalerweise werden die Modellklassen einer Theorie durch die Axiome der Theorie charakterisiert. Damit eine Modellklasse statt durch Axiome durch Programmregeln ausgezeichnet werden kann, muss der In- und Output passend festgelegt werden (vgl. W. Balzer 1997: 119). Die Terminologie der Programmiersprache Prolog eignet sich besonders gut, dies zu verdeutlichen, obwohl diese Aussage auch für andere Programmiersprachen gilt. In einem Prologprogramm werden Fakten und Regeln unterschieden. Fakten sind atomare Sätze, während Regeln durch Formeln repräsentiert werden, die von komplexerer Natur sind (siehe auch 4.3.1.1 Eigenschaften der Programmiersprache Prolog). In wissenschaftlichen Kontexten entspricht diese Unterscheidung der Unterscheidung zwischen den Daten und der Hypothese einer Theorie. Nach W. Balzer et al. 2001 können die Anforderungen für wissenschaftliche Theorien auf den Bereich der Simulationsstudien wie folgt übertragen werden. Das Gegenstück zu einer
34
1 Simulation
wissenschaftlichen Theorie im Bereich der Computersimulation besteht aus einer Menge korrekter Programmregeln, die der Hypothese der Theorie entsprechen und einer Menge von Mengen initialer Daten, die den Daten der Theorie entsprechen. Wenn das Programm abläuft, d.h. die Programmregeln auf die initialen Daten angewendet werden, haben wir ein Modell der zu Grunde gelegten Theorie, das die Axiome bzw. die Programmregeln erfüllt. Balzer 1997 fasst obige Aussagen wie folgt zusammen: „Computerprogramme sind keine Theorien, sie entsprechen vielmehr den Axiomen für eine Theorie. Modelle entsprechen den Programmabläufen, der Modellklasse einer Theorie entspricht auf der Computerseite die Klasse aller Programmabläufe”7 (W. Balzer 1997: 123). Bleibt noch die Frage zu klären, was die intendierten Systeme einer Simulationsstudie sind. Intendierte Systeme müssen keine konkreten, real existierenden Systeme sein; sie können auch abstrakte, begriffliche Systeme sein. In dieser Beziehung bilden Simulationsmodelle eine spezielle Klasse von Modellen, die anstelle eines realen Systems ein simuliertes System als Gegenstück hat (siehe Abbildung 2). Also kann auch aus strukturalistischer Sicht eine Menge von Programmregeln eine Axiomenmenge ersetzen. Die Menge der Programmregeln wird jedoch nicht als Modell bezeichnet. Die Programmregeln entsprechen in ihrem Status und ihrer Funktion der Axiomenmenge, die eine Modellklasse einer Theorie charakterisiert. Es gibt einige wenige Arbeiten, in denen die unterschiedlichen Modellkonzepte zur Sprache kommen. Neben Arbeiten, die einen allgemeinen Überblick über die Verwendung in mathematisch-logischen Kontexten und Kontexten aus den empirischen Wissenschaften geben (z.B. P. Suppes 1969, W. Balzer et al. 1987, K. G. Troitzsch 1988, S. Hartmann 1996), zeigt K. G. Troitzsch 1996 in Simulation and Structuralism an einem konkreten Beispiel, dass es wesentliche Analogien zwischen einer strukturalistischen Theorierekonstruktion und der objektorientierten Modellierung einer Simulationsstudie gibt. Auch die vorliegende Arbeit versteht sich als Beitrag zur Modellbildung in der sozialen Simulation vom wissenschaftstheoretischen Standpunkt. Auf der Grundlage eines allgemeinen Rahmens zur Modellierung sozialer Praktiken (siehe 4.1.1), der das formale Gerüst lieferte, wurde ein Simulationsprogramm zur Simulation der sozialen Praxis des Gruppenlebens von Freizeitgruppen entwickelt. Mit diesem soll exemplarisch der Prozess der Durchführung einer Simulationsstudie dargestellt werden. Ausgehend von einem Thema, im vorliegenden Fall der Analyse der Dynamik von Freizeitgruppen als spezieller Form einer sozialen Praxis, soll gezeigt werden, wie man über theoretische Formulierungen 7 Es sei angemerkt, dass damit nicht behauptet werden soll, dass jede Axiomenmenge in eine Menge lauffähiger Programmregeln übersetzt werden kann, da es möglich ist, unendliche Strukturen durch Axiome zu charakterisieren, die nicht auf einem endlichen Automaten abgearbeitet werden können.
1.3 Modelle
35
zu einem Simulationsprogramm kommen kann und welche Ergebnisse dabei gewonnen werden können. Von soziologischer Seite mag eingewendet werden, dass hierbei die empirische Erforschung des Gruppenlebens von Freizeitgruppen zu kurz kommt. Dieser Einwand ist berechtigt. Der Fokus dieser Arbeit liegt auf methodologischen Fragestellungen, d.h. auf der exemplarischen Anwendung einer neuen quasiempirischen sozialwissenschaftlichen Methode, In den Computersimulationen werden künstliche Gemeinschaften von Agenten erzeugt, die mit Simulationsexperimenten systematisch untersucht werden. Damit soll veranschaulicht werden, wie die Entwicklung von Simulationsprogrammen und die Auswertung der produzierten Ergebnisse in konkrete Forschungsprozesse eingebunden werden könnte und welche technischen sowie formalen Probleme dabei zu bewältigen sind. Diesem Vorhaben sind die folgenden Kapitel gewidmet.
2 Soziale Praktiken
Mit dem Begriff „soziale Praxis” können sehr unterschiedliche Vorstellungen assoziiert werden. Ziel dieses Kapitels ist es, das den Simulationen zu Grunde liegende Verständnis sozialer Praktiken zu verdeutlichen. Der erste Abschnitt liefert ausgehend vom umgangssprachlichen Praxisbegriff einen kurzen Überblick über die historische Entwicklung des philosophischen Verständnisses von Praxis. Im zweiten Abschnitt soll anhand von Beispielen sozialer Praktiken das dieser Arbeit zu Grunde liegende Verständnis sozialer Praktiken erläutert und einige Gemeinsamkeiten dieses relativ weiten Spektrums gesellschaftlicher Verhaltensweisen aufgezeigt werden. Der letzte Abschnitt dieses Kapitels ist der Dynamik sozialer Praktiken gewidmet. Soziale Praktiken entstehen, etablieren sich und werden vielleicht auch wieder aufgegeben. Eine Idee ist hier, dass das „Feedback“ auf die die Praxis konstituierenden Handlungen für die Beibehaltung der Praxis relevant ist. Bei einem positiven Feedback werden die zu Grunde liegenden Einstellungen der beteiligten Agenten beibehalten oder können sich sogar verstärken. Bei einem negativen Feedback werden diese nicht mehr aufgebaut und die soziale Praxis verschwindet.
2.1 Der Praxisbegriff im Wandel der Zeit Ein Blick ins Internet und in die sozialwissenschaftliche Literatur zeigt, dass der Ausdruck „Praxis” verschiedene Phänomene bezeichnen kann und auch unter „sozialer Praxis” sehr unterschiedliche Formen sozialen Verhaltens verstanden werden können. Häufig kommt das Wort „Praxis” in Arbeits- oder Ausbildungskontexten vor. Bei einzelnen Personen wird es für den Erwerb von Erfahrung in der Ausübung eines Berufs verwendet, und kann sogar den Ort der Tätigkeit bezeichnen, man denke an eine Arzt- oder Anwaltspraxis. Eine weitere Verwendung im individuellen Bereich ist die wiederholte Durchführung ähnlicher Handlungen zu Übungszwecken, zum Beispiel darin, ein Instrument zu spielen. Diese Bedeutungen können von Einzelpersonen auf Gemeinschaften übertragen werden. So wird häufig soziale Praxis im Sinne der in der entsprechenden Gesellschaft angewendeten Arbeits- oder Erziehungsmethoden verstanden. Eine allgemeinere Auffassung von Praxis, für die im Deutschen synonym auch das Wort
38
2 Soziale Praktiken
Praktik verwendet werden kann, impliziert lediglich, dass eine Handlung wiederholt oder gewohnheitsmäßig durchgeführt wird. Ein kurzer Ausflug in die Etymologie zeigt, dass beide Wörter bereits seit der Antike nebeneinander existieren. Die gemeinsame Wurzel beider Wörter ist das ionische Verb prassein (SUDVVHLQ), attisch prattein (SUDWWHLQ) das „durchfahren, ausführen, machen, tun“ bedeutete. In der homerischen Dichtung wurde es sowohl im Sinne von „eine Strecke zurücklegen, bis zum Ende durchfahren” als auch in Bezug auf den Erfolg einer Handlung im Sinne von „etwas zu Ende führen, durchsetzen, erreichen, bewirken, erfolgreich sein” verwendet (vgl. J. Ritter / T. Gründer 1989: 1278). Von diesem Verb stammt das griechische Nomen praxis (SUD[LV) ab, das ursprünglich neben „Handlung” auch „Ausführung, Durchführung“ oder „Vollendung”8 bedeutete (J. Sandkühler 1999: 1310). Das Wort Praktik stammt vom griechischen Substantiv praktike, „praktische Wissenschaft” ab, das aus der femininen Form des Adjektivs praktikos, „anwendbar, praktisch” entstand. Fast so alt wie die Wurzeln des Wortes ist die philosophische Reflexion über Praktiken im Sinne von menschlichen Aktivitäten oder Mustern sozialen Handelns. Häufig wurde der Begriff Praxis in Beziehung zu anderen Begriffen diskutiert, insbesondere zu Theorie und (moralischer) Handlung. Auch wenn die Verwendung sinnverwandter Wörter auf Homer, Sokrates und Platon zurückgeht, z.B. eupragia, „Erfolg, Glück, Wohlergehen”, das von eu prattein, „erfolgreich und gut handeln” abstammt, begann die tiefere Reflexion über den Praxisbegriff mit Aristoteles. Der Praxisbegriff der aristotelischen Philosophie ist vielschichtig. Im weitesten Sinne wird praxis für die Handlung oder Bewegung im Allgemeinen verwendet, die den Göttern, dem Kosmos, den Sternen, Pflanzen, Tieren, Menschen, Organen von Lebewesen oder dem politischen Gemeinwesen zugeschrieben werden kann. Im engeren Sinne betrachtet Aristoteles praxis als spezielle Art der Verwirklichung der menschlichen Natur, die die Menschheit von der Tierwelt unterscheidet (vgl. J. Ritter / T. Gründer 1989). Hier wird praxis gleichzeitig als generischer Ausdruck für alle Arten des Ausdrucks der menschlichen Existenz verwendet, z.B. für Wissenschaft, Dichtung, Kunst und menschliches Handeln, im engsten Sinn jedoch nur für eine bestimmte Art des menschlichen Handelns. In diesem Zusammenhang wird praxis einerseits von
8 Den deutschen Substantiven Praxis, pl. Praxen und Praktik, pl. Praktiken steht im Englischen nur das Wort practice, pl. practices gegenüber. Obwohl beide deutschen Substantive bis zu einem gewissen Grad synonym verwendet werden, kommt der englischen Verwendung am ehesten die Übersetzung Praxis im Singular und Praktiken im Plural entgegen. Praktik wird im Deutschen seltener verwendet und hat in der Umgangssprache manchmal einen pejorativen Beigeschmack („dubiose Praktik”), während die Pluralform Praxen meist den Arzt- und Anwaltspraxen vorbehalten ist.
2.1 Der Praxisbegriff im Wandel der Zeit
39
theoria, dem theoretischen Leben unterschieden, andererseits von poesis, der Produktivität oder Kreativität. Die Einteilung in Theorie, Poesis und Praxis ist für das aristotelische Handlungskonzept konstitutiv. Aristoteles übernimmt Platons Auffassung von theoretisch-philosophischem und bürgerlich-politischem Leben als zwei verschiedene Lebensweisen (bioi, ELRLL), zwei verschiedene Arten der Verwirklichung der menschlichen Natur. Das praktische Leben steht dem vollkommenen, theoretischen Leben gegenüber, das die Unsterblichkeit des Geistes ermöglicht. Das praktische Leben bietet Menschen dagegen Erfüllung durch die Gesamtheit erhebender Handlungen, die auf die Verwirklichung der idealen Polis abzielen. Somit bezieht sich Praxis im engsten Sinn auf Handlungen, deren Ziel die Durchführung der Handlung selbst ist, d.h. moralische Handlungen und ethischpolitische Handlungen im Rahmen der Polis. Dies, wiederum, unterscheidet praxis von poesis als einer menschlichen Aktivität, deren Ziele und Zwecke außerhalb ihrer selbst liegen, beispielsweise in der Produktion materieller Güter (J. Mittelstraß 1995, J. Ritter / T. Gründer 1989, J. Sandkühler 1999). Seit Aristoteles ist die Analyse der Praxis Gegenstand philosophischer Reflexion. Im Laufe der Zeit erfuhr der Praxisbegriff einen Bedeutungswandel und Praxis wurde mehr und mehr im Sinne der altgriechischen Poesis verstanden. Praxis wurde nicht mehr auf moralische Handlungen beschränkt, sondern auch für zielgerichtete individuelle und soziale Handlungen inklusive geistig und materiell produktiver Tätigkeiten verwendet. Ausgehend von Hegel erlebte der Praxisbegriff im neunzehnten Jahrhundert eine Renaissance. Im Marxismus wurde ihm eine zentrale Rolle beigemessen. Marx betrachtete Praxis als den sozialen Prozess der Veränderung und Reorganisation der objektiven Realität, von Natur und Gesellschaft. Im Gegensatz zum theoretischen Denken, das im menschlichen Gehirn stattfindet, haben praktische Aktivitäten einen materiellen Charakter, sie sind objektive Aktivitäten. Geistige Aktivitäten, Ideen, können die objektive Realität nicht verändern. Für die Realisierung von Ideen ist praktisches Handeln nötig. Die praktische Tätigkeit der Menschen ist eine bewusste, zweckgerichtete Tätigkeit, eine bewusst gewollte, gegenständliche Veränderung der objektiven Realität (vgl. Hörz et al. 1978: 748). Dieses Konzept der Praxis unterscheidet sich von älteren hauptsächlich durch die Tatsache, dass es eher auf gesellschaftliches Leben als auf individuelle Handlungen angewendet wird.9 Gesellschaftliche Praxis: wird hier als Einheit von rationalisierter gesellschaftlicher Produktion und ethisch-politischer Praxis 9 Von älteren P.-Begriffen hebt sich der von Marx und Engels entwickelte v.a. dadurch ab, dass er sich weniger auf individuelles Handeln als auf die “materielle Produktion des unmittelbaren Lebens ... und die mit dieser Produktionsweise zusammenhängende und von ihr erzeugte Verkehrsform” bezieht (J. Ritter / T. Gründer 1989: 1299).
40
2 Soziale Praktiken
verstanden (J. Sandkühler 1999: 1310-1311). Das marxistische Praxiskonzept beeinflusste auch die Philosophie des zwanzigsten Jahrhunderts. In der sogenannten „Praxisphilosophie” wird Praxis nicht mehr im Gegensatz zur Theorie betrachtet, sondern theoretische Konstrukte werden als Resultate menschlicher Praxis verstanden (vgl. J. Mittelstraß 1995). Nicht nur Autoren wie Lukács, die in der marxistischen Tradition stehen, orientierten sich am marxistischen Praxiskonzept, sondern auch Vertreter des Existenzialismus wie Heidegger wurden von ihm beeinflusst. Neben von einer holistischen Betrachtungsweise der Gesellschaft geprägten Praxisbegriffen wie dem marxistischen, wurde in der zweiten Hälfte des letzten Jahrhunderts in der analytischen Philosophie die konstitutive Rolle von Praktiken für das gesellschaftliche Leben Gegenstand der Analyse. Praxis wird als Ausdruck der konstituierenden Handlungen verstanden, die Individuen durchführen, indem sie sich an der Praxis beteiligen sowie der gesellschaftlichen Gründe, die diese Handlungen bewirken. Vorbereitend für diese Betrachtungsweise ist die späte Philosophie Wittgensteins (L. Wittgenstein 1958), die die Formulierung einer sprachphilosophisch transformierten Philosophie der Praxis erlaubt (vgl. J. Mittelstraß 1995). Auch wenn Wittgenstein keine vollständige Theorie formuliert, liefert sein Beitrag eine bedeutende sprachphilosophische Analyse der sozialen Natur von Individuen. Verständnis und Verständlichkeit strukturieren nicht nur den sozialen Bereich, sondern auch den Bereich individueller Gedanken und Handlungen. Nicht nur dass Verständnis und Verständlichkeit Elemente und Verbindungen sind, die „flexible Netzwerke” bilden, sie helfen auch die mentalen Zustände, in denen Menschen sind und sein können, zu institutionalisieren und sie sind die Kontexte in denen Menschen “acquire the wherewithal to be in these states and to perform the actions that compose practices“ (T. Schatzki 1996: xx). Dahinter steht der Gedanke, dass die Verwendung von Sprache – die hier als eine grundlegende soziale Praxis betrachtet wird – konzeptionell dem Denken vorausgeht oder zumindest eine zentrale Voraussetzung dafür ist. Zwei einflussreiche Analysen von Praktiken des letzten Jahrhunderts kommen aus der Soziologie: Bourdieus “Theory of Practice” (P. Bourdieu 1980) und Giddens’ Theorie der sozialen Strukturierung, die er in “The Constitution of Society” (A. Giddens 1984) entwickelte. Bourdieus zentrale Behauptung ist, dass Praktiken, oder, in seinen Worten, die Tätigkeiten oder „Spiele”, die in spezifischen „Feldern” oder „Bereichen der Praktiken” gefunden werden können, sich aufrechterhalten. Die Handlungen der Teilnehmer werden durch den Habitus hervorgerufen. Die Einstellungen, die den Habitus bilden, entstehen unter objektiven Bedingungen, die ihre Existenz im Kontext verschiedener Praktiken und Bedingungen charakterisieren, und bringen Handlungen hervor, die die Praktiken und Bedingungen reproduzieren und aufrechterhalten. Diese Einstellungen sind
2.1 Der Praxisbegriff im Wandel der Zeit
41
nicht nur für das Verhalten verantwortlich, sondern auch für Gedanken, Motivationen und Wahrnehmungen. Die Handlungen, die Agenten individuell ausführen, ergeben regelmäßige, vereinheitlichte, und systematische soziale Praktiken. Zum Beispiel erwerben Mitglieder einer bestimmten ökonomischen Klasse dadurch, dass sie an den gleichen Praktiken teilnehmen, einen „Klassen-Habitus“, der gegenseitig bedeutungsvoll ist. Ähnlich wie schon Bourdieus gilt auch Giddens’ zentrales Interesse der Aufrechterhaltung und Erweiterung der Praktiken im Laufe der Zeit. Er entwickelte eine Theorie der sozialen Welt, die Institutionen und Strukturen auf Praktiken aufbaut, die nicht in Abhängigkeit von einem Ganzen definiert sind, zu dessen Formung sie beitragen könnten, sondern stattdessen durch ineinander greifende Matrizen von Regeln (und Ressourcen), die sie steuern (vgl. T. Schatzki 1996). Obwohl der Praxisbegriff seit langem Bestandteil philosophischer Reflexion ist, gibt es bis heute nur wenige philosophische Arbeiten die sich gezielt mit sozialen Praktiken befassen. Neben Schatzkis oben zitiertem Werk “Social Practices: A Wittgensteinian Approach to Human Activity and the Social” bietet “The Philosophy of Social Practices – A Collective Acceptance View” (R. Tuomela 2003) eine umfassende philosophische Untersuchung sozialer Praktiken als Beitrag zum Programm des sozialen Konstruktivismus.10 Tuomela konzentriert sich auf soziale Praktiken als „Bausteine der Gesellschaft”. Allgemein werden soziale Praktiken als wiederholte Muster gesellschaftlichen Handelns betrachtet. Grob gesagt ist Tuomelas Grundidee, dass soziale Praktiken in ihrem Kern Tätigkeiten sind, die aus sozialen Gründen unterschiedlicher Tragweite ausgeführt werden, die auf gemeinsamen Einstellungen beruhen. Die Herausbildung dieser Einstellungen und ihre Änderung ist ein wesentlicher Faktor für die Entstehung, die Beibehaltung und den Untergang einer sozialen Praxis. Tuomelas Analyse bildet die philosophische Grundlage für das dieser Arbeit zu Grunde liegende Verständnis sozialer Praktiken. Die Formulierung in präzisen mathematischen und logischen Termen (siehe W. Balzer und R. Tuomela 2003), lieferte den theoretischen Rahmen für die Modellierung und Implementierung der in Kapitel 5 vorgestellten Simulationsstudie.
10 Allerdings gibt es einige Arbeiten, die mit der Untersuchung von sozialen Institutionen, einer Teilmenge der sozialen Praktiken, befasst sind. The Construction of Social Reality wurde als grundlegendes Werk des sozialen Konstruktivismus in der modernen analytischen Philosophie betrachtet (J. Searle 1995), eine umfassende wissenschaftstheoretische Untersuchung findet sich in Soziale Institutionen (W. Balzer 1993).
42
2 Soziale Praktiken
2.2 Von individuellen Handlungen zu sozialen Praktiken Der vorstehende Abschnitt hat gezeigt, dass das Verständnis sozialer Praktiken eng mit dem zu Grunde liegenden Verständnis menschlicher Handlungen verbunden ist. Vom wissenschaftstheoretischen Standpunkt haben Handlungen in den Sozialwissenschaften „ungefähr den gleichen Status wie Teilchen in der Mechanik: sie bilden das Material, aus dem soziale Systeme aufgebaut sind und ihre Eigenschaften und Beziehungen bestimmen die interne Struktur solcher Systeme“ (W. Balzer 1993: 89). Wie in der Handlungstheorie üblich werden elementare Handlungen von tierischen und menschlichen Verhaltensmustern dadurch unterschieden, dass eine irgendwie geartete Absicht dahinter steht. Damit die Ausführung von Handlungen unterschiedlicher Typen als soziale Praxis bezeichnet werden kann, müssen nach Tuomela (R. Tuomela 2003) folgende Bedingungen erfüllt sein:
Die Handlung wird von mehreren Personen gemeinschaftlich durchgeführt. Eine solche Handlung wird als gemeinschaftliche soziale Handlung (collective social action) bezeichnet. Die Handlung wird wiederholt ausgeführt. Die beteiligten Personen haben einen geteilten sozialen Grund (shared social reason), die Handlung durchzuführen. Dieser ist in der gemeinsamen Einstellung ausgedrückt, die der sozialen Praxis zu Grunde liegt.
Der von Tuomela verwendete Terminus technicus CSA (von collective social action) soll im Folgenden kurz erläutert werden. Eine Handlung, an der mehrere Personen beteiligt sind, wird gemeinschaftliche Handlung (collective action) genannt. Gemeinschaftliche Handlungen bestehen aus individuellen Teilhandlungen. Diese Teilhandlungen müssen jedoch nicht gemeinsam in einer fest definierten Gruppe ausgeführt werden. Die schwächste Form einer gemeinschaftlichen Handlung besteht aus Handlungen, die von mehreren Personen am gleichen Ort zur gleichen Zeit ausgeführt werden, z.B. wenn mehrere Leute unabhängig voneinander im gleichen Restaurant zu Mittag essen. Damit eine Handlung als soziale Handlung bezeichnet werden kann, müssen die Gründe der Akteure für die Durchführung der Handlung in irgendeiner Form die Gedanken oder Handlungen anderer Akteure mit einbeziehen, auch wenn dies in einer kodierten bzw. institutionalisierten Form geschieht. Fehlt dieser soziale Aspekt der Handlung, zählt sie nicht zu den CSAs. Um dies zu verdeutlichen, sei auf ein häufig zitiertes Beispiel Max Webers zurückgegriffen: Menschen, die in einem Park spazieren gehen, öffnen gleichzeitig ihren Regenschirm, als es zu regnen beginnt. Das Öffnen des Regenschirms
2.2 Von individuellen Handlungen zu sozialen Praktiken
43
geschieht in diesem Fall völlig unabhängig voneinander. Obwohl die Handlungen gleichzeitig am gleichen Ort ausgeführt werden, ist die Ausführung der individuellen Handlung einer Person für das Handeln der anderen Personen irrelevant. Somit können die Handlungen im weitesten Sinn zwar zu den gemeinschaftlichen Handlungen, jedoch nicht zu den sozialen Handlungen gezählt werden. Einer sozialen Handlung muss eine gemeinsame Einstellung zu Grunde liegen, d.h. die Tatsache, dass andere Agenten die Handlung auch durchführen, wird bei den Gründen für die Durchführung mit einbezogen. Wenn gleichartige CSAs wiederholt ausgeführt werden, entsteht eine soziale Praxis. “Briefly, a collective social action is an action performed for a social reason, explicated as a shared we-attitude. A social practice is a repeated collective social action” (R. Tuomela 2003: 41).
Diese kurze Beschreibung umfasst ein relativ weites Spektrum gesellschaftlicher Aktivitäten. So zählen regionale oder kulturelle Sitten und Gebräuche zu den sozialen Praktiken, wie in Bayern im Sommer in den Biergarten zu gehen, in Großbritannien und den Vereinigten Staaten an Thanksgiving Truthahn zu essen, oder dass Frauen in bestimmten Gebieten Deutschlands an Weiberfasching den Männern die Krawatten abschneiden. Andere Beispiele sind Modeerscheinungen wie das Tragen von Piercings und Tattoos bei Jugendlichen, oder Gepflogenheiten, wie in Finnland am Samstag in die Sauna zu gehen. Eine andere Art von Gepflogenheit ist es, wenn sich eine Gruppe von Personen in der Freizeit regelmäßig trifft, um Neuigkeiten auszutauschen und gemeinsamen Interessen nachzugehen. Dazu zählen Stammtische, Kulturzirkel, Bridge- oder Schafkopfrunden und Freizeitsportgemeinschaften. Letztere zeigen, dass gleichartige soziale Praktiken unterschiedliche Ausprägungen haben können. Lose Freizeitsportgemeinschaften gibt es fast überall auf der Welt. Zwar gibt es regionale und kulturelle Unterschiede in der Wahl der Sportart auf den „Bolzplätzen” der Münchner Vorstädte wird mehrheitlich Fußball gespielt, während an den Straßenecken New Yorks Basketball gespielt wird , doch sind die Teilnahmebedingungen meist flexibel: wer sich zu einer bestimmten Zeit an einem bestimmten Ort einfindet, darf in der Regel mitmachen, wenn er oder sie die Sportart einigermaßen beherrscht, während bei institutionalisierten Formen der Ausübung von Teamsport wie die Durchführung von Meisterschaften auf nationaler oder internationaler Ebene klare Regeln bezüglich Teilnehmerkreis, Dauer etc. bestehen. Eine systematische Einteilung sozialer Praktiken findet sich in The Philosophy of Social Practices (R. Tuomela 2003: 99-120). Zu den sozialen Praktiken werden hier Modeerscheinungen, Gewohnheiten, Sitten und Gebräuche, Arbeitspraktiken, Erziehungspraktiken, religiöse und politische Praktiken, sowie Institu-
44
2 Soziale Praktiken
tionen gezählt. Die Gründe für die Beteiligung an einer sozialen Praxis und die damit verbundenen zu Grunde liegenden Einstellungen können je nach Art der sozialen Praxis unterschiedlich stark ausgeprägt sein. Im Falle von Modeerscheinungen beispielsweise kann die Annahme, dass andere Agenten sich auch beteiligen, ein ausreichender Grund für die Agenten sein, sich an der sozialen Praxis zu beteiligen. Wenn ein Mädchen einen Minirock anzieht, weil andere Mädchen auch Miniröcke tragen, bedeutet das nicht, dass es beabsichtigt an der gemeinsamen Handlung des Tragens von Miniröcken teilzunehmen. Auch wenn es die Handlung sogar als Ausdruck ihres individuellen Bedürfnisses betrachtet, ist – vielleicht auch unbewusst – für die Beteiligung an der sozialen Praxis die Tatsache von Bedeutung, dass andere dasselbe tun. Die Absichten, die den die soziale Praxis konstituierenden CSAs zu Grunde liegen, können verschiedener Natur sein. Tuomela unterscheidet zwischen drei Arten bzw. Kategorien von CSAs (R. Tuomela 2003: 89): 1. 2.
3.
CSAs, die aus wechselseitig unabhängigen, individuell beabsichtigten Handlungen bestehen, die – wie im obigen Beispiel – teilweise aus dem gleichen sozialen Grund ausgeführt werden. CSAs, die aus gegenseitig abhängigen, individuell beabsichtigten Handlungen bestehen, die teilweise aus dem gleichen sozialen Grund ausgeführt werden. Ein Beispiel hierfür ist die Koordination der Bewegungen in einer Menschenmenge, in der die Personen darauf achten, nicht gegeneinander zu stoßen. CSAs, die auf absichtlich gemeinsamem Handeln auf Grund eines geteilten gemeinsamen Ziels beruhen. Die Teilnehmer führen die Handlung in gemeinsamer Absicht und gegenseitig kontrolliert durch.
Nur bei CSAs der letzten Art kann kollektive Akzeptanz, und damit kollektive Intentionalität im engeren Sinne vorausgesetzt werden. Die sich daraus konstituierenden sozialen Praktiken werden als core social practices bezeichnet.11 Tuomelas Sichtweise der kollektiven Akzeptanz beinhaltet drei Merkmale. Das erste Merkmal besteht darin, dass soziale Entitäten und ihre Charakteristiken performativ von den Mitgliedern der Gruppe bzw. Gemeinschaft erschaffen, und im Falle ihrer Aufrecherhaltung von diesen auch wiedererschaffen werden. So können diese zum Beispiel bewirken, dass bestimmte Stücke Papier als Geld akzeptiert werden. Zweitens werden zentrale gemeinsame und gesellschaftliche Konzepte in der Literatur als reflexiv bezeichnet, ungefähr in dem Sinn, dass gesagt 11 Da zu diesem Bereich auch die intendierten Anwendungen dieser Simulationsstudie gehören, werden wir in Abschnitt 3.1 genauer auf kollektive Intentionalität eingehen.
2.2 Von individuellen Handlungen zu sozialen Praktiken
45
werden kann, Geld ist nicht Geld solange es nicht gesellschaftlich als Geld akzeptiert wird. Zu den Merkmalen der Performativität und Reflexivität, die auch an anderen Stellen in der philosophischen Literatur behandelt werden (z.B. J. Searle 1995), fügt Tuomelas Ansatz den Aspekt der Sozialität hinzu, den we-modeAspekt in seiner Terminologie. Dahinter steht der Gedanke, dass es, abhängig von der zur Debatte stehenden sozialen Praxis differenzierte Ausprägungen der zu Grunde liegenden gemeinsamen Einstellungen gibt. Die gemeinsamen Einstellungen, d.h. die der Praxis zu Grunde liegenden Absichten und Überzeugungen der beteiligten Agenten können entweder im sogenannten I-mode oder im we-mode sein. Im ersten Fall kann die zur Debatte stehende gemeinschaftliche Einstellung nur aus einer reinen Summierung individueller Zustände bestehen oder es kann sich um eine geteilte „Wir-Einstellung“ im I-mode handeln, welche unter der Voraussetzung, dass es zumindest ein gemeinsames Ziel gibt, zu einer „Co-Handlung” führt, einer schwachen Form gemeinsamen Handelns. Der zweite Fall, kollektive Intentionalität im we-mode führt zu einer voll ausgeprägten, gemeinsamen Absicht bzw. einem gemeinsamen Ziel, woraus eine Gruppenhandlung resultieren kann, d.h. dass die Gruppe die Handlung als Gruppe durchführt (vgl. R. Tuomela 2004: 7-8). Tuomelas zentrale These ist, dass kollektive Intentionalität in Form geteilter Wir-Einstellungen (shared we-attitudes) konstitutiv für soziale Praktiken und Institutionen ist. Dem liegt die Annahme zu Grunde, dass kollektive Intentionalität für die Ontologie der sozialen Welt von zentraler Bedeutung ist. Zentrale Aspekte der Sozialität (und, als eine Konsequenz, der sozialen Realität), soziale Normen und Institutionen mit eingeschlossen, sind gemeinschaftlich durch kollektive Akzeptanz konstruiert. Die Aufrechterhaltung sozialer Strukturen und Institutionen beinhaltet kausal verursachte Effekte – die unter Umständen auch unbeabsichtigt oder nicht voraussehbar waren – die durch kollektive Akzeptanz hervorgebracht wurden und die wiederum auf die gemeinsamen Einstellungen und die kollektive Akzeptanz zurückwirken. Auch wenn die in dieser Arbeit vorgestellte Simulationsstudie auf nicht-institutionalisierte soziale Praktiken beschränkt ist, sollen an dieser Stelle noch kurz soziale Institutionen erwähnt werden. Neben der Verwendung von Münzen, Papier oder anderen Gegenständen als Zahlungsmittel, können auch die Eheschließung oder der Gebrauch von Sprache als Beispiele dienen. Auch soziale Institutionen bestehen aus sich wiederholenden gesellschaftlichen Aktivitäten. Erfordern sonstige soziale Praktiken lediglich gemeinschaftliche intentionale Zustände, liegt institutionellen Fakten ein Konzept der kollektiven Akzeptanz zu Grunde, das im Gegensatz zu den bisher besprochenen Beispielen auf gesellschaftlichen Normen basiert (R. Tuo-
46
2 Soziale Praktiken
mela 2003). Der normative Rahmen kann auch durch ein hierarchisch strukturiertes System vorgegeben werden (vgl. W. Balzer 1993).
2.3 Dynamik sozialer Praktiken Soziale Praktiken entwickeln und verändern sich im Laufe der Zeit. Welcher erwachsene Mensch der westlichen Welt kann sich nicht an ein Kommen und Gehen der Modetrends erinnern und muss manchmal beim Anblick von Fotos aus früheren Jahren schmunzeln. Wie im vorigen Abschnitt herausgearbeitet, sind hierfür die der sozialen Praxis zu Grunde liegenden Einstellungen verantwortlich. Sowohl die Einstellungen einzelner Personen als auch gemeinsame bzw. gesellschaftliche Einstellungen können sich im Laufe der Zeit verändern. Wie unterschiedlich die Ursachen und Gründe für die Änderung von Einstellungen und der damit verbundenen sozialen Praxis auch sein mögen – ob durch positive Faktoren verursacht, wie Erkenntnisgewinn oder durch negative, z.B. äußere Umstände wie Naturkatastrophen oder andere Missgeschicke, die die Verbreitung der sozialen Praxis verhindern – letztendlich wird die Entstehung und Aufrechterhaltung der sozialen Praxis von der Beurteilung des Erfolgs durch die beteiligten Personen abhängen. Wenn die Praxis mehrheitlich als nicht mehr erfolgreich beurteilt wird und der Erfolgsgrad unter eine bestimmte Schwelle fällt, werden die zur Durchführung der Praxis erforderlichen Einstellungen nicht mehr aufgebaut. Die mit den Einstellungen verbundene soziale Praxis ändert sich oder wird sogar aufgegeben. Ein Rückblick in die Geschichte zeigt, dass bestimme Praktiken früherer Zeiten inzwischen völlig verschwunden sind. Grausame Beispiele sind Gladiatorenkämpfe zur Zeit des römischen Reiches, Ritterturniere im Mittelalter12 und Hexenverbrennungen, die in Europa bis ins späte achtzehnte Jahrhundert durchgeführt wurden. Systeme, die sich im Laufe der Zeit verändern, werden als dynamische Systeme bezeichnet. In wissenschaftlichen Kontexten war Dynamik ursprünglich einem Teilbereich der Mechanik vorbehalten, der Bewegungsvorgänge auf Kräfte, die auf einen Körper wirken, zurückführte. Inzwischen wird der Begriff auch in anderen Wissenschaften für Systeme verwendet, die Veränderungen unterworfen sind. Auch in diesen Systemen kommt es darauf an, dass – ähnlich wie in der Mechanik – Teile oder Komponenten des Systems wechselseitig aufeinander einwirken und so seine Veränderung bewirken. Modelle dynamischer Systeme können entweder kontinuierlich oder diskret sein. In sozialen Systemen ist die 12 Die bereits erwähnten, heute immer noch beliebten Schauturniere, wie sie zum Beispiel in Kaltenberg in Oberbayern jährlich stattfinden, sind davon ausgenommen. Diese können den nichtcomputergestützten Simulationen zugerechnet werden.
2.3 Dynamik sozialer Praktiken
47
kleinste Untersuchungseinheit eine menschliche Handlung. Eine menschliche Handlung kann im Vergleich dazu, was physikalisch messbar ist, einen relativ langen Zeitraum umfassen. Insofern ist es unpraktisch, in sozialen Kontexten physikalische Zeitskalen zu verwenden, zumindest so lange keine quantitativen, zeitabhängigen Gesetze gefunden werden können. Da auch Computer in diskreten Zeitabschnitten vorgehen, werden in der sozialen Simulation häufig sogenannte Discrete-Event-Modelle verwendet. Die Grundidee ist es, ein dynamisches System als eine Menge aufeinander folgender Zeitpunkte und eine Folge von Zuständen des Systems zu betrachten, deren Folgenglieder mit den Zeitpunkten indiziert sind. Jedes Folgenglied stellt den Zustand des Systems zu einem Zeitpunkt dar. Für eine endliche Menge von Zeitpunkten T = {t0,…, tn} sind die Elemente von T durch die binäre Relation < strikt geordnet. Als strikte Ordnung ist die Relation < transitiv, irreflexiv und asymmetrisch. Dies ermöglicht es, den Raum mit mathematischen Mitteln zu untersuchen. Für endliche Mengen kann die Nachbarschaft zweier Zeitpunkte wie folgt definiert werden: t +1 bezeichnet den unmittelbaren Nachfolger von t. In der sozialen Simulation sollten jedoch die Zeitpunkte nicht als ideale Zeitpunkte betrachtet werden, sondern eher als Zeitabschnitte. Nur die Zeitabschnitte werden betrachtet, in denen etwas „interessantes“ passiert (vgl. W. Balzer 1993: 151f). Bei einem Stammtisch, der sich einmal monatlich trifft, könnte somit ein „Zeitpunkt“ t einen Zeitabschnitt von mehreren Stunden umfassen und der unmittelbare Nachfolger t +1 ist ein Zeitabschnitt von mehreren Stunden, der im nächsten Monat liegt.
3 Theoretischer Hintergrund der Simulationen
Im letzten Kapitel wurde das allgemeine Verständnis von sozialen Praktiken als sich wiederholenden Mustern gesellschaftlichen Verhaltens eingeführt, das auf den zu Grunde liegenden Einstellungen der beteiligten Agenten basiert. Dieses Kapitel soll einen kurzen Überblick über Resultate aus verschiedenen Forschungsbereichen geben, die für die Modellierung der Einstellungen der Agenten in der vorliegenden Simulationsstudie herangezogen wurden: sozialphilosophische Konzepte zur kollektiven Intentionalität, aus der epistemischen Logik und Philosophie stammende Formalisierungen individueller und gemeinsamer Überzeugungen und ihrer Dynamik, sowie deren Anwendung in Multiagentensystemen im interdisziplinären Forschungsbereich der künstlichen Intelligenz. Der erste Abschnitt dieses Kapitels beschäftigt sich mit verschiedenen Möglichkeiten der Modellierung geteilter Absichten: Bratmans und Tuomelas nichtreduktionistische Konzepte zur Modellierung geteilter Absichten auf Grundlage der individuellen Absichten der beteiligten Agenten, sowie M. Gilberts holistisches Konzept einer geteilten Absicht als Absicht eines Plural-Subjekts. Im zweiten Abschnitt sollen einige Prinzipien aus der doxastischen bzw. epistemischen Logik vorgestellt werden, die bei der Modellierung der Überzeugungsbasis speziell im Hinblick auf die Modellierung wechselseitiger Überzeugungen der Agenten Anwendung fanden. Im letzten Abschnitt dieses Kapitels wird auf einige Aspekte der Anwendung intentionaler Zustände in Multiagentensystemen und Multiagentensimulationen eingegangen. 3.1 Kollektive Intentionalität Die philosophische Untersuchung der kollektiven Intentionalität und der sozialen Handlungen ist ein relativ junger Zweig in der Sozialphilosophie. Zentrale, auch gegenwärtig immer noch aktuelle Fragen der Diskussion sind: Kann kollektives Verhalten nur aus der Summierung des individuellen Verhaltens, also seinen konstituierenden Teilhandlungen erklärt werden? Und gilt dies auch für die zu Grunde liegenden Einstellungen, d.h. für die Absichten und Überzeugungen? Allein die Bezeichnung kollektive Intentionalität weißt darauf hin, dass ein Unterschied besteht zwischen einem gemeinschaftlichen intentionalen Zustand und
50
3 Theoretischer Hintergrund der Simulationen
einer Summierung individueller intentionaler Zustände. Maßgeblich hierfür ist der Inhalt des intentionalen Zustands (vgl. auch F. Hinrichs 2002: 135). Zur Illustration sei ein Beispiel von J. Searle 1990 zitiert, das veranschaulicht, dass die gleiche Menge körperlicher Bewegungen in einem Fall eine Instanz kollektiven Verhaltens darstellen kann, während es in einem anderen Fall eine reine Summierung individueller Handlungen ist: Einige Leute sitzen an verschiedenen Stellen in einem Park. Als es zu regnen beginnt, laufen sie zu einem zentral gelegenen Unterstand. Normalerweise handelt es sich dabei um individuelle Handlungen, die, mit der Absicht nicht nass zu werden, unabhängig voneinander ausgeführt werden. Im anderen Fall könnte dies jedoch Teil einer Open-AirBallettaufführung sein und zu dem zentral gelegenen Unterstand zu laufen, könnte Teil der Choreographie sein, unabhängig davon, ob es zu regnen begonnen hat oder nicht. Der erste Fall ist ein Beispiel von individuellem Verhalten, das hauptsächlich von der Absicht geleitet ist, vor dem Regen Schutz zu suchen. Dieses Verhalten ist völlig unabhängig von den Absichten und Überzeugungen anderer Personen. Im zweiten Fall führen die Agenten einen Teil einer koordinierten, gemeinsamen Handlung durch. (J. Searle 1990: 402-03) . 3.1.1 Absichten für gemeinsame Handlungen Allein der Begriff einer individuellen Handlung ist Gegenstand verschiedener philosophischer Theorien, die unter dem Oberbegriff Handlungstheorie zusammengefasst werden, und gäbe bereits Anlass zu einer umfangreichen Analyse. Weitgehend akzeptiert ist folgende – sehr allgemeine – Beschreibung der Merkmale einer Handlung:
Die Voraussetzung für eine Handlung ist das Vorhandensein einer (vorausgehenden) Absicht13 bzw. Intention.
13 Die hier verwendete Formulierung „vorausgehende Absicht“ wurde der deutschen Übersetzung von Searle, 1987, entnommen. Searle sieht auf der Ebene der Intentionen eine weitere Differenzierung vor: Er unterscheidet zwischen der prior intention, die als „vorausgehende Absicht“ übersetzt wurde und der intention in action, die mit „Handlungsabsicht“ übersetzt wurde, m. E. eine unglückliche Übersetzung. Die vorausgehende Absicht entspricht der gängigen Verwendung von „Absicht“ oder „Intention“ als Bezeichnungen für einen bestimmten mentalen Zustand. Die Handlungsabsicht, die in späteren Übersetzungen auch als handlungsinterne Absicht bezeichnet wird, ist für die Verursachung von Körperbewegung verantwortlich und ist bereits Bestandteil der Handlung, die aus der Handlungsabsicht und der Körperbewegung entsteht. Dies erlaubt, auch Phänomene wie spontane, reflexartige Handlungen, wie Zurückschlagen zur Verteidigung, oder routinemäßige Handlungen, wie das Schalten im Auto bei einer Fahrt zur Arbeit, bei denen keine vorausgehende cognitive Repräsentation bzw. Visualisierung der Absicht stattfindet, als Handlungen zu begreifen (vgl. J. Searle 1987: 125 ff). Da in der vorliegenden Simulationsstudie – unabhängig von der Befürwortung des
3.1 Kollektive Intentionalität
51
Zwischen der Absicht und der resultierenden Handlung besteht eine Kausalrelation. Es gibt über mehrere Stationen keine weitere vermittelte Verursachung. (siehe z.B. J. Searle 1987, deutsche Übersetzung, und M. Bratman 1987).
Eine gemeinsame Handlung ist eine Handlung, an deren Durchführung mehrere Personen beteiligt sind. Einfache Beispiele sind gemeinsame Handlungen, die von zwei Personen durchgeführt werden können, wie z.B. gemeinsam einen Spaziergang zu machen oder ein Sofa zu tragen. Auch gemeinsamen Handlungen muss eine irgendwie geartete Absicht vorausgehen. In einem ersten Ansatz scheint es sinnvoll zu sein, die der Handlung vorausgehende Absicht als Summe der individuellen Absichten der einbezogenen Personen zu begreifen. Bei näherer Betrachtung des Ansatzes zeigt sich jedoch, dass dies zu Komplikationen führt. Handlungsabsichten von Individuen sind mentale Konstrukte, deren bloße Summierung nicht unbedingt ein sinnvolles Ganzes ergeben muss. In der gegenwärtigen philosophischen Diskussion stehen sich zwei Standpunkte gegenüber, die sich im Wesentlichen in der Beantwortung der Frage unterscheiden, ob es möglich ist, intentionale Einstellungen direkt auf Gemeinschaften zu beziehen. Vertreter des holistischen Standpunkts bejahen die Frage, während Anhänger des individualistischen Standpunkts die Meinung vertreten, dass Einstellungen wie Absichten oder Ziele nur Individuen zugeschrieben werden können. Beide Positionen sollen im Folgenden anhand prominenter Vertreter dargestellt werden. 3.1.1.1 Individualistische, nicht-reduktive Konzepte geteilter Absichten Auch individualistische Positionen müssen nicht zwingend reduktiv sein, d.h. eine gemeinschaftliche Handlungsabsicht wird nicht auf eine reine Summierung der zu Grunde liegenden individuellen Absichten reduziert. In der meist englischsprachigen Literatur finden sich verschiedene Bezeichnungen für Absichten, die gemeinsamen Handlungen vorausgehen. Es wird von shared intention, joint intention, und collective intention gesprochen. All diese Begriffe könnten als gemeinsame Absicht ins Deutsche übersetzt werden. Da mit diesen Bezeichnungen ein unterschiedlicher „Grad von Intentionalität“ verbunden ist, soll im Folgenden shared intention als geteilte Absicht, joint intention als gemeinsame Absicht und collective intention als gemeinschaftliche oder kollektive Absicht übersetzt werden. Kollektive Absicht wird als eine Art Sammelbegriff verwendet, der philosophischen Ansatzes – eine derartige Differenzierung auf der Ebene der Absichten nicht vorgesehen ist, werden die Bezeichnungen „Absicht“, „Handlungsabsicht“ und „Intention“ synonym verwendet.
52
3 Theoretischer Hintergrund der Simulationen
sowohl geteilte Absichten als auch gemeinsame Absichten erfasst. Der Begriff gemeinsame Absicht wird oft für Absichten verwendet, die direkt einer Gruppe oder Gemeinschaft zugeschrieben werden. In der vorliegenden Simulationsstudie werden die Absichten einzelnen Agenten zugeschrieben, was eher vom Begriff der geteilten Absicht erfasst wird. Beispiele nicht-reduktiver Modellierungen geteilter Absichten auf der Basis individueller Absichten finden sich in M. Bratman 1993 und in verschieden Werken Tuomelas, z.B. R. Tuomela 1995 und 2003, die ursprüngliche Version stammt aus R. Tuomela und K. Miller 1988. Die Motivation dieser Ansätze ist, dass ein Individuum nur beabsichtigen kann, eine Handlung J auszuführen, die es in der Lage ist, selbst auszuführen. Es kann nicht beabsichtigen, eine gemeinsame Handlung J auszuführen. Daraus ergibt sich die Fragestellung, wie dann die Durchführung einer gemeinsamen Handlung in den Absichten eines Individuums ausgedrückt werden kann. Die Möglichkeiten zu einer Lösung beinhalten mehrere Komponenten: erstens eine allgemeine Behandlung der Absichten von Individuen und zweitens eine Beschreibung des speziellen Inhalts der individuellen Absichten der einzelnen Individuen, die die betreffende Absicht teilen. Dies bedeutet auch, geeignete Konstrukte zu finden, um entsprechende Absichten der anderen Teilnehmer einzubeziehen. Bratman schlägt vor, nicht von der „Absicht zu”, sondern von der „Absicht, dass wir” zu sprechen. Zur Vermeidung von Zirkularität wird das zu Analysierende auf gemeinsame Handlungstypen begrenzt, die sich in Bezug auf geteilte Intentionen neutral verhalten. Statt spezifische Handlungen dieser Typen zu benennen, wird das Kunstwort J–ing verwendet. Das Ziel der individuellen Absicht ist also nicht, “to J“, sondern “that we J“. Bratman analysiert eine geteilte Absicht von zwei Personen, die die Grundlage für eine Verallgemeinerung für mehrere Personen bietet, wie folgt: “We intend to J if and only if 1. (a) I intend that we J and (b) you intend that we J. 2, I intend that we J in accordance with and because of 1a, 1b, and meshing subplans of 1a and 1b; you intend that we J in accordance with and because of 1a, 1b, and meshing subplans of 1a and 1b. 3. 1 and 2 is common knowledge14 between us.” (M. Bratman 1993: 106)
Eine geteilte Absicht wird hier nicht als mentale Einstellung betrachtet, sondern als Zustand, der primär aus entsprechenden, passenden Einstellungen der einzelnen Teilnehmer und ihren wechselseitigen Beziehungen besteht. Sie hilft, Handlungen und ihre Planung zu koordinieren und liefert einen Hintergrund zur Strukturierung der erforderlichen Verhandlungen. 14 Wir werden in Abschnitt 3.2.3 detaillierter auf den Begriff common knowledge eingehen.
3.1 Kollektive Intentionalität
53
Eine andere Möglichkeit, geteilte Absichten auf der Basis der Absichten der teilnehmenden Individuen zu modellieren, ist die in R. Tuomela und K. Miller 1988 eingeführte Version, die hier in einer modifizierten Version aus R. Tuomela 2003 vorgestellt wird15. Der Kerngedanke ist, dass die Absicht der beteiligten Agenten darauf abzielt, sich an der Durchführung einer gemeinsamen Handlung X zu beteiligen bzw. seinen Teil zu einer gemeinsamen Handlung X beizutragen. Bei einer geteilten Absicht zweier Personen, bei der Durchführung einer Handlung X gemeinsam zu handeln, müssen folgende Bedingungen erfüllt sein: “(IAT) You and I share the intention to act together in performing an action X if and only if (1) X is a collective action type, and this is understood by us (2a) I intent to perform X together with you, and on this basis I accordingly intent to participate in the performance of X (or to contribute to X) (2b) you intent to perform X together with me, and on the basis of this you intent to participate in the performance of X (or to contribute to X) (3a) I believe that you will participate in the performance of X (3b) you believe that I will participate in the performance of X (4) (2a) in part because of (3a), and (2b) in part because of (3b).” (R. Tuomela 2003: 27)
3.1.1.2 Absichten als Absichten eines Plural Subjects Eine holistische Betrachtung gemeinsamer Absichten verschiedener Ausprägung findet sich in M. Gilbert 1990 und 2000. Gilbert versteht eine gemeinsame Absicht als Absicht eines Plural Subjects. Grundlegend für das Verständnis ihres Konzepts eines Plural Subjects ist der Begriff des Joint Commitments, der im Folgenden mit „gemeinsamer Verbindlichkeit“ übersetzt wurde. Individuen bilden ein Plural Subject für die Absicht, eine Handlung A auszuführen, wenn sie gemeinsam festlegen, als körperliche Einheit zu beabsichtigen – “to intend as a body“ – A auszuführen (siehe M. Gilbert 2000: 14). Für ein besseres Verständnis des Begriffs der gemeinsamen Verbindlichkeit soll zunächst das Verständnis einer persönlichen Verbindlichkeit geklärt werden. Wenn eine Person sich entscheidet, eine Handlung A auszuführen, hat sie eine persönliche Verbindlichkeit
15 Es sei daran erinnert, dass Tuomela eine sehr differenzierte Auffassung von Intentionalität vertritt (vergleiche R. Tuomela 1995 und 2003). Im Gegensatz zu Bratman vertritt Tuomela nicht den Standpunkt, dass gemeinschaftliche Absichten ausschließlich auf der Basis der individuellen Absichten modelliert werden sollten, sondern sowohl die Art als auch der Grad der gemeinschaftlichen Absicht hängt von der Art der auszuführenden Handlung bzw. der zur Debatte stehenden sozialen Praxis ab.
54
3 Theoretischer Hintergrund der Simulationen
A auszuführen.16 Wenn ich morgens beschließe, am Abend joggen zu gehen, bin ich im Gilbertschen Sinn eine persönliche Verbindlichkeit eingegangen. Aber da Personen ihre Absichten ändern können, liegt es an mir, ob ich an meinem Plan, joggen zu gehen, festhalte oder ihn aufgebe, zum Beispiel, weil es regnet und ich unter diesen Bedingungen keine Lust dazu habe. Da nach Gilbert eine Person „Subjekt einer persönlichen Verbindlichkeit [ist] genau dann, wenn sie der alleinige Urheber der Verbindlichkeit ist und die Autorität besitzt, dies einseitig rückgängig zu machen” (M. Gilbert 2000: 52, meine Übersetzung), kann ich das selbst entscheiden. Wenn wir über gemeinsame Verbindlichkeiten sprechen, sprechen wir über Verbindlichkeiten von zwei oder mehreren Personen. Für den einfachsten Fall, einer gemeinsamen Verbindlichkeit von zwei Personen, wird diese Verbindlichkeit von zwei Personen zusammen geschaffen. Beide Personen drücken gegenseitig ihre Bereitschaft aus, gemeinsam diese Verbindlichkeit einzugehen. Diese Tatsache ist gemeinsames Wissen beider Personen. Im gegenseitigen Einverständnis kommt die gemeinsame Verbindlichkeit nur dann zustande, wenn es gemeinsames Wissen ist, dass beide dies ausgedrückt haben. Jeder der beiden Beteiligten hat sich durch die gemeinsame Verbindlichkeit verpflichtet und keiner der Beteiligten kann die gemeinsame Verbindlichkeit einseitig rückgängig machen, sie kann nur gemeinsam rückgängig gemacht werden. Ein typischer Weg, eine gemeinsame Verbindlichkeit rückgängig zu machen, besteht darin, die gegenseitige Bereitschaft dazu auszudrücken (vergleiche M. Gilbert 2000: 5354). Eine gemeinsame Verbindlichkeit von zwei Personen ist nicht aus zwei persönlichen Verbindlichkeiten dieser Personen zusammengesetzt, sondern sie stellt eine eigene Entität dar, die die Teilnehmer in eine Einheit bzw. ein Ganzes zusammenschweißt. Gemeinsame Verbindlichkeiten bilden nicht nur die Grundlage für die Bildung gemeinsamer Absichten, sondern auch für ihre zu Grunde liegenden epistemischen Einstellungen. Gilbert argumentiert damit, dass eine gemeinsame Überzeugung, also die Überzeugung einer Gruppe oder Gemeinschaft G nicht auf eine reine Summierung der individuellen Überzeugungen der Mitglieder von G reduziert werden kann. Wenn Personen davon sprechen, dass „wir glauben” oder „akzeptieren”, dass p, beziehen sie sich normalerweise auf eine Situation, die die gemeinsame Verbindlichkeit einbezieht, einheitlich eine bestimmte Aussage p zu akzeptieren. Diese Akzeptanz beinhaltet für die einbezogenen Personen, so gut wie möglich eine Einheit zu bilden, die glaubt, dass Kraft der Tatsachen p der Fall ist. Nach Gilbert können Personen gemeinsam vereinbaren, „als Einheit nicht nur kognitive Konzepte, sondern auch psycholo16 M. Gilbert bezieht sich hier auf den von M. Bratman 1987 eingeführten Begriff des personal commitments.
3.1 Kollektive Intentionalität
55
gische Konzepte im allgemeinen zu verwirklichen. Somit können sie zum Beispiel gemeinsame Absichten haben. Die Vorstellung von Personen, die sich gemeinsam festlegen, ein psychologisches Konzept als Einheit zu verwirklichen, ist das, worauf ich mich mit der Idee eines Plural Subjects beziehe“ (M. Gilbert 2000: 4, meine Übersetzung). In dem Essay “What is it for Us to intend?“ beschreibt Gilbert ihr Konzept einer geteilten Absicht als Absicht eines Plural Subjects (M. Gilbert 2000: 14 ff). Zwei Personen P1 und P2 haben eine geteilte Absicht, eine Handlung A auszuführen genau dann, wenn sie ein Plural Subject für die Absicht, A auszuführen, bilden. Bei einer geteilten Absicht müssen drei Kriterien erfüllt sein: Erstens beinhaltet das Obligation Criterion, dass, wenn zwei oder mehrere Personen eine gemeinsame Verbindlichkeit eingehen, sie eine gegenseitige Verpflichtung haben, sich der gemeinsamen Verbindlichkeit entsprechend konform zu verhalten. Zweitens kann die gemeinsame Verbindlichkeit nicht einseitig, sondern nur gemeinsam von allen beteiligten Personen rückgängig gemacht werden, was als Permission Criterion bezeichnet wird. Drittens beinhaltet das Lack of the Corresponding Personal Intentions Criterion, dass keine entsprechenden persönlichen Absichten vorhanden sein müssen. Persönliche Absichten setzen persönliche Verbindlichkeiten voraus, die einseitig rückgängig gemacht werden können. Wenn zwei Personen eine Absicht teilen, wird die Absicht durch die gemeinsame Verbindlichkeit dieser Personen verbunden, als körperliche Einheit zu intendieren, wodurch entsprechende persönliche Absichten redundant werden. Zusammenfassend beschreibt Gilbert eine geteilte Absicht von mindestens zwei Personen wie folgt: “A shared intention is a phenomenon involving at least two agents such that: i) It does not necessarily involve corresponding personal intentions of these agents. ii) The concept of intention is nonetheless operative in that the agents in question are jointly committed to intending “as a body”. iii) Through the joint commitment each party is under an obligation to the others to conform to the shared intention, and the others have correlative entitlements to such conformity and hence entitlements to rebuke for non-conformity. iv) The obligations and entitlements in question inhere in the joint commitment itself. v) A shared intention provides a unique type of motivational source: it provides a single motivational source for the different agents, a source that is under the control of all the agents (the underlying joint commitment cannot be rescinded unilaterally). vi) As a result, a shared intention is a robust framework for bargaining and negotiation, and a powerful tool for the solution of coordination problems, superior to a set of corresponding personal intentions, however closely intertwined.” (M. Gilbert 2000: 31)
56
3 Theoretischer Hintergrund der Simulationen
3.2 Überzeugungssysteme Bei den im letzten Abschnitt vorgestellten Konzepten zur Modellierung geteilter Absichten spielen epistemische Einstellungen der beteiligten Agenten eine große Rolle. Gegenstand ist hier, wie auch in der vorliegenden Simulationsstudie, nur eine Teilmenge der möglichen Überzeugungen der Agenten, nämlich Überzeugungen bezüglich ihrer eigenen Absicht und der Absicht anderer Agenten, bestimmte gemeinsame Handlungen durchzuführen. Bei der Modellierung der Überzeugungsbasis der Agenten sind mehrere Aspekte zu beachten. In erster Näherung sind Überzeugungen mentale Konstrukte einzelner Individuen, die deren persönliche Sichtweise der Welt repräsentieren. Diese Sichtweise muss jedoch nicht zwingend mit dem tatsächlichen Sachverhalt übereinstimmen. In Fällen, in denen die Überzeugung Absichten und Überzeugungen anderer Individuen betrifft, kann dies recht häufig der Fall sein. Rationale Individuen werden jedoch versuchen, ihre Überzeugung den tatsächlichen Gegebenheiten anzupassen, wenn sie ihren Irrtum erfahren. Überzeugungen sind also, zweitens, auch dynamische Konstrukte, die Veränderungen unterworfen sind. Drittens müssen, damit individuelle Überzeugungen mehrerer Agenten tatsächlich zur Durchführung einer gemeinsamen Handlung führen, diese „zueinander passen“. Diese Problematik ist allein mit logischen Ableitungsregeln, die sich nur auf den subjektiven epistemischen Zustand eines einzelnen Individuums beziehen, nicht in den Griff zu bekommen, sondern setzt Möglichkeiten wie Informationsaustausch, Kommunikation und Absprachen zwischen Individuen voraus. Die Untersuchung dieser unterschiedlichen Aspekte von Überzeugungen ist Gegenstand verschiedener Teilbereiche der epistemischen Logik, die im Folgenden kurz skizziert werden sollen. 3.2.1 Individuelle Überzeugungen In der Mitte des letzten Jahrhunderts wurde die epistemische Logik als ein spezieller Zweig der Modallogik entwickelt. Die erste Arbeit, die sich speziell mit der epistemischen Logik beschäftigt, ist “Knowledge and Belief” von J. Hintikka 1962.17 Der intuitive Zugang, der auf Hintikka zurückgeht, ist, dass es neben 17 Auch wenn Hintikka in “Knowledge and Belief” Carnap nicht explizit referenziert, kann Carnaps semantische Analyse nicht-extensionaler Operatoren in “Meaning and Necessity” (R. Carnap 1948) als ein Meilenstein zur Entwicklung der epistemischen Logik betrachtet werden, die zu dem Gedanken führte, neben den Modaloperatoren auch solche satzbildenden Modi als logische Operatoren zu betrachten, die propositionale Einstellungen ausdrücken, und entsprechende syntaktische und semantische Systeme zu schaffen. Carnap betrachtete doxastische Operatoren weder als extensional noch als intentional. Die Nicht-Extensionalität ergibt sich trivial, ob jemand glaubt, dass eine Aussage p
3.2 Überzeugungssysteme
57
einem aktuellen Zustand eine Reihe anderer möglicher Zustände gibt, so genannte mögliche Welten. Unterschiedliche Dinge können in verschiedenen möglichen Welten wahr sein. Was in jeder möglichen Welt gilt, ist notwendig, während was in wenigstens einer möglichen Welt gilt, möglich ist. Einige der möglichen Welten können für Agenten nicht von der aktuellen Welt unterscheidbar sein. Ähnlich der Abgrenzung der aletischen Operatoren: notwendig und möglich in der Modallogik wird in der epistemischen Logik die Unterscheidung zwischen den Operatoren für Wissen und Glauben gemacht. Nur wenn ein Fakt p in allen Welten, die ein Agent für möglich hält, wahr ist, kann man sagen, dass der Agent den Fakt p weiß, in anderen Fällen wird von Glauben gesprochen (siehe J.Y. Halpern 1995). Eine differenzierte Betrachtung epistemischer Einstellungen kommt aus dem deutschsprachigen Raum. In „Glauben, Wissen und Wahrscheinlichkeit“ unterscheidet W. Lenzen 1980 zwischen doxastischen Begriffen wie „Glauben” und „Überzeugung”, deren Gehalt auf rein subjektiven Kriterien beruht, und „Wissen“, dem neben subjektiven Komponenten – verschiedene Personen können unterschiedliche Fakten wissen – auch das objektive Moment der Wahrheit zukommt, denn gewusst werden kann nur, was wahr ist.18 Die verschiedenen Stufen des Glaubens sind hingegen eng an die subjektiven Wahrscheinlichkeiten gekoppelt, die dem Zutreffen einer Aussage beigemessen werden, womit verschiedene Grade des „Für-möglich-Haltens“ bis zum „Sicher-Sein“ erfasst werden. Lenzen bezeichnet eine feste Überzeugung als das obere Extrem eines Glaubens, wenn wir uns einer Sache sicher sind, sind wir davon überzeugt (vgl. W. Lenzen 1980: 14). Der Begriff der Überzeugung kommt somit ohne den direkten Bezug zur Wahrheit aus. Auch wenn ein Agent sicher ist, dass p der Fall ist, bedeutet das noch lange nicht, dass p wahr ist. In sozialen Kontexten, insbesondere wenn es um Annahmen über Handlungsabsichten anderer Personen geht, deren Realisierung auch in der Zukunft liegen kann, sind die Begriffe „Glaube“ oder „Überzeugung“ treffender als „Wissen“. Wenn meine beste Freundin und wahr ist, kann von der Wahrheit oder Falschheit von p völlig unabhängig sein. Ob jedoch aus der Tatsache, dass eine Person p glaubt, auch folgen sollte, dass sie q glaubt, wenn es sich bei p und q um logisch äquivalente Aussagen handelt, ist immer noch ein Diskussionspunkt in der epistemischen Logik. 18 Sei Wissen durch den Operator K (knowledge) und Überzeugung durch den Operator B (strong belief) gekennzeichnet, dann findet sich in üblichen Axiomatisierungen der epistemischen Logik – abgeleitet vom altgriechischen Nomen epistéme, „Wissen“ – das entsprechende Axiom K(a, p) p. Es bildet die Abgrenzung gegenüber schwächeren Axiomatisierungen für doxastische Operatoren wie Glauben oder Überzeugung – abgeleitet von doxa, „Meinung“ -, die zur epistemischen Logik im weiteren Sinn gezählt werden. In dieser Arbeit wird dieses erweiterte Verständnis zu Grunde gelegt, d.h. wenn von einem epistemischen Zustand gesprochen wird, sind darin auch doxastische Komponenten beinhaltet. Die Beziehung zwischen Wissen und Überzeugung kann wie folgt ausgedrückt werden: K(X, A) gdw. B(X, A) A.
58
3 Theoretischer Hintergrund der Simulationen
ich uns für morgen zu einem Badeausflug an den Starnberger See verabreden, wissen wir beide, dass wir beabsichtigen, morgen gemeinsam zum See zu fahren. Da ich sie als verlässliche Person kenne, bin ich überzeugt, dass sie zur vereinbarten Zeit am vereinbarten Ort erscheinen wird. Ob die gemeinsame Handlung tatsächlich stattfindet, werden wir beide erst wissen, wenn sie stattfindet. Vielleicht wird ihr Kind krank, mein Auto geht kaputt oder ein Gewitter zieht auf, das uns beide zum Handy greifen lässt, um die Verabredung in ein Cafe zu verlegen. Je nachdem, wie gut man eine Person kennt und wie verlässlich sich die Person in der Vergangenheit erwiesen hat, wird der Grad des Glaubens an das tatsächliche Erscheinen ausfallen. Ich kenne – zum Glück nur sehr wenige – Personen, auf deren Erscheinen ich trotz einer vorherigen Zusage nicht wetten würde. Bei der Generierung der Überzeugungen der Agenten der vorliegenden Simulationsstudie werden nur die Überzeugungen generiert, die später für die Ermittlung der gemeinsamen Handlung benötigt werden, andere mögliche Überzeugungen der Agenten werden nicht berücksichtigt. Der Anspruch der logischen Konsistenz individueller Überzeugungen soll eingehalten werden.19 Es werden jedoch nur zwei logische Prinzipien verwendet, die entweder als Axiome von Überzeugungslogiken angenommen werden (z.B. G. Meggle 2002b) oder aus diesen abgeleitet werden können (z.B. W. Lenzen 1980).
Subjektive Konsistenz des epistemischen Zustands
Bei der Generierung der Überzeugungsbasis eines Agenten werden ausschließlich Überzeugungen generiert, d.h. es wird weder ein Anspruch auf Wahrheit der Überzeugungen im Sinne von Wissen erhoben, noch werden verschiedene Glaubensgrade generiert. Ein rationaler Agent a kann nicht gleichzeitig überzeugt 19 Übliche Axiomatisierungen der epistemischen Logik (siehe z.B. Y.J. Halpern 1995) orientieren sich an Axiomensystemen der Modallogik, z.B. S45 oder S5 (siehe z.B. Modal Logic, B. Chellas 1980: 14). Aus diesen Axiomatisierungen ergeben sich zwei Problemkreise, die gemeinsam als das Problem der logischen Allwissenheit (logical omniscience problem) von Agenten in der Literatur diskutiert werden. Die Agenten glauben alle gültigen Formeln, sowie alle Konsequenzen ihres Wissens, die sich auf Grund von logischen Tautologien ergeben. Diese Anforderungen erscheinen für die Nachbildung menschlichen Denkens sehr mächtig. „Human believer are rarely consistent in the logical sense of the world; they will often have beliefs and , where , without being aware of the implicit inconsistency“ (siehe M. Wooldridge 2000: 191). Da die Forderung der logischen Konsistenz viel zu mächtig für Denker mit begrenzten Mitteln ist, schlägt Wooldridge vor, diese auf die Forderung nach nicht-widersprüchlichen Überzeugungen in dem Sinne, dass nicht gleichzeitig und geglaubt werden kann, zu begrenzen. In der vorliegenden Simulationsstudie sind derartige Problematiken bereits durch den für die Generierung der individuellen Überzeugungen der Agenten verwendeten Algorithmus ausgeschlossen (siehe 4.3.5 „Die Generierung der initialen Einstellungen“).
3.2 Überzeugungssysteme
59
sein, dass eine Proposition p wahr ist und dass p falsch ist. Dies wird durch das Prinzip B(a,p) B(a, p) ausgedrückt. Wenn ein Agent a von einer Aussage p überzeugt ist, dann kann er nicht gleichzeitig „nicht p” glauben. Die Umkehrung B(a,p) B(a, p) gilt jedoch nicht. Wenn ein Agent nicht überzeugt ist, dass p der Fall ist, bedeutet dies nicht notwendigerweise, dass er „nicht p” glaubt. „Nicht glauben, dass” beinhaltet auch, dass die Einstellung des Agenten bezüglich p unbestimmt ist, d.h. der Agent glaubt weder p noch „nicht p”.
Konsistenz von Überzeugungen höherer Stufe
Epistemische Einstellungen die sich auf nicht-epistemische Tatsachen beziehen, werden normalerweise auf Grund von empirischen Faktoren wie der Wahrnehmung gebildet oder zumindest von ihr beeinflusst. Überzeugungen höherer Stufen werden dann auf den gleichen Gründen bzw. Indikatoren aufbauen, die ausschlaggebend für die Überzeugung erster Stufe waren. Wenn ein Agent i eine Aussage p glaubt, dann glaubt er auch, dass er die Aussage p glaubt. Analog zum Schema p p aus der Modallogik, das mit den Axiomen von S5 bewiesen werden kann – wie üblich bezeichnet den aletischen Operator notwendig –, wird das entsprechende Schema B1 B(i,p) B(i, B(i,p)) als Axiom der epistemischen Logik für alle Formen des Glaubens angenommen. Mit der Annahme B(i,p) B(i, B(i,p)) kann die umgekehrte Richtung B(i, B(i,p)) B(i,p) mit der Hilfe des oben beschriebenen Axioms B1 als Theorem bewiesen werden. Dieses sogenannte Reduktionsprinzip drückt die Unfehlbarkeit in Bezug auf unsere eigenen epistemischen Einstellungen aus. Wenn ein Agent i glaubt, dass er an einen Sachverhalt p glaubt, dann sollte er auch den Sachverhalt p glauben. Die beschriebenen Prinzipien gelten nur, solange sie epistemische Einstellungen höherer Stufe bezüglich der subjektiven Einstellungen eines Agenten betreffen. Abgesehen von der Tatsache, dass eine derartige Ableitung mit üblichen Axiomatisierungen der epistemischen Logik nicht bewiesen werden kann, sollte es auch intuitiv klar sein, dass eine Ableitung B(i, B(j,p)) B(j,p) nicht gültig sein kann. Wenn Agent i glaubt, dass Agent j eine Aussage p glaubt, besagt dies nichts bezüglich der wirklichen Einstellungen von Agent j in Bezug auf p. Wenn es also um epistemische Einstellungen anderer Individuen geht, ist die klassische epistemische Logik keine große Hilfe. Wir können glauben, dass eine andere Person glaubt, dass p der Fall ist, oder wir können glauben, dass sie p für unmöglich hält, aber unsere Meinung über die Meinung einer anderen Person induziert weder logisch noch auf irgendeine andere Art die Übernahme ihrer Meinungen. Wenn ich glaube, dass jemand p für möglich hält, bin ich nicht gezwungen, selbst zu glauben, dass p zutrifft. Ich kann sogar überzeugt sein, dass eine andere Person die Aussage p glaubt, wenn ich selbst p für unmöglich halte
60
3 Theoretischer Hintergrund der Simulationen
(vgl. W. Lenzen 1980: 26). Für einen intersubjektiven Abgleich epistemischer Einstellungen sind zusätzliche Bedingungen erforderlich, z.B. die Möglichkeit zur Kommunikation. 3.2.2 Dynamik von Überzeugungssystemen Epistemische Zustände sind dynamische Entitäten, die sich ändern können. Wenn Individuen zum Beispiel durch Wahrnehmung oder Kommunikation neue Informationen über die Welt bekommen, versuchen sie, ihr Wissen und ihre Überzeugungen den neuen Gegebenheiten anzupassen. Ein wesentlicher Beitrag zur Modellierung der Dynamik von epistemischen Einstellungen war “Knowledge in Flux” (P. Gärdenfors 1988). Den Kern einer epistemologischen Theorie bilden nach Gärdenfors vier Grundelemente: 1.
2.
3.
4.
Eine Klasse von Modellen epistemischer Zustände oder Zustände des Glaubens. Ein Modell repräsentiert das Wissen oder die Überzeugungen einer Person zu einem bestimmten Zeitpunkt. Epistemische Zustände können als rationale Idealisierungen psychologischer Zustände betrachtet werden, nicht jedoch selbst als psychologische Entitäten. Das heißt, dass auch der Zustand eines Computerprogramms als Modell eines epistemischen Zustands betrachtet werden kann. Die Klassifizierung der epistemischen Einstellungen, die den Status verschiedener Elemente des Glaubens beschreiben, die in einem epistemischen Zustand beinhaltet sind. Darin können auch die bereits diskutierten unterschiedlichen Grade des Glaubens beinhaltet sein. Ein Fakt kann als wahr oder falsch, aber auch als sicher, wahrscheinlich oder möglich betrachtet werden. Epistemische Inputs, die zur Änderung der epistemischen Zustände führen können. Diese können als Übermittlung von Erfahrung oder als sprachliche (oder andere symbolisch codierte) Information durch andere Individuen oder Maschinen betrachtet werden. Eine Klassifizierung der Änderungen der epistemischen Einstellungen, die durch verschiedene Arten epistemischer Inputs hervorgerufen werden . Die wichtigsten Änderungen epistemischer Zustände sind Expansionen, Revisionen und Kontraktionen.
Die technische Repräsentation einer epistemologischen Theorie ist ein Überzeugungssystem. Ein Überzeugungssystem besteht aus folgenden Elementen: (1) einer Klasse von Modellen epistemischer Zustände, (2) einer Bewertungsfunkti-
3.2 Überzeugungssysteme
61
on, die für jeden Zustand die epistemischen Einstellungen in diesem Zustand entscheidet, (3) einer Klasse epistemischer Inputs, und (4) einer Entscheidungsfunktion, die für alle epistemischen Zustände und Inputs definiert ist. Obwohl für ein Überzeugungssystem nicht zwingend das Vorhandensein einer Objektsprache vorausgesetzt wird, kann für menschliche Individuen ein Überzeugungssystem als Mittler zwischen Sprache und externer Welt betrachtet werden. Die Bedeutung eines Ausdrucks wird in Bezug auf das Überzeugungssystem ermittelt und nicht direkt in Bezug zur externen Welt. Eine semantische Theorie besteht nach Gärdenfors 1988 „aus einer Abbildung einer linguistischen Struktur in ein Überzeugungssystem. Somit ‘befindet sich’ die Bedeutung eines Ausdrucks in einem Überzeugungssystem (einer kognitiven Entität) und nicht in der (materiellen) externen Welt“ (P. Gärdenfors 1988: 18, meine Übersetzung.) Dieser Ansatz unterscheidet sich von den meisten „klassischen” semantischen Theorien: epistemische Einstellungen wie Akzeptanz könnten als einfachere Konzepte für eine semantische Theorie dienen als Wahrheit. “The separation of subjective and objective epistemological factors is that the concepts of truth and falsity are irrelevant for the analysis of belief systems. These concepts deal with the relation between belief systems and external world, which I claim is not essential for an analysis of epistemic dynamics. This entails that from within a belief system there is no difference between knowledge and full belief“ (P. Gärdenfors 1988: 20).
Ein Überzeugungssystem kann somit als geschlossenes System betrachtet werden. Die einzigen externen Faktoren sind epistemische Inputs. Ausgehend von der Beschreibung eines statischen epistemischen Zustands werden sogenannte Postulate für die verschiedenen Arten einer Änderung der epistemischen Einstellungen formuliert. Die Satzmenge, die ein Individuum zu einem bestimmten Zeitpunkt akzeptiert (oder von der es glaubt, dass sie wahr ist) wird Überzeugungsmenge genannt. Diese Art der Modellierung ist mit einer Einteilung epistemischer Einstellungen verbunden, die für jeden Satz A die folgenden drei Möglichkeiten vorsieht: A wird akzeptiert, A wird zurückgewiesen, und A ist unbestimmt, d.h. A wird weder akzeptiert noch zurückgewiesen. Diese Einteilung kann durch die Forderung reduziert werden, dass A zurückgewiesen wird gdw. A akzeptiert wird. Nicht jede Satzmenge kann als Überzeugungsmenge bezeichnet werden. Auf der Metaebene müssen die beiden Bedingungen für das Rationalitätskriterium erfüllt sein (vgl. auch die Diskussion des logical omniscience problem im vorstehenden Abschnitt): 1.
Die Menge der akzeptierten Sätze sollte konsistent sein.
62 2.
3 Theoretischer Hintergrund der Simulationen
Die logischen Konsequenzen dessen, was akzeptiert wird, sollten ebenfalls akzeptiert werden.
Die Änderungen von Überzeugungen werden in Bezug auf die drei möglichen epistemischen Einstellungen gegenüber einem Fakt A untersucht. Hier werden drei Arten der Änderung der Einstellung unterschieden: 1. 2. 3.
Im Fall der Expansion ändert sich die epistemische Einstellung von ‘A ist unbestimmt’ entweder in ‘A wird akzeptiert’ oder in ‘A wird zurückgewiesen’. Im Fall der Kontraktion ändern sich die epistemischen Einstellungen ‘A wird akzeptiert’ oder ‘A wird zurückgewiesen’ in ‘A ist unbestimmt’. Im Fall der Revision ändert sich die epistemische Einstellung ‘A wird akzeptiert’ in ‘A wird zurückgewiesen’ oder ‘A wird zurückgewiesen’ in ‘A wird akzeptiert’.
Expansion und Kontraktion sind konsistente Änderungen der epistemischen Einstellungen eines Individuums. Es wird keine Überzeugung hinzugefügt, die einer Überzeugung im vorherigen Zustand widerspricht. Da die Überzeugung im Falle einer Revision der früheren Überzeugung widerspricht, ist diese Art von Überzeugungsänderung nicht-monoton.20 Gärdenfors’ Postulate haben auch außerhalb der epistemischen Logik Beachtung gefunden. Im Bereich der künstlichen Intelligenz wurden sie als Grundlage für die Formulierung von Ableitungsregeln in Datenbanken, Experten- oder Multiagentensystemen verwendet. Gehen die Postulate aus philosophischen Gründen von unendlichen Überzeugungsmengen aus, so werden in diesem Bereich Wissens- oder Überzeugungsbasen betrachtet, die jeweils auf endliche Mengen von Sätzen in einer Sprache L beschränkt sind (siehe z.B. H. Katsuno und A. Mendelzon 1991 oder S. Hanson 1994). 3.2.3 Interpersonelle Glaubens- und Wissensbegriffe Sind individuelle epistemische Einstellungen eine Voraussetzung für die Durchführung individueller Handlungen, so sind die epistemischen Einstellungen, die gemeinsamen Handlungen zu Grunde liegen, komplexerer Natur. Die umfangreiche Diskussion, die gerade in den letzten zwanzig Jahren sowohl von philosophischer Seite, als auch seitens der KI-Forschung geführt wurde, kann im Fol20 Auf eine genauere Erläuterung der Postulate wird an dieser Stelle verzichtet, es sei auf P. Gärdenfors 1988: 47-75 verwiesen.
3.2 Überzeugungssysteme
63
genden nur kurz skizziert werden. In der Diskussion sind zwei Themenkreise zu unterscheiden: Erstens wird, ähnlich wie bei individuellen epistemischen Einstellungen, nach der Art der epistemischen Einstellung unterschieden und in Analogie dazu werden die gleichen epistemischen Operatoren auch für epistemische Einstellungen angewendet, die mehrere Agenten betreffen. Zweitens kommt als neuer Aspekt der Bezug der epistemischen Einstellung hinzu. Die interpersonelle epistemische Einstellung kann entweder auf der Grundlage der beteiligten individuellen epistemischen Einstellungen modelliert werden oder aber als eigenständige Entität einer Gruppe von Agenten zugeschrieben werden. In der meist englischsprachigen Literatur wird zwischen Mutual Beliefs und Common Beliefs unterschieden, was im Folgenden mit gegenseitigen und gemeinsamen Überzeugungen übersetzt werden soll, sowie zwischen Mutual Knowledge und Common Knowledge, also gegenseitigem und gemeinsamem Wissen21. Wie bei den individuellen epistemischen Einstellungen ist Überzeugung der schwächere Begriff, auch im interpersonellen Fall betrifft sie einen Sachverhalt p, den die beteiligten Agenten für wahr halten, was jedoch nicht unbedingt zutreffen muss. Im Gegensatz zu gemeinsamen Überzeugungen erlaubt der Begriff der gegenseitigen Überzeugung ein Verständnis von Intersubjektivität, das sich nicht notwendigerweise darauf verlässt, dass die Beteiligten sich austauschen oder Verträge machen. Für das Verständnis gemeinsamer Überzeugungen gibt es zwei unterschiedliche logisch-konzeptionelle Ansätze (vgl R. Tuomela 2003: 34 ff): 1.
Nach dem iterativen Ansatz kann eine gemeinsame Überzeugung für den Zwei-Personen-Fall wie folgt beschrieben werden (siehe R. Tuomela 1995, Kap. 1): a und b glauben, dass p, a glaubt, dass b glaubt, dass p und b glaubt, dass a glaubt, dass p, a glaubt, dass b glaubt, dass a glaubt, dass p (und umgekehrt gilt das auch für b) und diese Iteration kann fortgeführt werden, solange es die Situation erfordert, also 1. Stufe: B(a, p) B(b, p) 2. Stufe: 1. Stufe B(a, B(b, p)) B(b, B(a, p)) 3. Stufe: 2. Stufe B(a, B(b, B(a, p))) B(b, B(a, B(b, p))) usw.
21 Auch diese Begriffe werden nicht einheitlich verwendet. Manche Autoren unterscheiden nicht explizit zwischen mutual belief und common belief. Eine differenzierte formale Unterscheidung der Begriffe mutual belief und mutual knowledge, sowie common belief und common knowledge findet sich in G. Meggle 2002b und 2002c, bei der der wesentliche Unterschied zwischen mutual belief und common belief darin besteht, dass ein an einem mutual belief beteiligter Agent a nicht selbst glauben muss, dass p der Fall ist, also B(a, p) wegfällt.
64
3 Theoretischer Hintergrund der Simulationen
Verallgemeinert kann dies folgendermaßen dargestellt werden (analog G. Meggle 2002b). Sei durch x G der Sachverhalt x ist Mitglied der Gemeinschaft G bezeichnet. Dann müssen bei einer gemeinsamen Überzeugung für den allgemeinen Fall einer Gemeinschaft G mit mindesten zwei Mitgliedern folgende Bedingungen erfüllt sein: D1.a: CB1(G, p) x (x G B(x, p)). Es ist gemeinsamer Glaube 1. Stufe in G genau dann, wenn jedes Mitglied glaubt, dass p. D1.b: CBn+ 1(G, p) CB1(G, CBn(G, p)). Es ist gemeinsamer Glaube n + 1. Stufe in G genau dann, wenn es gemeinsamer Glaube 1. Stufe in G ist, dass es gemeinsamer Glaube n-ter Stufe ist, dass p. D1.c: CB(G, p) n CBn(G, p). Es ist gemeinsamer Glaube in G dass p, genau dann wenn es in G auf allen Stufen gemeinsamer Glaube ist, dass p. Analog kann auch gemeinsames Wissen formalisiert werden (siehe G. Meggle 2002b: 3). 2.
Nach dem Fixpunkt-Ansatz erhält eine gemeinsame Überzeugung für den Zwei-Personen-Fall folgende Form: a und b glauben gemeinsam, dass p genau dann, wenn sie glauben, dass p und sie ebenso glauben, dass von ihnen gemeinsam geglaubt wird, dass p: (siehe W. Balzer und R. Tuomela 1997b: 131). Dies kann syntaktisch wie folgt formuliert werden. Sei die Gruppe G={a, b}, dann CB(G, p) B(a, p CB(G, p) B(b, p CB(G, p))) B(b, p CB(G, p) B(a, p CB(G, p))). Für größere Gruppen kann diese Formel allerdings beträchtliche Ausmaße annehmen. Es kann gezeigt werden, dass es interessante Analogien zwischen individuellen epistemischen Einstellungen und gemeinsamen epistemischen Einstellungen gibt (siehe hier insbesondere G. Meggle 2002b und 2002c). So kann beispielsweise gemeinsames Wissen von einer gemeinsamen Überzeugung in Analogie zu den entsprechenden indivduellen epistemischen Einstellungen durch den Bezug zur Wahrheit unterschieden werden, also CK(P,A) CB(P,A) A (siehe G. Meggle 2002c: 208).
3.2 Überzeugungssysteme
65
In sozialen Kontexten trifft das Konzept der wechselseitigen bzw. gemeinsamen Überzeugung oft besser zu als das Konzept des gemeinsamen Wissens (vgl. R. Tuomela 1995, Kap. 1). Insbesondere im weiten Feld der sozialen Praktiken, das z.B. auch Phänomene wie Modeerscheinungen beinhaltet, an denen eine große Menge von Agenten beteiligt sein kann, ist ein expliziter Austausch weder möglich noch nötig, da ein hinreichender Grund für die Beteilgung die wechselseitige Überzeugung sein kann, dass andere Agenten sich auch beteiligen. Im Gegensatz dazu wird in Multiagentensystemen mit dem Begriff des gemeinsamen Wissens operiert und Formalisierungen gemeinsamen Wissens werden verwendet, um den Zustand des Systems zu modellieren. Der Prozess der Erlangung des gemeinsamen Wissens setzt voraus, dass die Agenten ihr individuelles Wissen untereinander austauschen können. Die Agenten kommunizieren dazu miteinander über ein Protokoll P. Ein Protokoll Pi für einen Agenten i ist eine Funktion von der Menge Li der lokalen Zustände des Agenten i zu nichtleeren Mengen der möglichen Handlungen des Agenten in ACTi. Die Absprachen der Agenten zur Erlangung von gemeinsamen Wissen sind eine Voraussetzung für gemeinsames Handeln (vergleiche Absatz 3.1.1 „Absichten für gemeinsame Handlungen“). In Multiagentensystemen haben diese Modellierungen eine Reihe von Problemen aufgeworfen: Ein vieldiskutiertes Problem ist, wann ein protokollbasiertes System in einem Zustand ist, in dem man von gemeinsamen Wissen ausgehen kann. J.Y. Halpern 1995 weist darauf hin, dass gemeinsames Wissen nicht erreicht werden kann, solange es Unsicherheiten über die Synchronisation der Nachrichtenübermittlung gibt. Gemeinsames Wissen kann nur in „idealen Systemen“ erreicht werden, die annehmen, dass Ereignisse gleichzeitig stattfinden. In den gebräuchlicheren “nicht-ganz-idealen” Systemen, kann das Erreichen gemeinsamen Wissens nicht garantiert werden. 22 Wenn also gemeinsames Wissen eine Voraussetzung für Vereinbarungen von Agenten ist, scheint es an dieser Stelle ein Paradox zu geben. Die Diskussion zur Lösung dieser Problematik soll an dieser Stelle nicht weiterverfolgt werden, sondern es sei auf R. Fagin et al. 1995 und J.Y. Halpern und Y. Moses 1992 verwiesen. In der vorliegenden Simulationsstudie stellt sich diese Problematik nicht. Da angenomen wird, dass sich die simulierten Agenten in regelmäßigen Abständen treffen, könnten sie Gelegenheit zum Informationsaustausch haben. Allerdings werden in überzeugungsbasierten Simulationen die Absprachen über die gemeinsamen Handlungen, wie in Multiagentensystem, über protokollbasierte Verhandlungen auf der Grundlage der individuellen Überzeugungen geführt. Diese Verhandlungen finden synchronisiert in bestimmten Zeitabschnitten statt. 22 Eine ausführliche Diskussion dieser Thematik am Beispiel der „koordinierten Attacke“ findet sich in Reasoning about knowledge (R. Fagin et. al. 1995).
66
3 Theoretischer Hintergrund der Simulationen
3.3 Künstliche Agenten 3.3.1 Eigenschaften künstlicher Agenten In Kontexten der künstlichen Intelligenz wird der Begriff Agent für autonome Computerprogramme verwendet, die in der Lage sind, in Umgebungen, die normalerweise dynamisch und unvorhersehbar sind, selbstständig zu handeln. Natürlich gibt es in anderen Kontexten noch eine Reihe anderer Verwendungen des Begriffs Agent. In der Ökonomie beispielsweise wird die Bezeichnung Agent für Personen verwendet, die autorisiert sind, anstelle einer anderen Person zu handeln. Eine ähnliche Verwendung kann auch in der Softwaretechnologie gefunden werden: Programme, die im Auftrag eines (menschlichen) Auftraggebers handeln, z.B. Suchmaschinen im oder Handelssoftware für das Internet werden als Software-Agenten bezeichnet In den neunziger Jahren erregte jedoch die Vorstellung vom intelligenten Agenten wachsende Aufmerksamkeit. Das Ziel war, zur Funktionalität der Programme eine Art von “Intelligenz” hinzuzufügen, um ihnen mehr Autonomie zu geben und unabhängig vom menschlichen Verursacher zu arbeiten. In diesem Kontext werden Agenten oft als Entitäten beschrieben, um mentale Zustände oder rationales Verhalten abzubilden, eine Verwendung, die dem philosophischen Konzept sehr nahe kommt. Die Programme kontrollieren ihre Handlungen eigenständig auf der Grundlage der Wahrnehmung ihrer Umgebung. Es wurden verschiedene Kriterien formuliert, um Agenten zu charakterisieren und von herkömmlichen Programmen abzugrenzen. Inzwischen werden folgende Eigenschaften, die in Wooldridge und Jennings 1995 vorgeschlagen wurden, weitgehend akzeptiert (vergleiche auch N. Gilbert und K.G. Troitzsch 1999, N. Jennings et al. 1998, F. Klügl 2001):
Autonomie: Die Agenten haben die eigene Kontrolle über ihre Handlungen und ihren internen Zustand. Zusätzlich können sie individuelle Merkmale wie Charakter oder intentionale Einstellungen besitzen. Reaktivität: Agenten sind in der Lage ihre Umgebung wahrzunehmen und können auf Veränderungen in ihrer Umgebung reagieren. Sie sind anpassungsfähig und können aus Erfahrung lernen. Proaktivität: Im Gegensatz zu herkömmlichen Programmen reagieren Agenten nicht nur auf ihre Umgebung, sondern sie sollten in der Lage sein, zielgerichtet zu handeln und wenn nötig, auch Initiative zu ergreifen. Soziale Fähigkeiten: Agenten interagieren mit anderen Agenten und haben die Fähigkeit zur Kooperation und zur Kommunikation. Zu diesem Zweck müssen entsprechende Protokolle und Sprachen vorhanden sein.
3.3 Künstliche Agenten
67
Ganz allgemein kann eine beliebige Ansammlung interagierender Agenten als Multiagentensystem (MAS) bezeichnet werden (siehe R. Fagin et. al. 1995: 103). Auch in der sozialen Simulation werden inzwischen häufig Multiagentenmodelle eingesetzt (siehe N. Gilbert und K.G.Troitzsch 2005, Kapitel 8 und 9). Allerdings gibt es hier Unterschiede im Design und in der Ausrichtung der Systeme bezüglich der Anwendung auf technische Systeme und Roboter oder auf die Simulation sozialer Systeme. Conte et al. 1998 stellen fest, dass „wenn das Feld der Multiagentensysteme als die Untersuchung von Gesellschaften künstlicher autonomer Agenten betrachtet werden kann, so kann agentenbasierte soziale Simulation als Untersuchung künstlicher Gesellschaften von autonomen Agenten definiert werden“ (R. Conte et al. 1998: 3, meine Übersetzung). 3.3.2 BDI-Architekturen Im Bereich der Multiagentensysteme bilden BDI-Architekturen (von beliefdesire-intention) eine häufig diskutierte Klasse von Modellen für rationale Agenten. Basierend auf Bratmans philosophischer Theorie der praktischen Entscheidungsfindung (M. Bratman 1987) entwickelten Rao und Georgeff (siehe z.B. A. Rao und M. Georgeff 1998, M. Georgeff et al. 1991) in den frühen neunziger Jahren die BDI-Logik als eine Art Multi-Modallogik, die epistemische, temporale und modale Operatoren enthält, um künstlichen Agenten eine abstrakte, idealisierte Semantik zu geben. Ein Ziel dieses Programms ist es, künstliche Agenten zu befähigen, ähnlich wie Menschen zielorientiert und planbasiert zu handeln und sich zwischen mehreren Handlungsmöglichkeiten zu entscheiden. Eine Axiomenmenge bildet die Basis für die Ableitungsregeln. Die Grundlage für die Entscheidungsfindung der künstlichen Agenten bildet eine Datenstruktur, die sog. BDI-Struktur. Diese Struktur enthält Komponenten, die folgende intentionale Eigenschaften eines Agenten repräsentieren:
Beliefs: Diese Menge enthält Überzeugungen bzw. Annahmen des Agenten über die seine Umwelt, also z.B. auch Annahmen über andere Agenten sowie Annahmen über mögliche Auswirkungen seiner Handlungen. Desires: Diese Menge enthält Wünsche, die der Agent verwirklichen möchte, bzw. Ziele, die er erreichen möchte. Intentions: Diese Menge enthält die Absichten für Handlungen, die der Agent durchführen möchte, um seine Ziele zu erreichen.
Je komplexer der Einsatzbereich des BDI-Systems ist, desto mehr Daten können in der Struktur enthalten sein. Häufig wird es den Agenten nicht möglich sein, all
68
3 Theoretischer Hintergrund der Simulationen
ihre Ziele zu erreichen, sondern die Agenten müssen sich zwischen mehreren Möglichkeiten entscheiden. Der Vorgang der praktischen Entscheidungsfindung beinhaltet mindestens zwei Schritte: erstens muss sich der Agent entscheiden, welches Ziel er erreichen möchte und zweitens muss er einen Plan entwickeln, wie er das Ziel erreichen kann. Ersteres wird als deliberation bezeichnet und kann neben der Auswahl von mindestens einem Hauptziel auch die Auswahl von verschiedenen Teilzielen beinhalten, die zur Ereichung der Hauptzielsetzung nötig sind. Letzteres wird als means-end reasoning bezeichnet. Dieser Prozess der Erstellung eines Plans umfasst die Auswahl von Aktionen, deren Ausführung nötig ist, um den gewünschten Endzustand zu erreichen. Der BDI-Ansatz zielt primär darauf ab, einen allgemeinen Rahmen für die Nachbildung von menschlichem, handlungsorientierten Schlussfolgern zu liefern, der z. B. in technischen Systemen und Robotern verwendet werden kann. In der Einleitung zu Reasoning about Rational Agents formuliert Wooldridge 2000 dieses Programm wie folgt: “We wish to build computer programs that can independently make good decisions about what actions to perform. But it is not enough to have programs that think of a good action to perform – we wish to have them actually execute these actions“(M. Wooldridge 2000: 2). Im erweiterten Sinn können auch Ansätze, in denen nicht jede der drei Komponenten repräsentiert ist, als Mitglieder der “BDI-Familie” betrachtet werden (vgl. W. Balzer 2000). BDI-Systeme und der hier vorgestellte Ansatz haben nicht nur gemeinsame Wurzeln in der modernen Sozialphilosophie, auch die verwendeten Regelmengen haben eine gemeinsame Basis in der Modal- bzw. epistemischen Logik. Auch wenn die Wünsche bzw. Ziele in den Strukturen nicht explizit repräsentiert sind, sind sie in den Modellen implizit durch die Repräsentation einer Handlung als geordnetes Paar von Satzmengen (C, E) vorhanden, wobei C die Beschreibung der Bedingungen enthält, die erfüllt sein müssen, damit die Handlung (C, E) durchgeführt wird, und E für die Beschreibung der Auswirkungen der Handlung (C, E) steht (vgl. 4.1.1.2). Bei einer entsprechenden Konstruktion der Satzmengen (C, E) könnten hier noch Wünsche bzw. Ziele der Agenten ergänzt werden. Der vorgestellte Ansatz kann also im weiteren Sinne zur BDI-Familie gezählt werden. Dennoch gibt es einige signifikante Unterschiede:
Ziel der BDI-Logik ist es, einen allgemeinen Rahmen für verschiedenste Anwendungen von Multiagentensystemen zu liefern. Dieser Anspruch besteht hier selbstverständlich nicht, die präsentierten Fakten und Regeln sollen nur einen begrenzten Ausschnitt der sozialen Realität modellieren. Der Gegenstand dieser Arbeit ist die Simulation eines sozialen Systems, für die eine Multiagentenarchitektur verwendet wird. Die Simulation konzentriert
3.3 Künstliche Agenten
69
sich insbesondere auf die Herausbildung der geteilten Absichten der Agenten zur Durchführung von gemeinsamen Handlungen. Individuelle Handlungen werden nicht berücksichtigt. Die in der Simulation verwendeten Regeln sind sehr einfach, was große Teile des BDI-Apparats überflüssig macht. Die Simulation untersucht, wie die einer sozialen Praxis zu Grunde liegenden Einstellungen beschaffen sein müssen, damit die Praxis entsteht und beibehalten wird. Insofern werden die Handlungen der Gemeinschaft künstlicher Agenten nur simuliert, während BDI-Systeme darauf abzielen, dass ihre Agenten auf der Grundlage der formulierten Regeln tatsächliche Handlungen durchführen. Diese Simulationsstudie geht zurück zu den philosophischen Wurzeln: Absichten und Überzeugungen werden verwendet, um menschliches Handeln zu simulieren. Auch hier wird angenommen, dass die Agenten bestrebt sind, nach rationalen Kriterien zu handeln. In einem sozialen Umfeld, in dem bei gemeinsamen Handlungen von Agenten die Absichten und Überzeugungen der anderen Agenten mit einbezogen werden müssen, wird es jedoch immer wieder vorkommen, dass sich Überzeugungen von Agenten wechselseitig widersprechen. Auch wenn sich die Agenten im Laufe der Zeit besser kennen lernen und versuchen, ihre Überzeugungen über potentielle Handlungsabsichten der anderen anzupassen, wird dies letztendlich nur näherungsweise funktionieren, da sich die Interessen der anderen Agenten auch wieder ändern können.
4 Simulation einer sozialen Praxis
In diesem Kapitel soll die Modellierung und Implementierung der Simulationen erläutert werden. Ausgehend von einem allgemeinen Rahmen zur Modellierung sozialer Praktiken wurde ein Programm entwickelt um bestimmte Formen sozialer Praktiken am Computer zu simulieren: nicht institutionalisierte, nichthierarchisch strukturierte Kleingruppen wie Stammtische, Literaturzirkel oder Freizeitsportgemeinschaften. Auch wenn nicht alle Komponenten des Rahmens im Simulationsprogramm eins zu eins umgesetzt wurden, wird er zu Beginn des Kapitels vorgestellt, um das zu Grunde gelegte Verständnis sozialer Praktiken zu verdeutlichen. Danach wird die Anwendung auf die Simulation der sozialen Praxis des Gruppenlebens von Freizeitgruppen beschrieben. Nach einem kurzen Überblick über Merkmale der Programmiersprache Prolog werden die PrologRegeln mit den zu Grunde gelegten Algorithmen für die Auswahl der Gruppenhandlung beschrieben. Hier wurden zwei Regelmengen implementiert, die verschiedene Modellklassen der sozialen Praxis des Gruppenlebens von Freizeitgruppen charakterisieren: Entweder wird die Gruppenhandlung zufällig ausgewählt oder die Agenten verhandeln auf Grundlage ihrer Überzeugungen, welche Gruppenhandlung auszuführen ist. Die Effekte, die sich aus ihrer Anwendung ergeben, sollen im nächsten Kapitel in Simulationsexperimenten gezielt untersucht werden.
4.1 Grundlagen der Modellierung 4.1.1 Ein allgemeiner Rahmen zur Modellierung sozialer Praktiken Die von W. Balzer und R. Tuomela 2003 in “Collective Intentions and the Maintenance of Social Practices” vorgestellte Analyse sozialer Praktiken lieferte die theoretische Grundlage für die Modellierung der Simulationen. Diese Analyse sozialer Praktiken und ihrer Dynamik in präzisen mathematischen und logischen Begriffen bietet einen allgemeinen Rahmen, der verschiedene Arten sozialer Praktiken abdeckt und Raum für Erweiterungen lässt. Auch wenn der präsentierte Rahmen darauf abzielt, generelle Merkmale sozialer Praktiken herauszuarbeiten, ist der Grad der Formalisierung gut geeignet, um die Simulation spezieller
72
4 Simulation einer sozialen Praxis
sozialer Praktiken auf einem Computer zu modellieren. Dieser Weg wird hier beschritten. Aus dem breiten Spektrum sozialer Praktiken, das nicht-normative Fälle wie Sitten und Traditionen bis hin zu Institutionen umfasst, wird eine Teilmenge herausgegriffen: nicht-hierarchisch strukturierte Gruppen von Personen, die sich auf freiwilliger Basis in regelmäßigen Zeitabständen treffen, um gemeinsamen Interessen in ihrer Freizeit nachzugehen. Der gegebene Rahmen soll durch Prolog-Regeln erweitert werden, die gezielt darauf zugeschnitten wurden, diese Phänomene abzudecken. Somit wird der gegebene allgemeine Rahmen in Hinblick auf die Simulation der sozialen Praxis des Gruppenlebens von Freizeitgruppen spezialisiert. Zunächst soll ein kurzer Überblick über einige Grundbegriffe gegeben werden. Soziale Praktiken werden hier als sich wiederholende Aktivitäten betrachtet, die auf gemeinsamen Einstellungen basieren, d.h. auf den damit verbundenen Absichten und Überzeugungen der Agenten. Somit ist das Verständnis sozialer Praxis eng mit dem zu Grunde liegenden Verständnis kollektiver Intentionalität verbunden. 4.1.1.1 Einstellungen Wie im letzten Kapitel erläutert, gibt es verschiedene Möglichkeiten, um gemeinsame Handlungsabsichten zu modellieren. Eine Handlungsabsicht kann entweder a) den einzelnen Mitgliedern einer Gruppe, oder b) der Gruppe als Ganzem zugeschrieben werden. Im Gegensatz zur Handlungsabsicht einer Gruppe (group intention), die für die ganze Gruppe gilt, wird eine gemeinsame Absicht (collective intention) auf die Mitglieder der Gruppe zurückgeführt. “If a group has the intention to perform an action X this entails – in the case of groups with no structure – that the group members jointly intend to perform X (or at least something resulting in X). The group intention is thus a ‘macro level’ notion, while the collective or joint intention is a ‘meso level’ notion applying collectively to the group members. In this case, every group member is also assumed to have an intention to contribute to X.“ (W. Balzer und R. Tuomela 2001: 2)
Tuomelas Definition einer geteilten Absicht zweier Personen die die Absicht teilen, eine gemeinsame Handlung X durchzuführen (siehe 3.1.1.1) wird für die Anwendung auf mehrere Personen verallgemeinert.23 Die Absicht in der Gruppe 23 Meines Erachtens wären auch die anderen im letzten Kapitel vorgestellten Ansätze, nicht zuletzt wegen des Grads der Formalisierung, als Basis für die Modellierung von geteilten Absichten in einem Simulationsprogramm geeignet. Wenn man der individualistischen Sichtweise Bratmans folgt, werden die Einstellungen ausschließlich einzelnen Agenten zugeschieben, folgt man Gilberts holisti-
4.1 Grundlagen der Modellierung
73
eine gemeinsame Handlung X durchzuführen, bildet sich auf Grund der geteilten Absichten der Gruppenmitglieder. Die Handlungsabsichten und die entsprechenden Überzeugungen werden den Agenten individuell zugeschrieben. Aber der Inhalt der jeweiligen Absicht, beziehungsweise ihr Ziel ist, zusammen eine Handlung eines gemeinsamen Handlungstyps durchzuführen. Die verallgemeinerte Fassung einer schwach ausgeprägten Wir-Intention ist wie folgt charakterisiert: Ein Agent in einer Gemeinschaft I von Agenten hat die Wir-Intention (bzw. das Wir-Ziel) einen Zustand X zu erreichen oder eine Handlung X durchzuführen, genau dann wenn a) der Agent die Absicht bzw. das Ziel hat, X durchzuführen oder zu erreichen b) der Agent glaubt, dass die anderen Agenten die gleiche Absicht bzw. das gleiche Ziel haben und c) ebenfalls glaubt, dass es eine wechselseitige Überzeugung unter den Agenten ist, dass die Mitglieder die entsprechende Absicht bzw. das entsprechende Ziel haben. In Beziehung auf die Gruppe bedeutet dies, dass eine Gruppe von Agenten gemeinsam beabsichtigt eine Handlung X durchzuführen, genau dann, wenn a) jedes einzelne Mitglied der Gruppe beabsichtigt, seinen Teil der Handlung X durchzuführen, b) jedes einzelne Mitglied der Gruppe glaubt, dass die anderen Mitglieder ihre Anteile an der Handlung X, ausführen werden und c) jedes einzelne Mitglied der Gruppe glaubt, dass es einen Mutual Belief unter den Mitgliedern der Gruppe gibt, dass a) und b) erfüllt sind. Eine Menge von Einstellungen der Mitglieder einer Gruppe muss – mindestens – aus Intentionen und entsprechenden Überzeugungen der oben beschriebenen Art bestehen. 4.1.1.2 Handlungen Soziale Praktiken sind sich wiederholende gemeinsame Handlungen, die aus einem geteilten sozialen Grund ausgeführt werden, der in der kollektiven Absicht ausgedrückt ist, die der sozialen Praxis zu Grunde liegt. Sie treten in sozialen Systemen auf, die sich im Laufe der Zeit entwickeln. Solche Systeme können als Folgen von Zuständen modelliert werden. Jeder Zustand ist durch eine Satzmenge charakterisiert. Mögliche Handlungen sind als Paare (C, E) von Satzmengen dargestellt. Die Elemente von C beschreiben teilweise den Zustand vor Ausführung der Handlung (C, E) und E ist eine partielle Beschreibung des Zustands, der nach erfolgreicher Ausführung der Handlung erreicht wurde. Eine Handlung stellt somit einen Zustandsübergang dar. Die Satzmenge C (von “conditions“) steht für die Beschreibung der Bedingungen, die erfüllt sein müssen, damit die scher Sichtweise, können Einstellungen auch einem Plural Subjekt zugeschrieben werden, das aus einer Gruppe von Agenten besteht, die durch Anwendung geeigneter Programmregeln gebildet wird.
74
4 Simulation einer sozialen Praxis
Handlung (C, E) ausgeführt wird, und E steht für die Beschreibung der Effekte der Handlung. Die Satzmenge C wird als Initialzustand und E wird als Ergebnis der Handlung bezeichnet. Diese Modellierung einer Handlung im Grundrahmen ermöglicht es, individuelle und gemeinsame Handlungen abzubilden. Die Elemente von C sind bei individuellen Handlungen an einen Agenten gebunden, so dass C Sätze wie 'Agent 1 betritt das Lokal', 'Agent 2 setzt sich an den Tisch', 'Agent 3 bestellt ein Bier' usw. enthalten kann. In der folgenden Anwendung des Grundrahmens in der vorliegenden Simulationsstudie werden individuelle Handlungen vernachlässigt. In diesem Kontext werden nur gemeinsame Handlungen betrachtet. Jede teilnehmende Agentin führt bei ihrer Beteiligung ihren Teil der gemeinsamen Handlung durch. Im Falle einer gemeinsamen Handlung beziehen sich die charakterisierenden Sätze auf mehr als einen Agenten. Die Agenten, die sich an einer Handlung beteiligen, werden nicht explizit gemacht. Sie werden implizit durch ihre Namen repräsentiert, die in den Satzmengen C und E auftreten. So genügt es für eine gemeinsame Handlung des Typs we_go_to_the_pub, dass C Sätze enthält, die die Bedingungen bezeichnen, die zur Ausführung der gemeinsamen Handlung nötig sind (vergleiche auch 4.3.5.2).
4.1.1.3 Trigger-Bedingungen Alle Bedingungen, die gemeinsam dazu dienen, eine Handlung auszulösen, werden als Trigger24 für die Handlung bezeichnet. Unter diesen gibt es sowohl „positive“ als auch „negative“ Bedingungen, die notwendig zur Durchführung der Handlung sind. Ein Beispiel für eine „positive“ notwendige Bedingung ist, dass der richtige Zeitpunkt für die Durchführung der Handlung eingetreten ist. „Negative“ notwendige Bedingungen geben die Abwesenheit von Hindernissen an, die die Personen daran hindern würden, eine Handlung durchzuführen, z.B. ein krankes Kind, ein Unwetter oder ein kaputtes Auto. Nicht nur Handlungen können durch Trigger ausgelöst werden, es gibt sie auch für Intentionen. Bestimmte Bedingungen sind notwendig, damit sich eine Absicht herausbildet, an einer gemeinsamen Handlung eines bestimmten Typs teilzunehmen. Auslösende Bedingungen für Absichten bestehen hauptsächlich aus den Erwartungen der Agenten über das Ergebnis einer Handlung. Diese Erwartungen werden von zwei Faktoren beeinflusst: Erstens von der Möglichkeit der Durchführung der ge24 Die Bezeichnung „Trigger“ statt „auslösender Bedingung“ oder „Auslöser“ soll an dieser Stelle als Terminus technicus eingeführt werden. In der Elektrotechnik und Informatik wird bereits das englische Wort „Trigger“ auch im Deutschen in verschieden Kontexten als Terminus technicus für „Auslöser“ oder „auslösende Bedingung“ verwendet, wobei dann das Wort „Bedingung“ weggelassen wird (z.B. Schmitt-Trigger oder Datenbanktrigger).
4.1 Grundlagen der Modellierung
75
meinsamen Handlung und zweitens von der Befriedigung, die sich der Agent von einer erfolgreichen Durchführung verspricht. Die Gelegenheit zur Durchführung hängt wiederum davon ab, dass keine Hindernisse auftreten und positive Bedingungen für die Durchführung vorhanden sind, wie zum Beispiel dass der richtige Zeitpunkt gekommen ist. Ein weiterer wichtiger Trigger kann die Erwartung sein, dass andere Agenten auch an der gemeinsamen Handlung teilnehmen werden. Erwartungen der zweiten Art sind von Erfahrungen aus der Vergangenheit beeinflusst. Wenn ein Agent hauptsächlich positive Erfahrungen mit der Durchführung einer bestimmten gemeinsamen Handlung gemacht hat, dann wird die Absicht, die Handlung durchzuführen, wieder ausgebildet. Die Einstellung, die Handlung durchzuführen, kann durch wiederholte erfolgreiche Ausführungen noch verstärkt werden. 4.1.1.4 Das Feedback der Handlung – Erfolg oder Misserfolg? Dies führt zu der nächsten wichtigen Komponente der Analyse von Balzer und Tuomela. Nach der Durchführung einer Handlung wird geprüft, ob die Handlung ein Erfolg oder ein Misserfolg war. Die Idee hierbei ist, dass das Feedback der Handlung für die Aufrechterhaltung der Praxis relevant ist. Agenten haben bestimmte Kriterien, um den Erfolg einer Handlung zu bestimmen. Diese Kriterien sind subjektiv. Normalerweise hängen sie von früheren Erwartungen über das Resultat oder das Ziel der Handlung ab. Im Kontext der Beispielgruppen können es unspektakuläre Ziele sein, wie z.B. einen netten Abend zusammen zu verbringen, dabei Spaß zu haben usw. Wenn die Kriterien eines Agenten erfüllt sind, wird die gemeinsame Handlung als erfolgreich bewertet, wenn nicht, ist sie ein Misserfolg. Agenten haben ihre individuellen “Erfolgskonten”, sie erinnern sich an vergangene Erfolge oder Misserfolge. Bei einer erfolgreichen Handlung wird die Absicht beibehalten, die Handlung auszuführen, bei einem Misserfolg wird die Handlung aufgegeben. Treten innerhalb einer gewissen Zeitspanne zu viele Misserfolge auf, wird der Agent an der sozialen Praxis nicht mehr teilnehmen. Der allgemeine Erfolg der gemeinsamen Handlung kann aufgrund der einzelnen Beiträge bestimmt werden. Wenn das Feedback der Beteiligung an der Praxis für eine Mehrheit der Agenten negativ, d.h. unterhalb einer bestimmten Schwelle ist, sind diese Agenten nicht mehr gewillt, sich weiterhin zu beteiligen, was zum Zusammenbruch der Praxis führen kann. Wenn das Feedback positiv ist, sind die Agenten weiterhin bereit, sich zu beteiligen und die Praxis wird beibehalten.
76
4 Simulation einer sozialen Praxis
4.1.1.5 Muster sozialer Praktiken Die vorgestellten Komponenten werden in einem allgemeinen Rahmen zur Modellierung sozialer Praktiken zusammengefasst (siehe W. Balzer und R. Tuomela 2003: 13 bzw. R. Tuomela 2003: 208)25: 1. 2. 3.
S ist eine Satzmenge. Po(S) wird Zustandsraum genannt. T = {1, 2, 3, …} ist eine Menge von Zeitpunkten, die durch die normale numerische Ordnung < linear geordnet ist. P = (z1, z2, z3, z4, …) ist eine unendliche Folge von Zeitabschnitten (periods) i
i
i
in T, so dass für jeden Abschnitt zi = ( z1 ,…, z 4 ) gilt: z j T, und
z1i <…< z 4i . Die Abschnitte sind disjunkt, und es wird vorausgesetzt, dass die Ordnung der Abschnitte mit der Ordnung von T kompatibel ist, d.h. i
j
wenn i < j, dann z 4 < …< z1 . Der erste Zeitabschnitt beginnt unmittelbar bei 1: z 1 = 1. 1 4. 5. 6. 7.
8.
ACT Po(S) x Po(S) ist eine Menge möglicher Handlungen bzw. Handlungstypen. ATT (Attitudes) ist eine Menge von Arten von Einstellungen, die zumindest Intentionen int und Überzeugungen bel enthält. J ist eine Menge von mindestens zwei Agenten. G Po(J) ist eine Menge von Individuen. Die Mengen in G könnten als Gruppen interpretiert werden, es wird jedoch keine Struktur eingeführt. Auch wenn das Modell in dieser Hinsicht allgemein ist, wird jeweils nur eine Menge von Individuen I betrachtet, die anderen Individuen, die nicht in I enthalten sind, werden als “Rest” R bezeichnet, so dass gilt J = I R. Die Abbildung x: G x T Po(S) ist eine Zustandsbeschreibung. Für eine Menge von Individuen I G und Zeitpunkt t ist x(I, t) die Satzmenge, die den Zustand von I zum Zeitpunkt t beschreibt. Allgemein kann
x( I , t ) I G
9.
logisch inkonsistent sein, aber es könnten schwächere Formen von Konsistenz wie Para-Konsistenz angewendet werden. Die Kausalrelation caus: T x Po(S) x T Po(S) wird formal als partielle Funktion betrachtet. Ursache und Wirkung werden durch Satzmengen be-
25 Die formale Beschreibung wurde übernommen, die textuelle Beschreibung wurde etwas gekürzt.
77
4.1 Grundlagen der Modellierung
10.
11.
12.
13.
14.
schrieben. caus(t,X, t’) = Y wird als „der (partielle) Zustand X, der am Zeitpunkt t herrscht und zum Zeitpunkt t’ einen Zustand Y bewirkt“ interpretiert. Da Po(S) viele inkonsistente Mengen enthalten kann, muss caus partiell sein. Eine Handlung wird als Relation act G x Po(S) x Po(S) x T dargestellt. act(I,C,E,t) ist als „die gemeinsame Handlung (C,E) die von I zum Zeitpunkt t durchgeführt wird“ zu lesen. Im Allgemeinen ist I eine Menge von Individuen, und die Handlung ist eine gemeinschaftliche oder gemeinsame Handlung. Für I = {i} erhält man als Spezialfall individuelle Handlungen. trigint: G x Po(S) x Po(S) x T Po(S) ist eine Funktion, die die auslösende Bedingung (trigger condition) für eine gemeinsame Intention repräsentiert. trigint(I,C,E,t) ist eine Beschreibung der erforderlichen Bedingungen, die die gemeinsame Intention unter den Agenten in I auslösen wird, die Handlung (C,E) am Zeitpunkt t auszuführen. trigact: G x Po(S) x Po(S) x T Po(S) ist eine Funktion, die die auslösende Bedingung für eine gemeinsame Handlung repräsentiert. trigact(I,C,E,t) ist eine Beschreibung der erforderlichen Bedingungen, die die Durchführung der gemeinsamen Handlung(C,E) durch die Mitglieder von I zum Zeitpunkt t auslösen wird. Unter diesen auslösenden Bedingungen ist es eine notwendige und möglicherweise ausreichende Bedingung, dass sich die gemeinsame Absicht, die Handlung(C,E) durchzuführen, unter den Mitgliedern von I zum Zeitpunkt t herausgebildet hat. N suc: G x Po(S) x Po(S) x P N N ist die Bewertungsfunktion für den Erfolg der gemeinsamen Handlung (C,E). suc(I,C,E, zi) liefert eine Ganzzahl n zurück, die den Erfolg der Durchführung der gemeinsamen Handlung (C,E) im Zeitabschnitt zi für die Menge der Individuen in I festlegt. N N ist die Schwellenfunktion. Wenn suc(I,C,E, zi) thr: G x Po(S) x Po(S) N < thr(I,C,E) wird die Einstellung (C,E) durchzuführen, nicht mehr aufgebaut.
Zusammengenommen erhält der Rahmen folgende Form: (S, T, P, ACT, ATT, J, G, x, caus, trigint, trigact, suc, thr). Der Rahmen muss die folgenden Axiome für alle t, t’ T, C, E S, alle z, zi i
i
P, z = (z1,…, z4), , zi = ( z1 ,…, z 4 ) und alle I J, die mehr als ein Element enthalten, erfüllen:
78
4 Simulation einer sozialen Praxis
A1) Wenn jint(I,C,E,z2)26 x(I,z2), dann trigact(I,C,E,z2) x(I,z2) gdw act(z3,I,C,E) caus(z2,{jint(I,C,E,z2)}, z3)). A2) trigint(I,C,E, z1) x(I,z1) und thr(I,C,E) suc(I,C,E, z) gdw jint(I,C,E,z2) caus(z1, x(I,z1), z2) x(I,z1). i
i
i
A3) Für alle zi +1 P, wenn act( z 3 ,I,C,E) caus( z 2 ,{jint(I,C,E, z 2 )},
z 3i ), dann suc(I,C,E, zi +1) = suc(I,C,E, zi ) + 1 falls i
i
E caus( z 3 ,C { act( z 3 ,I,C,E) },
z 4i ) x(I, z 4i )
und suc(I,C,E, zi +1) = suc(I,C,E, zi ) – 1 sonst. A4) Für alle X, Y Po(S): caus(t, X Y, t’) = caus(t, X , t’) caus(t, Y, t’). A5) Für alle X S: wenn X konsistent ist, dann ist es auch caus(t, X, t’). A6) Wenn X Y S, dann caus(t, X , t’) caus(t, Y, t’). Unter Verwendung der Axiome A1 und A2 kann ein Muster einer sozialen Praxis wie folgt dargestellt werden (W. Balzer / R. Tuomela 2003: 18): z1
x(I,z1) trigint(z1) x(I,z1)) thr suc( z) caus, A2
z2
jint(I,C,E,z2) trigact(z2) x(I,z2) caus, A1
z3
act(I,C,E, z3) caus
z4 Abbildung 3:
caus (z3,C, z4) (E caus (z3,C, z4) ?)
Muster einer sozialen Praxis nach W. Balzer / R. Tuomela
26 Jint(I,C,E,,z2) wird hier als Abkürzung für den Sachverhalt verwendet, dass es eine gemeinsame Absicht der Individuen in I ist, die Handlung (C, E) in Periode z2 auszuführen.
4.2. Anwendung auf das Gruppenleben von Freizeitgruppen
79
4.2 Anwendung auf das Gruppenleben von Freizeitgruppen Der im vorigen Abschnitt vorgestellte Rahmen sozialer Praktiken wurde als Grundlage für die Modellierung der Simulationsstudie herangezogen. Aus dem breiten Spektrum sozialer Praktiken wurde eine bestimmte Form von sozialen Praktiken herausgegriffen: kleine Gruppen von Personen, die sich ohne institutionell bedingte Verpflichtungen regelmäßig treffen, um in ihrer Freizeit gemeinsamen Interessen nachzugehen, z.B. Literaturzirkel oder Freizeitsportgemeinschaften. In solchen Fällen ist die gemeinsame Handlung nicht durch eine Institution, z.B. einen Verein, koordiniert und es gibt keine weiteren Normen als die elementaren Normen zwischenmenschlichen Zusammenlebens in unserem Kulturkreis. Auch wird keine bestimmte Struktur vorausgesetzt, eine Gruppe wird in diesem Kontext als freiwillige Gemeinschaft gleichberechtigter Mitglieder verstanden. Ein besonderes Interesse gilt dem Prozess der Bildung der gemeinsamen Absicht, als Gemeinschaft zu handeln und den Verhandlungen der Agenten über die Handlung, die gemeinsam durchgeführt werden soll. Diese Verhandlungen basieren auf den zu Grunde liegenden Einstellungen der Agenten, die die Absichten beinhalten, an bestimmten Typen von Gruppenhandlungen teilzunehmen und die Überzeugung, dass andere Agenten diese Absicht teilen. Ein wichtiger Faktor in solchen Gruppen ist der Grad der Verbindlichkeit, der je nach Art der Gruppe unterschiedlich ausfallen kann. In Gruppen, die auf einem freiwilligen Zusammenschluss beruhen, wird häufig akzeptiert, dass sich nicht jeder Agent an jedem Zeitpunkt am Gruppenleben beteiligt.27 Die Teilnahme an gemeinsamen Aktivitäten wird von unterschiedlichen Faktoren abhängen. Wesentlich ist natürlich, dass die vorgeschlagenen Aktivitäten zu den Interessen des Agenten passen. Wenn es sich bei einem unpassenden Vorschlag um eine Ausnahme handelt, sollte es kein Problem darstellen. Für die Beurteilung, wann es sich um eine Ausnahme handelt, ist die bisherige Dauer des Gruppenlebens von Bedeutung. Wenn die Mehrheit einer Gruppe in der Phase des Kennenlernens gemeinsame Handlungen beschließt, wird ein Agent, der diese Interessen nicht teilt, eher die Gruppe verlassen, als wenn er bereits über einen längeren Zeitraum positive Erfahrungen gemacht hat. Wenn sich zum Beispiel die Mehrheit der Mitglieder einer Freizeitsportgruppe entschließt, ein Wochenende in einer Skihütte zu organisieren, könnte ein Agent, der zur Minderheit der NichtSkifahrer gehört und der auch nicht gewillt ist, an Alternativsportarten wie Ro27 Streng genommen müssten also zwei Verwendungen des Begriffs „Gruppe“ unterschieden werden: Erstens wird unter Gruppe die Menge der Agenten verstanden, die sich an einem Zeitpunkt an der Gruppenhandlung beteiligt. Zweitens wird unter der Gruppe (auch die Freizeitgruppe) die Menge der aktiven Agenten bezeichnet, die sich an der sozialen Praxis beteiligt, also in regelmäßigen Abständen an Gruppenhandlungen teilnimmt, im Gegensatz zum Rest, der die Gruppe verlassen hat.
80
4 Simulation einer sozialen Praxis
deln teilzunehmen, sich entschließen, nicht mitzufahren. Aber wenn der wöchentliche Squash-Abend mit anschließendem Kneipenbesuch ein Erfolg ist, wird der Agent an dieser Aktivität beim nächsten Mal wieder teilnehmen. Wenn jedoch die Interessen zwischen der Mehrheit der Gruppe und einem einzelnen Agenten zu oft divergieren, wird er die Gruppe verlassen. Auch externe Faktoren können die Teilnahme am Gruppenleben beeinflussen. Zu Zeiten erhöhter beruflicher Belastung, während einer Prüfungsvorbereitung oder bei familiären Problemen ist die Bereitschaft geringer, an Freizeitaktivitäten teilzunehmen. Ein Umzug kann dazu führen, dass ein Agent die Gruppe verlassen muss, obwohl er das Gruppenleben als erfolgreich beurteilt. Für die Durchführung der Simulationsexperimente in Kapitel 5 wurde aus dem Bereich der Freizeitgruppen ein bestimmtes Beispiel herausgegriffen: eine Gruppe von Frauen, die sich ungefähr einmal im Monat trifft, um gemeinsam verschiedenen Freizeitaktivitäten nachzugehen, z.B. kulturelle Veranstaltungen zu besuchen, Sport zu treiben, oder sich einfach zu unterhalten. Die meisten ihrer Aktivitäten sind in der ganzen Welt verbreitet, nur einige wenige sind von der Kultur und den Traditionen der Region, in der sie leben (Süddeutschland), beeinflusst. Einige der Aktivitäten können wiederum als eigene soziale Praktiken betrachtet werden. Zum Beispiel könnte die Gruppe als Gruppe am “Weiberfasching” teilnehmen. Das Simulationsprogramm ist jedoch nicht speziell auf dieses Beispiel zugeschnitten. Alle Handlungstypen können in der Parameterdatei definiert werden (vergleiche 4.3.3.2), so dass die Beispielgruppe bzw. –praxis leicht verändert werden könnte. Verschiedene Aspekte haben zur Auswahl dieses Beispiels geführt:
Die relativ hohe Anzahl verschiedener Handlungstypen bietet den simulierten Gruppen viele Möglichkeiten zur Variation der Handlungen. Dadurch können sich unterschiedliche Gruppen mit unterschiedlichen “Interessensgebieten”, d.h. mit verschiedenen Teilmengen potentiell intendierter Handlungen bilden. Anhand der verschiedenen Handlungstypen können unterschiedliche Arten von Triggern illustriert werden. Nicht zuletzt gibt es Ähnlichkeiten zwischen den simulierten Gruppen und real existierenden Gruppen, die mir aus meiner Umgebung bekannt sind. Auch wenn das Ziel dieser Arbeit darauf gerichtet ist, einen allgemeinen Rahmen für die Simulation der sozialen Praxis von Freizeitgruppen zu präsentieren, statt Frauengruppen in Süddeutschland mit der Methode der Computersimulation zu untersuchen, ist es hilfreich, die Möglichkeit zum Vergleich der Gruppen künstlicher Agenten mit tatsächlich existierenden Gruppen zu haben.
4.3 Die Implementierung der Simulationen
81
4.3 Die Implementierung der Simulationen 4.3.1 Technische Aspekte der Implementierung Das Programmpaket zur Simulation der sozialen Praxis des Gruppenlebens von Freizeitgruppen ist in der Programmiersprache Prolog geschrieben.28 Für die Steuerung des Ablaufs der Simulationen und die zufallsbasierte Aktivierung der Agenten wurde das Multiagentensystem SMASS verwendet, ein Tool für soziale Simulationen, das an der Universität München entwickelt wurde (siehe W. Balzer 2000). In SMASS, das ebenfalls in Prolog geschrieben ist, verfügt jedes Individuum über verschiede Verhaltensregeln, aus denen es in einer gegebenen Situation wählen kann. Zusätzliche Verhaltensregeln – in SMASS modes genannt – können sehr einfach durch die Spezifikation zusätzlicher Prolog-Klauseln zur vorhandenen Menge von Verhaltensregeln hinzugefügt werden. Da das individuelle Verhalten der Agenten in dieser Simulationsstudie nicht berücksichtigt wird, sondern es sich um eine Simulation des Prozesses handelt, der dazu führt, dass sich in einer Gruppe von Agenten die geteilte Absicht herausbildet, eine gemeinsame Handlung durchzuführen, wurden an dieser Stelle signifikante Änderungen vorgenommen. 4.3.1.1 Eigenschaften der Programmiersprache Prolog Auch wenn die Programmiersprache Prolog seit der Entwicklung objektorientierter Sprachen und darauf basierender Biliotheken und Simulationstools etwas aus der Mode gekommen ist, kann der Einsatz dieser Programmiersprache für Simulationsstudien immer noch interessant sein, wenn man ihre Eigenschaften effizient ausnutzt. Prolog basiert auf dem Resolutionskalkül. Statt explizit einen Programmablauf vorzugeben, wird bei der Prolog-Programmierung eine Klauselmenge spezifiziert, die das Prologsystem mittels Unifizierung und Backtracking untersucht (siehe z.B. W. Clocksin und C. Mellish 1992 sowie L. Sterling und E. Shapiro 1994).
28 Das Simulationsprogramm SimSoP.pl ist in Win-PROLOG 3.6, Logic Programming Associates Ltd., geschrieben, die Programme für die grafische Verfolgung von Simulationsläufen und die Programmstatistik verwenden SWI-Prolog bzw. XPCE/Prolog, SWI, University of Amsterdam (J. Wielemaker und A. Anjewierden 1997, J. Wielemaker 2006).
82
4 Simulation einer sozialen Praxis
Unifizierung
Wenn versucht wird, eine Anfrage für ein Ziel Z zu erfüllen, wird eine sequentielle Suche nach unifizierbaren Klauseln gestartet und es wird die erste Klausel gewählt, deren Kopf mit dem Ziel Z unifizierbar ist, d.h. die freien Variablen können mit den in Z vorkommenden Termen instantiiert werden. Wenn keine unifizierbare Klausel für Z ermittelt wird, wird die Berechung auf die zuletzt vorgenommene Wahl zurückgesetzt und die nächste unifizierbare Klausel wird geprüft.
Backtracking
Um in einem Prolog-Programm P ein Ziel Z zu berechnen, werden alle Lösungen von Z in P berechnet. Das Ergebnis einer Prolog Anfrage für ein Ziel Z liefert alle Lösungen, die in einem kompletten Durchlauf in tiefenorientierter Suche in den jeweiligen Teilbäumen ermittelt werden, die sich durch Auswahl des am meisten links stehenden Ziels Z ergeben. Als deklarative Sprache ermöglicht es Prolog, kurze Programme zu schreiben. Der Programmierer kann sich auf die Spezifikation der Regeln konzentrieren; die Suche für die Erfüllung der Ziele und somit die Verarbeitung wird vom Prolog Interpreter übernommen. Die Prolog-Syntax erlaubt es, eine Notation zu verwenden, die sehr nahe an der konzeptionellen Beschreibung des zu simulierenden Systems ist. Bei Verwendung sprechender Prädikatnamen können die Programme auch von formal geschulten Personen gelesen und verstanden werden, die die Programmiersprache Prolog nicht kennen. Weitere Vorteile der deklarativen Programmierung sind, dass, da die Programmierung der Ablaufssteuerung wegfällt, die Programmentwicklung weniger Zeit in Anspruch nimmt und kurze Programme leicht zu warten sind. Neben der Tatsache, dass man mehr Zeit benötigt, eine höhere Programmiersprache zu lernen als den Umgang mit einem Simulationstool, gilt als ein spezieller Nachteil des Einsatzes der Programmiersprache Prolog immer noch die Performanz. Auch wenn sich seit der Entwicklung von Prolog Anfang der 1970er Jahre die Rechnerleistungen signifikant verbessert haben und gängige Prolog-Systeme inzwischen die Möglichkeit bieten, den Code zu kompilieren, statt ihn zur Laufzeit zu interpretieren, sollte dieser Aspekt bei der Programmierung immer noch beachtet werden. In Prolog sind die Mittel, die Verarbeitung zu beeinflussen, mehr beschränkt, als in imperativen oder objektorientierten Sprachen. Eine große Faktenbasis im Speicher, wie die Überzeugungsbasis der vor-
4.3 Die Implementierung der Simulationen
83
liegenden Simulationsstudie, kann die Laufzeit signifikant erhöhen. Da zur Ermittlung der Menge aller Lösungen für ein bestimmtes Ziel jedes Prädikat mit dem gleichen Namen und der gleichen Stelligkeit überprüft wird, würden bei einer Suche nach den Überzeugungen von Agent 1 bezüglich Agent 2 in einer Überzeugungsmenge von hundert Agenten auch die Überzeugungssätze der anderen neunundneunzig Agenten überprüft. Möglichkeiten dies zu verhindern, lägen in der Verwendung unterschiedlicher Namen für die Überzeugungssätze verschiedener Agenten oder in der Auslagerung von Teilen der Faktenbasis, so dass nur die benötigten Teile im Speicher behalten werden, wodurch jedoch wiederum zusätzliche Plattenzugriffe anfallen würden. Ist die Anzahl der Agenten, wie in dieser Simulationsstudie, gering, stellt dies bei heutigen Rechnerleistungen kein großes Problem mehr dar.29 Solange die Laufzeit in einem überschaubaren Zeitrahmen bleibt, ist diese bei Simulationen – anders als bei Echtzeitanwendungen – von untergeordneter Bedeutung. Kompilierte PrologProgramme kann man außerhalb der Prolog-Shell aufrufen und so z.B. mit einem System-Skript eine Folge von Simulationsläufen starten, die im Hintergrund abläuft, während man sich anderen Tätigkeiten widmet. Dieser Weg wurde auch in der vorliegenden Simulationsstudie beschritten. Im Vergleich zu der Zeit, die benötigt wurde, um die Simulationsergebnisse zu überprüfen und zu bewerten, war die Laufzeit, die für ihre Erzeugung benötigt wurde, relativ gering. Dennoch ist es immer noch sinnvoll, während der Programmentwicklung auf performante Programmierung zu achten und große Faktenbasen in regelmäßigen Abständen zu bereinigen. Zum Beispiel wurde im vorliegenden Fall Wert darauf gelegt, nur die Fakten im Speicher zu halten, die zum aktuellen Zeitpunkt relevant sind. Die Fakten vergangener Zeitpunkte wurden in Dateien protokolliert und anschließend aus der Prolog-Faktenbasis gelöscht. 4.3.1.2 Elementare Konstruktoren Für das bessere Verständnis der folgenden Beschreibung des Simulationsprogramms sollen zunächst einige Grundkonzepte der Programmiersprache Prolog erläutert werden. Ein Prolog-Programm besteht aus einer endlichen Menge von Fakten und Regeln.30 Ein atomarer Fakt wird Name genannt. Nicht-atomare 29 Auf einem Rechner mit einen AMD Athlon 3700+ 64-Bit-Prozessor, 984 MHz und 1GB RAM werden unter Microsoft Windows XP ca. sechs Minuten benötigt, um fünfhundert Überzeugungsbasen für jeweils zehn Agenten mit einem Anteil von sechzig Prozent geteilten Intentionen und achtzig Prozent geteilten Überzeugungen zu generieren. 30 Streng genommen ist bereits eine endliche Menge von Prolog-Fakten ein Programm (L. Sterling und E. Shapiro 1994: 12). In diesem Fall kann die Faktenbasis ausgewertet werden, indem man Abfragen in der Prolog-Oberfläche eingibt.
84
4 Simulation einer sozialen Praxis
Fakten, die Beziehungen zwischen Objekten und Regeln darstellen, werden als Prädikate bezeichnet. Eine Faktenmenge bildet die Datenbasis eines PrologProgramms, eine Menge von Fakten und Regeln wird als die Inferenzbasis des Prolog-Programms bezeichnet. Terme Die elementaren Konstruktoren, die Fakten und Regeln zu bilden, sind Terme. Ein Term kann entweder eine Konstante oder eine Variable31 sein. Das erste Zeichen eines Prolog-Variablennamens muss ein Großbuchstabe sein. In der folgenden Programmbeschreibung werden Variable in mathematisch-logischen Kontexten wie üblich durch kursive Kleinbuchstaben (i, j, k, …) gekennzeichnet, in Programmbeispielen und Auszügen aus dem Programmcode durch Großbuchstaben (I, J, K, …). Zusammengesetzte Terme Ein zusammengesetzter Term bzw. eine Struktur besteht aus einem Funktor und einer Folge von ein oder mehreren Argumenten, die Terme sind. Ein Funktor fun(t1, …, tn) wird durch einen atomaren Namen und seine Stelligkeit, d.h. seine Anzahl von Argumenten, charakterisiert. In der folgenden Programmbeschreibung soll fun/n, n N, anstelle von fun(t1, …, tn) verwendet werden. Es sei darauf hingewiesen, dass der gleiche atomare Name als Bezeichnung für Funktoren mit unterschiedlicher Stelligkeit verwendet werden kann. Instanzen Dom(pred) bezeichnet den Definitionsbereich (domain) eines n-stelligen Prädikats pred/n. Eine Zuweisung von a1, …, an Dom(pred) zu einem Prädikat pred(a1, …, an) wird als Instanz von pred bezeichnet. Die zugewiesenen Werte des Definitionsbereichs werden mit Kleinbuchstaben (i, j, k, …) bezeichnet. Die Zuweisung eines Werts i Dom(I) zu einer Variablen I, d.h. zu einem einstelligen Prädikat, wird mit (I) = i bezeichnet. 31 Variablen in der Logik-Programmierung verhalten sich anders als in konventionellen Programmiersprachen. Sie stellen eher eine unspezifizierte, jedoch geschlossene Einheit, als eine Speicherstelle im Hauptspeicher dar (L. Sterling und E. Shapiro 1994: 13). Der Typ der Variablen wird implizit bei ihrer Instantiierung ermittelt.
4.3 Die Implementierung der Simulationen
85
4.3.1.3 Prolog Standardprädikate Gängige Prolog-Dialekte stellen für Standardoperationen wie die Manipulation von Dateien und Listen sowie für arithmetische Operationen oder Mengenoperationen in der Prolog Faktenbasis eine Reihe von sogenannten Systemprädikaten zur Verfügung. Auch wenn seit 1995 ein ISO-Standard für Prolog existiert, der aus dem zuvor implizit angewendeten Edinburgh-Standard hervorgegangen ist, wird dieser nicht in allen Prolog-Dialekten berücksichtigt, so dass bei diesen so genannten Standard- oder Systemprädikaten je nach verwendeter PrologImplementierung immer noch Unterschiede in Anzahl und Reihenfolge der Argumente auftreten können. Da in der ISO-Spezifikation für Prolog nur eine kleine Menge von Prädikaten erfasst ist, bieten die meisten PrologImplementierungen zusätzliche Prädikatsbibliotheken für Funktionalitäten wie Grafikausgabe oder Agentenkommunikation an. In diesem Abschnitt soll ein kurzer Überblick über einige Kategorien von Systemprädikaten gegeben werden, der darauf abzielt, einige Konzepte bzw. Besonderheiten der Programmiersprache Prolog zu verdeutlichen. Manipulation der Inferenzbasis In Prolog ist es möglich, eine in den Speicher geladene Inferenzbasis zur Laufzeit zu manipulieren. Eine Besonderheit ist hier, dass nicht nur Fakten, sondern auch Regeln verändert werden können. Das Prädikat consult/1 lädt eine Eingabedatei. Um die Manipulation von Prädikaten, die aus einer Datei geladen wurden, zu ermöglichen, müssen diese mit dynamic/1 als dynamische Prädikate deklariert werden. Die Prädikate assert/1 und assertz/1 fügen eine Klausel für ein dynamisches Prädikat am Ende einer Folge von bestehenden Klauseln hinzu, asserta/1 fügt eine Klausel am Anfang der Folge hinzu. Retract/1 löscht die erste passende Klausel eines dynamischen Prädikats, retractall/1 löscht alle Klauseln, die zu dem gegebenen Funktor passen. Im vorgestellten Simulationsprogramm werden diese dynamischen Prädikate nur dazu verwendet, um Manipulationen an der Faktenbasis durchzuführen, insbesondere an der Menge der Einstellungen der Agenten ATT, sie könnten aber auch dazu verwendet werden, die Programmregeln zur Laufzeit zu verändern. Die kontroverse Diskussion, ob es guter Stil ist, diese Prädikate in der logischen Programmierung zu verwenden (vergleiche L. Sterling und E. Shapiro 1994: 200) soll an dieser Stelle nicht weiterverfolgt werden.
86
4 Simulation einer sozialen Praxis
All-Solution-Prädikate Eine mächtige Funktionalität bieten sogenannte All-Solution-Prädikate. Die Prädikate ermitteln alle Lösungen für ein Ziel Ziel und sammeln sie in einer Prolog-Liste. Im Simulationsprogramm wird häufig das Prädikat findall/3 verwendet. Das Prädikat findall(Term, Ziel, List) liefert eine unsortierte Liste, die normalerweise nur durch Scheitern und Backtracking während einer Anfrage ermittelt werden könnte. Das Prädikat ist erfolgreich, wenn List mit einer Liste aller Instanzen von Term unifiziert werden kann, die das Ziel Z erfüllen. Term kann ein beliebiger Prolog-Term sein, und Ziel ein beliebiges Prolog-Ziel. 4.3.1.4 Eigene Hilfsprädikate Zufallsauswahl In den Programmregeln wird wiederholt eine Zufallsauswahl verwendet, z.B. bei der Generierung der Menge initialer Einstellungen ATT0, bei der Aktivierung der Agenten und bei der Auswahl von Handlungsvorschlägen. Dies wurde mit eigenen Prädikaten realisiert: randomize/0 initialisiert den Zufallszahlengenerator. Für die Initialisierung wird die Systemzeit verwendet. Das Prädikat random/2 beinhaltet den eigentlichen Zufallszahlengenerator: random/2 berechnet eine Zufallszahl r , 1 r max, wobei max die obere Schranke des Definitionsbereichs angibt. Der Einsatz von Zufallsgeneratoren ist in Simulationen eine gebräuchliche Methode um ein nicht-deterministisches Verhalten des Systems zu simulieren. Intuitively, a nondeterministic machine can choose its next operation correctly when faced with several alternatives. True nondeterministic machines cannot be realized but can be simulated or approximated (L. Sterling und E. Shapiro 1994: 249).
Eine gängige Methode zur Verifikation von Programmregeln, ist es, bei der Initialisierung einen festen Wert zuzuweisen, statt den Zufallszahlengenerator „zufällig“ über die Systemzeit zu initialisieren. In diesem Fall muss das Simulationsprogramm bei der wiederholten Durchführung von Simulationsfolgen immer die gleiche Ergebnismenge liefern. Diese Überprüfung wurde auch in der vorliegenden Simulationsstudie durchgeführt (siehe Abschnitt 5.2). Eine spezielle Anwendung der Zufallsauswahl, die häufig in Programmregeln angewendet wird, ist die zufällige Auswahl eines bestimmten Prozentsatzes von Fakten aus einer Faktenmenge, die in einer Prologliste L gesammelt ist.
87
4.3 Die Implementierung der Simulationen
Jedes Element der Liste L darf nur einmal ausgewählt werden. Dies wurde folgendermaßen realisiert: Nachdem das Element im Zufallsverfahren ausgewählt wurde, wird es aus der Liste gelöscht. Vor der Auswahl des nächsten Elements wird die obere Schranke des Zufallszahlengenerators dekrementiert.
4.3.2 Die Basisstruktur der Simulationen Der folgende Abschnitt bietet einen Überblick über die Basisstruktur der Simulationen. Das Simulationsprogramm SimSoP.pl, das aus einer Menge von PrologRegeln R besteht, produziert aus einer Eingabe E eine Ausgabe A. Eingabe E und Ausgabe A sind Mengen von Prolog-Fakten, d.h. atomare Sätze. Diese Satzmengen werden in verschiedenen Dateien gespeichert: die Eingabe E in der Parameterdatei para.int, die Ausgabe A in definierbaren Ausgabedateien (vgl. 4.3.3.3). Mit den in der Eingabedatei spezifizierten Parametern wird eine Folge S von Simulationsläufen s1, ..., sn gestartet. In Abschnitt 4.3.6.1 werden zwei Regelmengen R1 und R2 zur Simulation der sozialen Praxis des Gruppenlebens von Freizeitgruppen vorgestellt. Eine Simulationsfolge S kann nur entweder mit Regelmenge R1 oder mit Regelmenge R2 durchgeführt werden. Abbildung 4:
Die Basisstruktur der Simulationen
Zeitpunkte T Agenten A Handlungstypen ACT Sonst. Parameter Einstellungen ATT Mailbox Erfolgshistorie
Protokoll der Handlungsabläufe, Änderung von Einstellungen etc.
Parameterdatei
Dynamische Prädikate
Protokolldateien
Generierung ATT
Simulationskern
Analyse tools
Generierung der Menge initialer Einstellungen ATT (Intentionen und Überzeugungen) Simulation des Prozesses der Entwicklung der sozialen Praxis über den definierten Zeitraum Grafische Verfolgung von Simulationsläufen Statistische Auswertung der Simulationsergebnisse
88
4 Simulation einer sozialen Praxis
Bei der Simulation werden drei verschiedene Schichten durchlaufen: die Generierungsstufe, die Kernsimulation und die Verarbeitung und Aufbereitung der Simulationsergebnisse, die durch eigene Programme erfolgt. In der Generierungsschicht wird die Menge der initialen Einstellungen ATT0 anhand der Parameterbelegung in der Parameterdatei generiert.32 Nachdem die initialen Intentionen und Überzeugungen generiert wurden, startet die Kernsimulation. Sie simuliert den Prozess der Entstehung und weiteren Entwicklung der sozialen Praxis über den definierten Zeitraum. Während dieses Prozesses werden zusätzliche dynamische Prädikate, wie z.B. Einträge für die Mailbox und für die Erfolgshistorie generiert, die sich, wie die Menge der Einstellungen ATT, zur Programmlaufzeit stetig verändern. Die Ergebnisse jedes Simulationszyklus, d.h. die Ergebnisse des bearbeiteten Zeitpunkts, werden in Dateien protokolliert. Diese Dateien werden für die grafische Aufbereitung der Simulationsausgabe und die Statistikauswertungen verwendet. 4.3.2.1 Programme Das Programmpaket zur Simulation der sozialen Praxis des Gruppenlebens von Freizeitgruppen umfasst drei eigenständige Prolog-Programme33, das Kernsimulationsprogramm SimSoP.pl und zwei Hilfsprogramme zur Analyse der Simulationsergebnisse: DispSoP.pl und Calcact.pl. Das Programm SimSoP.pl beinhaltet die Generierungsschicht und die Kernsimulation. Die äußere Schleife ermöglicht es, eine Folge S von Simulationsläufen s1, ..., sn durchzuführen, ohne das Programm neu zu starten. Durch eine Parametereinstellung kann die Generierungsschicht übersprungen werden, so dass eine Folge S mit einer zuvor generierten Menge initialer Einstellungen durchgeführt werden kann. DispSoP.pl ermöglicht die grafische Verfolgung von Simulationsläufen. An jedem Zeitpunkt werden die Intentionen und Überzeugungen der Agenten, die daraus resultierenden Vorschläge und die gewählte Gruppenhandlung angezeigt. Der Ablauf von Gruppenhandlungen und der Zusammenhalt der Gruppe kann durch Vorwärtsblättern verfolgt werden. Calcact.pl bereitet die Protokolldateien für die statistischen Auswertungen in Kapitel 5 auf. 32 Sollen mehrere Simulationsfolgen mit den gleichen initialen Einstellungen durchgeführt werden, z.B. um Ergebnisse von Simulationen beider Regelmengen miteinander zu vergleichen, kann diese Schicht übersprungen werden. 33 Das Kernsimulationsprogramm wurde mit Win-Prolog 4.3, Logic Programming Associates Ltd., entwickelt, die Hilfsprogramme für die grafische Ausgabe der Simulationsergebnisse und die statistischen Auswertungen wurden mit XPCE/Prolog, SWI, University of Amsterdam (J. Wielemaker und A. Anjewierden 1997) realisiert. Für die grafische Aufbereitung der Simulationsergebnisse wurde das Tabellenkalkulationsprogramm Microsoft Excel verwendet.
4.3 Die Implementierung der Simulationen
89
4.3.2.2 Dateien Zum Datenaustausch zwischen den verschiedenen Simulationsschichten werden Dateien verwendet. Diese Dateien sind ASCII-Textdateien, die mit beliebigen Programmen zur Bearbeitung von ASCII-Dateien gelesen werden können. Die Dateien, die die Kernsimulation SimSoP.pl verwendet, haben die Dateierweiterung „int”. Die Parameterdatei para.int ist die Eingabe für eine Folge S von Simulationsläufen s1, ..., sn. Sie muss sich im gleichen Verzeichnis wie SimSoP.pl befinden. Para.int beinhaltet die Einstellungen für die Simulationen, z.B. die Anzahl der zu durchlaufenden Zeitpunkte, die Anzahl der Agenten, die Menge der Handlungstypen, und die definierten Trigger-Bedingungen. Weitere Programmparameter werden verwendet, um den Anteil gemeinsamer Intentionen und geteilter Überzeugungen zu definieren. Diese Einstellungen dienen als Eingabe für die Generierungsschicht, deren Ausgabe, die initiale Menge von Einstellungen ATT0, in den Dateien data.int und beliefs.int gespeichert wird. Data.int beinhaltet die Intentionen der Agenten, beliefs.int beinhaltet ihre Überzeugungsbasis. Beide Dateien werden im aktuellen Verzeichnis abgelegt. Falls sie bereits existieren, werden sie überschrieben. Wenn die Generierungsschicht übersprungen wird, sucht das Simulationsprogramm beim Start im aktuellen Verzeichnis nach der Datei data.int und – bei überzeugungsbasierten Simulationen – zusätzlich nach der Datei beliefs.int. Wenn die Dateien existieren und sie Fakten im gültigen Format beinhalten, wird ATT0 geladen, ansonsten terminiert die Simulation mit einer Fehlermeldung. Die geladenen Fakten werden als dynamische Prädikate deklariert, damit sie während der Programmlaufzeit verändert werden können. Simulationsdaten und -ergebnisse wie die Menge der Intentionen, die Vorschläge der Agenten, Informationen über die durchgeführte Gruppenhandlung und ihren Erfolg oder Misserfolg werden an jedem Zeitpunkt in einer Datei protokolliert. Die Menge der Überzeugungen der Agenten wird bei überzeugungsbasierten Simulationen in einer separaten Datei gespeichert. Diese Protokolldateien dienen als Eingabe für die Programme DispSoP.pl and Calcact.pl. Die Dateinamen inklusive Verzeichnispfad sind frei wählbar, sie werden in der Parameterdatei definiert (vgl. 4.3.3.3.) Dies erleichtert die systematische Klassifikation, Ablage und Analyse der Simulationsergebnisse nach bestimmten Kriterien, z.B. gleiche Menge von Handlungstypen, gleiche Anzahl von Agenten, gleicher Prozentsatz gewählter Intentionen / Überzeugungen etc.
90
4 Simulation einer sozialen Praxis
4.3.3 Die Parameterdatei Die Parameterdatei beinhaltet die initialen Einstellungen für eine Simulationsfolge S. Auch die Auswahl der spezifischen sozialen Praxis mittels Spezifikation entsprechender Handlungstypen wird in der Parameterdatei festgelegt. Jeder Parameter wird durch einen Prolog-Fakt abgebildet. Obwohl Prolog im Prinzip erlaubt, die Faktenbasis zur Laufzeit dynamisch zu verändern, bleiben die Parameterwerte während einer Simulationsfolge konstant, die in der Parameterdatei definierten Fakten bilden somit die Menge der Programmkonstanten. Es gibt unterschiedliche Arten von Parametern: Die Laufzeitparameter steuern den Ablauf der Simulationen, während die Konfigurationsparameter die Generierung der initialen Faktenbasis regeln. Eine dritte Art von Parametern umfasst Einstellungen für die Analyse-Tools, wie die Einstellungen der Namen der Protokolldateien und die Einstellungen für die grafische Anzeige von Simulationsläufen. Tabelle 1: Programmparameter Parametername
Wert
Definition
runs/1
n N+
periods/1 actors/1 percent_int/1
n N+ n N+ n N+, 1 n 100
percent_bel/1
n N+, 1 n 100
maxlev/1
nN
use_old_data/1
{yes, no}
update_belief/1
{yes, no}
failure_rate/1 subsequent_failures/1
R R, 0 r 1 nN
Anzahl von Simulationsläufen Anzahl von Zeitpunkten Anzahl von Agenten Prozentsatz zu generierender Intentionen Prozentsatz zu generierender Überzeugungen Stufenlimit der zu generierenden Überzeugungen Flag für die Generierung einer neuen Menge von Einstellungen vor jedem Simulationslauf Flag zum Update der Überzeugungen der Agenten, über die Interessen anderer Agenten nach Erhalt eines Vorschlags Akzeptable Fehlerrate Anzahl akzeptabler aufeinander folgender Fehler
4.3 Die Implementierung der Simulationen
rate_s/1
n N, 0 n 100
rate_i/1
n N, 0 n 100
rate_ni/1
n N, 0 n 100
rule_set/1
{get_random, negotiate}
fact(act/1) fact(ptrg/2)
string
fact(meetings_per_year/1)
1. Zeiteinheit, n N 2. Handlungstyp, string 1. Zeiteinheit, n N 2. Handlungstyp, string n N+
continue/1
{yes, no}
disp_file/1
String
result_file/1
String
para_file/1
String
belief_file/1
String
stat_file/1
String
colour/1
RBG-Tripel, Liste mit drei Elementen
fact(ntrg/2)
91 Erfolgsrate selbst vorgeschlagener Handlungen (Die Erfolgsraten werden als Prozentsatz angegeben) Erfolgsrate prinzipiell intendierter Handlungen Erfolgsrate zuvor nicht intendierter Handlungen Regelmenge, die bei der Generierung der Vorschläge für die durchzuführende gemeinsame Handlung verwendet wird Handlungstyp Positiver Trigger für die Durchführung einer Handlung des entsprechenden Typs Positiver Trigger für die Durchführung einer Handlung des entsprechenden Typs Zeiteinheit für die Triggerberechnung Flag für die Einstellung des Blättermodus bei der grafischen Verfolgung von Simulationsläufen Name der Datei, die die Namen der anderen Dateien enthält, die von den AnalyseTools verwendet werden Name des Simulationsprotokolls Name der Parameterdatei für die Analyse-Tools Name des Protokolls der Überzeugungsbasis Name der Ausgabedatei für die Programmstatistik Farbe, die bei der grafischen Ablaufverfolgung von Simulationsläufen verwendet wird
92
4 Simulation einer sozialen Praxis
4.3.3.1 Parameter zur Steuerung des Programmablaufs Die Laufzeitparameter steuern den Ablauf der Simulationen. Das Prädikat run/1 wird verwendet, um die Anzahl aufeinanderfolgender Simulationsläufe festzulegen, das Prädikat periods/1 definiert die Anzahl diskreter Zeitpunkte auf der Zeitachse. Ein Maximalwert wird für beide Werte nicht festgelegt, im Prinzip hängen sie vom verfügbaren Hauptspeicher des Computers und vom verfügbaren Plattenplatz für die Protokolldateien sowie von den Einstellungen der Konfigurationsparameter ab – eine große Anzahl von Agenten benötigt viele Ressourcen. Für die intendierten Anwendungen sollte für periods/1 ein Wert t, 1 t 1000, sinnvoll sein. Für eine Gruppe, die sich wöchentlich trifft, bedeutet dies bereits ca. zwanzig Jahre gemeinsames Gruppenleben. Der Wert von run/1 sollte in Abhängigkeit von den Einstellungen der Konfigurationsparameter und der Einstellung für periods/1 gewählt werden. Insbesondere für die grafische Ablaufverfolgung ist es sinnvoll, bei einer größeren Anzahl von Zeitpunkten, z.B. (periods) = 1000, kleine Pakete zu machen oder sogar einzelne Simulationen laufen zu lassen, da eine große Datenmenge produziert wird und in die Protokolldateien geschrieben wird. Umgekehrt sollte bei großen Paketen (runs) 100 ein kleines Zeitintervall gewählt werden. Da alle Fakten der Protokolldateien in den Speicher geladen werden, können große Datenmengen die Performanz der Tools für die Auswertung der Simulationsergebnisse erheblich beeinträchtigen. Auch bei manuellen Stichproben findet man sich in Protokolldateien von mehreren hundert Megabytes nur schwer zurecht. Mit dem Parameter rule_set/1, Dom(rule_set) = {get_random, negotiate}, muss die Regelmenge angegeben werden, die in der Simulationsfolge verwendet werden soll. Wenn (rule_set) = get_random ist, werden die Vorschläge der Agenten in Zufallsauswahl aus der Menge ihrer Intentionen generiert, bei (rule_set) = negotiate verhandeln die Agenten auf der Grundlage ihrer Überzeugungen über die durchzuführende Gruppenhandlung. Der Parameter use_old_data/1, Dom(use_old_data) = {yes, no}, gibt an, ob zu Beginn eines Simulationslaufs die Menge der initialen Einstellungen neu generiert werden soll. Wenn (use_old_data) = no ist, wird die Menge neu generiert. Wenn (use_old_data) = yes ist, wird die Generierungsroutine übersprungen und die zuvor generierte Menge initialer Einstellungen wird in der Simulationsfolge verwendet. Natürlich sollten in diesem Fall die Konfigurationsparameter ebenfalls nicht verändert werden. In Abhängigkeit von den Einstellungen der Laufzeitparameter können folgende Situationen auftreten:
4.3 Die Implementierung der Simulationen
1.
2.
3.
93
Eine Folge von Simulationsläufen kann mit gleichen Programmkonstanten durchgeführt werden, um verschiedene Gruppen mit der gleichen Anzahl von Agenten und dem gleichen Anteil von geteilten Intentionen und gegebenenfalls Überzeugungen zu simulieren. Eine Folge von Simulationsläufen kann mit gleichen Programmkonstanten und mit der gleichen Menge initialer Einstellungen ATT0 durchgeführt werden, um in einer Folge von Simulationsläufen unterschiedliche Entwicklungen der gleichen Gruppe zu simulieren. Eine zweite Folge von Simulationsläufen kann mit gleichen Programmkonstanten, der gleichen Menge initialer Einstellungen ATT0 und der Verwendung einer anderen Regelmenge durchgeführt werden, um die Gruppenentwicklung in Abhängigkeit von der verwendeten Regelmenge zu vergleichen.
4.3.3.2 Parameter zur Konfiguration der Faktenbasis Die Konfigurationsparameter dienen zur näheren Spezifikation der zu simulierenden sozialen Praxis. Insbesondere wird durch sie festgelegt, wie die Menge der initialen Einstellungen ATT0 generiert werden soll. Das Prädikat actors/1 definiert die Anzahl der Agenten. Der zugewiesene Wert wird in der folgenden Programmbeschreibung mit max_actor bezeichnet. Die Agenten werden durch Ganzzahlen identifiziert, so dass durch die Instantiierung des Prädikats actors/1 mit einem Wert max_actor 2 nur dieser festgelegt werden muss. Bei der Generierung wird jedem Agenten eine eindeutige Nummer zugewiesen. Theoretisch ist es möglich, die Anzahl der Agenten auf 100 oder mehr zu setzen (vgl. 5.1), aber für Freizeitgruppen sollte ein Wert max_actor 20 eine sinnvolle Einstellung sein. Die verschiedenen Handlungstypen werden durch das Prädikat act/1 definiert. Als Wert ist ein String anzugeben, der mit einem Kleinbuchstaben beginnt. Dies kann ein symbolischer Name wie a1 oder a2 sein, oder es können sprechende Namen wie in der Beispiel-Parameterdatei verwendet werden (siehe Anhang C). Die in der Parameterdatei definierten Handlungstypen bestimmen, wie viele verschiedene Arten von Handlungen eine Gruppe ausführen kann. Der Fakt percent_int/1 legt den Prozentsatz fest, der pro Agent aus der Menge der vordefinierten Handlungstypen im Zufallsverfahren ausgewählt wird, um die Menge der initialen Intentionen zu erzeugen: der Fakt percent_bel/1 legt den Prozentsatz fest, der für die entsprechend zu generierenden Überzeugungen verwendet werden soll. Das Generierungsverfahren wird im nächsten Abschnitt
94
4 Simulation einer sozialen Praxis
erläutert (siehe 4.3.5). Beide Parameter müssen mit einem Wert zwischen 0 und 100 belegt werden. Mit dem Parameter maxlev/1 kann definiert werden, bis zu welcher Stufe die Überzeugungen der Agenten generiert werden sollen. Im Programm beginnt die Zählung bei Null, so dass maxlev(1) bedeutet, dass Überzeugungen nur bis zur zweiten Stufe generiert werden. Diese Einstellung wurde auch bei der Durchführung der hier behandelten Simulation verwendet, obwohl theoretisch auch höhere Werte benutzt werden können. Wenn in einer Simulationsstudie die gegenseitigen Überzeugungen aller Agenten für alle Stufen generiert werden sollen, wäre (max_actor – 1) ein sinnvoller Wert. Intentions-Trigger für Handlungen eines bestimmten Typs werden mit den Prädikaten ptrg/2 und ntrg/2 definiert. Das Prädikat ptrg/2 bezeichnet die „positiven“ Bedingungen, die eintreten müssen, um eine Absicht zur Durchführung einer gemeinsamen Handlung des entsprechenden Typs act auszulösen. Das Prädikat ntrg/2 bezeichnet „negative“ Bedingungen, die im Falle ihres Eintretens die Herausbildung der Absicht einer gemeinsamen Handlung des entsprechenden Typs act verhindern.34 Beide Arten von Trigger-Bedingungen werden in Abhängigkeit von der Zeit definiert. Der Parameter meetings_per_year/1, n N+, dient dazu, die Häufigkeit von Gruppentreffen festzulegen. Für eine Gruppe von der Art der Beispielgruppen, die sich einmal im Monat trifft, muss der Parameter mit (meetings_per_year) = 12 gesetzt werden. Weitere sinnvolle Belegungen sind z.B. 53 bei wöchentlichen Treffen, 24 bei zwei Treffen im Monat usw. Um einen „positiven“ Trigger zu definieren, muss das Prädikat ptrg/2 wie folgt belegt werden: Der Wert trg_time des ersten Arguments bezeichnet den Rest der ganzzahligen Division der vergangen Zeitpunkte t geteilt durch den Wert n des Parameters meetings_per_year/1, d.h. das Ergebnis x der ModuloBerechnung x = t % n. Das zweite Argument act bezeichnet einen Handlungstyp. Wenn eine Gruppe simuliert wird, die sich monatlich trifft, sollte trg_time auf einen Wert 0 trg_time 11 gesetzt werden. An jedem Zeitpunkt t, an dem trg_time = t % n gilt, wählen die Programmregeln bevorzugt die Intention zur Durchführung einer Handlung des Typs act aus, falls diese in der Faktenbasis des Agenten vorhanden ist. Ein positiver Trigger dient somit zur Forcierung der Herausbildung der individuellen Absicht eines Agenten i sich am Zeitpunkt t an einer gemeinsamen Handlung des Typs act zu beteiligen. Wenn beispielsweise eine Gruppe regelmäßig am Weiberfasching teilnimmt, der normalerweise im Februar stattfindet, 34 Dies weicht vom Verständnis negativer Trigger als „Abwesenheit von Hindernissen“ im zu Grunde gelegten Rahmen ab (vgl. 4.1.1.3). Da es im Programm einfacher abzuhandeln ist, dient das Prädikat ntrg/2 dazu, die Herausbildung bestimmter Handlungsabsichten an den jeweiligen Zeitpunkten zu unterdrücken.
4.3 Die Implementierung der Simulationen
95
wird der entsprechende Intentions-Trigger durch den Fakt ptrg(2, weiberfasching) definiert. Wenn eine Handlung des Typs act im Dezember ausgelöst werden soll, lautet die entsprechende Trigger-Bedingung ptrg(0,act). Wenn ein positiver Trigger definiert ist, wird die Herausbildung der Intention eine Handlung vom Typ act durchzuführen an allen Zeitpunkten t unterdrückt, an denen gilt trg_time t % n. Entsprechend werden mit dem Prädikat ntrg/1 „negative“ Trigger definiert. Wiederum bezeichnet der Wert trg_time des ersten Arguments den Rest der ganzzahligen Division der vergangen Zeitpunkte t geteilt durch den Wert n des Parameters meetings_per_year/1 und der Wert des zweiten Arguments den entsprechenden Handlungstyp act, für den die Ausbildung der Intention zur Auslösung einer Handlung unterdrückt werden soll. Wenn eine Handlung eines Typs act in einem bestimmten Zeitraum nicht durchgeführt werden soll, z.B. im Sommer Ski zu fahren oder im Winter in den Biergarten zu gehen, müssen mehrere negative Trigger definiert werden. Sowohl die Definition von positiven Triggern als auch die Definition von negativen Triggern ist optional. Es ist auch möglich, Simulationsfolgen ohne definierte Trigger-Bedingungen durchzuführen. In diesem Fall werden an jedem Zeitpunkt t alle prinzipiell intendierten Handlungen eines Agenten bei der Generierung seines Vorschlags für die Gruppenhandlung herangezogen. Die Definition von Triggern bewirkt, dass positiv getriggerte Handlungen bei der Auswahl bevorzugt werden, und negativ getriggerte Handlungen unterdrückt werden, was insgesamt eine Einschränkung der Variation bei der Auswahl von Handlungen der Agenten und damit des Handlungsablaufs bedeutet. Ob Trigger definiert werden, wird von der jeweiligen sozialen Praxis abhängen. Das Prädikat fact/1 wird verwendet, um in einer Simulationsfolge die Bereinigung der geladenen Faktenbasis zu vereinfachen. Statt die verschieden Fakten einzeln durch Nennung des Funktors und der entsprechenden Anzahl von Argumenten zu entfernen, können so mit retractall(fact(X)) Fakten verschiedener Funktoren am Ende eines Simulationslaufs aus der Faktenbasis entfernt werden. Handlungstypen werden im Parameterfile beispielsweise durch fact(act(Act)) definiert, positive Trigger durch fact(ptrg(Trg_Time, Act)). Die Menge initialer Einstellungen ATT0 wird anhand der Einstellungen in der Parameterdatei generiert. Somit bestimmen und steuern diese Einstellungen den Prozess der Generierung einer bestimmten sozialen Praxis bzw. einer bestimmten Gruppe: 1.
Die Anzahl der Agenten und die Menge der definierten Handlungstypen (und ihre Instantiierung mit Namen, falls sprechende Namen verwendet werden) bestimmen die jeweilige soziale Praxis.
96 2.
3.
4 Simulation einer sozialen Praxis
Die Anzahl der Agenten und der Prozentsatz der aus der Menge der definierten Handlungstypen auswählbaren Einstellungen bestimmt die Zusammensetzung der Gruppen, die die entsprechende soziale Praxis ausüben. Ein Spezialfall für die Analyse der Simulationsergebnisse sind Äquivalenzklassen von Gruppen mit der gleichen Menge definierter Handlungstypen, der gleichen Anzahl von Agenten und dem gleichen Prozentsatz geteilter Intentionen und Überzeugungen. Die anhand der Einstellungen generierte Faktenbasis bestimmt die spezielle Gruppe, die die soziale Praxis ausübt. Wiederholte Läufe mit diesen Daten zeigen verschiedene mögliche Entwicklungen dieser Gruppe.
4.3.3.3 Parameter für die Analyse-Tools Die Parameter für die Analyse-Tools müssen ebenfalls in der Parameterdatei des Simulationsprogramms SimSoP.pl definiert werden. Wie bereits erwähnt können die Ausgabedateien, insbesondere das Protokoll der Überzeugungsbasis, relativ groß werden. Es ist sinnvoll, die Dateien in anderen Verzeichnissen abzuspeichern als die Kernsimulation, um eine systematische Einteilung nach Art der simulierten sozialen Praxis, der Anzahl der teilnehmenden Agenten, oder den Prozentsätzen geteilter Intention und gegenseitiger Überzeugungen zu machen. Darüber hinaus bietet dies eine komfortable Möglichkeit zur Sicherung von Simulationsergebnissen, insbesondere bei der Auswertung von Massendaten. Nach der Analyse können die Verzeichnisse auf anderen Medien gesichert und anschließend von der Festplatte des Computers gelöscht werden. Mit den Parametern belief_file/1, disp_file/1, para_file/1, result_file/1, und stat_file/1 können die Dateinamen der Protokolldateien inklusive Pfadangabe spezifiziert werden. Wird der Pfadname angegeben, muss der Dateiname in Hochkommata eingeschlossen werden. Es können auch relative Pfadnamen verwendet werden. Die Analyse-Tools suchen in dem Verzeichnis, aus dem sie gestartet werden, nach einer Datei mit dem festen Namen „dispfile“. Der Parameter disp_file/1 dient also im Prinzip nur der Einstellung des entsprechenden Verzeichnisnamens, jedoch wird der Dateiname in Analogie zu den anderen Parametern mit angegeben. Die Dateinamen der anderen Dateien können beliebig gewählt werden. Die Parameter aus der Datei para.int des KernSimulationsprogramms werden in die Datei kopiert, die durch den Parameter para_file/1 bezeichnet wird. Die gemachten Vorschläge, die durchgeführte Gruppenhandlung, nicht erfolgreiche Handlungen sowie die vorhandenen Intentionen der Agenten werden zu jedem Zeitpunkt in der durch result_file/1 bezeichneten Datei protokolliert. Bei überzeugungsbasierten Simulationen werden
4.3 Die Implementierung der Simulationen
97
zusätzlich die Überzeugungen der Agenten in der durch belief_file/1 bezeichneten Datei protokolliert. Mit stat_file/1 können Dateiname und Pfad für die Ausgabe des Statistikprogramms calcact.pl vereinbart werden. Der Fakt wird lediglich in die durch para_file/1 bezeichnete Datei kopiert, die Datei selbst wird ausschließlich von calcact.pl benutzt. Der Fakt colour/1 dient dazu, die Farben für die grafische Aufbereitung von Simulationsläufen zu spezifizieren. Das Argument ist eine Prolog-Liste mit drei Elementen, die die RGB-Tripel der Farben sind, die verwendet werden, um die einzelnen Agenten bei der Anzeige der Überzeugungsbasis zu identifizieren. 4.3.3.4 Programmkonstanten Um auf den Wert eines Parameters im Programm zugreifen zu können, muss man ihn einer Variablen zuweisen. Auch wenn alle im Parameterfile definierten Prädikate als dynamische Prädikate definiert wurden, werden die Werte der Parameter in einer Simulationsfolge S nicht verändert.35 Der Wert des Programmparameters bleibt somit während der Simulationsfolge konstant. Für Programmkonstanten, die in der folgenden Programmbeschreibung häufiger verwendet werden, werden symbolische Namen eingeführt, die synonym anstelle der Notation der Variableninstantiierung verwendet werden. So bezeichnet z.B. (Actor) = max_actor den Wert des Fakts actors/1, d.h. die definierte Anzahl von Agenten in einer Folge S von Simulationsläufen s1, …, sn. gibt einen Überblick über die Namen der Programmkonstanten, die in der folgenden Beschreibung verwendet werden: Tabelle 2: Namen der Programmkonstanten max_run max_time max_actor max_bel
Anzahl der Simulationsläufe Anzahl der Zeitpunkte Anzahl der Agenten Stufe der zu generierenden Überzeugungen36
35 Über die Prolog-Oberfläche können interaktiv nacheinander mehrere Folgen von Simulationsläufen gestartet werden. Da zu Beginn einer Folge von Simulationsläufen s1, ..., sn S immer die Parameterdatei geladen wird, und bei dem Start einer neuen Simulationsfolge auch damit gerechnet werden muss, dass der Benutzer Parameterwerte verändert hat, werden am Ende einer Simulationsfolge mit retractall/1alle geladenen Parameter aus dem Speicher entfernt. 36 Es sei bemerkt, dass die Zählung mit Null beginnt. Falls max_bel den Wert 1 hat, werden somit Überzeugungssätze bis zur zweiten Stufe generiert.
98
4 Simulation einer sozialen Praxis
4.3.4 Starten einer Simulationsfolge Anhand der in der Parameterdatei spezifizierten Eingabedaten wird eine Folge S von Simulationsläufen s1, ..., sn gestartet. Eine Simulationsfolge von Simulationsläufen s1, ..., sn kann immer nur mit der Regelmenge durchgeführt werden, die mit dem Parameter rule_set/1 in der Parameterdatei eingestellt wurde. Der folgende Abschnitt enthält die Beschreibung der Prolog-Regeln des Kernsimulationsprogramms SimSoP.pl. Das Augenmerk liegt auf der Beschreibung der Programmregeln, die die Modellklassen zur Simulation der sozialen Praxis des Gruppenlebens von Freizeitgruppen charakterisieren. Hilfsprädikate wie Prädikate für den Dateizugriff oder die Speicherbereinigung, die abhängig vom verwendeten Prolog-Dialekt sind, werden übersprungen. Der kommentierte Quellcode des Programms kann in Anhang A nachgelesen werden. Es gibt zwei Möglichkeiten, um eine Simulationsfolge der sozialen Praxis des Gruppenlebens von Freizeitgruppen auszuführen: 1.
2.
In der Prolog-Oberfläche wird eine Simulationsfolge durch Eingabe von „start” ausgeführt. In diesem Fall wird vorausgesetzt, dass auf dem Rechner ein Prolog-System installiert ist, in dem das Prolog-Programm SimPoP.pl bereits geladen und übersetzt wurde. Das Verzeichnis, aus dem SimPoP.pl geladen wurde, muss die Datei para.int enthalten. Bei der Einstellung (use_old_data) = yes müssen zusätzlich die Dateien data.int und beliefs.int in diesem Verzeichnis vorhanden sein. Das kompilierte Programm SimSoP.exe wird durch Eingabe von „simsop“ in der Eingabeaufforderung unter Windows gestartet. Da feste Dateinamen verwendet werden, und die restlichen Parameter in der Parameterdatei para.int definiert sind, müssen beim Programmaufruf keine weiteren Parameter angegeben werden. Wie zuvor muss para.int, sowie bei der Einstellung (use_old_data) = yes auch data.int und beliefs.int, im gleichen Verzeichnis wie SimSoP.exe stehen.
Das Prädikat start/0 steuert die Initialisierungsphase, die mehrere PrologPrädikate enthält. Das Systemprädikat nofileerrors/0 gibt an, dass der Programmablauf nicht abgebrochen werden soll, wenn Dateien, die mit open/2 oder load_files/1 geöffnet werden, nicht existieren. Durch die Verwendung des Prädikats load_files/1 werden alle Prädikate, die in para.int definiert sind, automatisch als dynamische Prädikate definiert, alle anderen Prädikate, die zur Laufzeit in die Faktenbasis hinzugefügt und aus dieser wieder entfernt werden sollen, müssen explizit mit dynamic/1 deklariert werden. Das Prädikat randomize/0 initialisiert den Zufallszahlengenerator und ini_graph_para/0 überträgt die Parameter für die
99
4.3 Die Implementierung der Simulationen
Analyse-Tools in die unter para_file/1 angegebene Datei. Falls diese nicht geöffnet werden kann, z.B. wenn ein fehlerhafter Verzeichnispfad angegeben wurde, terminiert die Programmausführung mit einer Fehlermeldung. Im Falle einer erfolgreichen Initialisierung wird mit dem Prädikat begin/0 eine Simulationsfolge gestartet. Die Werte max_run und max_time der Parameter run/1 und periods/1 werden ermittelt. Mit dem Prädikat between/3 werden in einer Schleife über r, 1 r max_runs die Prädikate get_data/0 und mainloop/2 aufgerufen. Mit get_data/0 wird die Menge der initialen Einstellungen ATT0 generiert bzw. geladen. Get_data/0 ist durch zwei Regeln definiert, die in Abhängigkeit des Werts des Parameters use_old_data/1 ausgeführt werden. Wenn (use_old_data) = no ist, wird mit der Regel get_data/0 die Menge ATT0 neu generiert. Wenn (use_old_data) = yes ist, versucht get_data/0 die Menge ATT0 aus den Dateien data.int und beliefs.int zu laden. Wenn beim Laden ein Fehler auftritt terminiert das Simulationsprogramm mit einer Fehlermeldung. Konnte die alte Faktenbasis ATT0 aus den Dateien geladen werden, wird mit dem Prädikat mainloop/2 die Simulation der sozialen Praxis für alle Zeitpunkte t, 1 t max_time durchgeführt, falls es nicht zu einer vorzeitigen Auflösung der Gruppe kommt. Vor dem nächsten Lauf werden alle während der Simulation angelegten dynamischen Prädikate aus der Faktenbasis gelöscht. Abbildung 5:
Steuerung des Ablaufs einer Simulationsfolge
start/0
load parameters begin/0
yes
get_data/0
use_old_data no
mainloop/2
t 1 t max_time
Load ATT0
Generate
ATT0
100
4 Simulation einer sozialen Praxis
4.3.5 Die Generierung der initialen Einstellungen 4.3.5.1 Allgemeiner Überblick In der Generierungsschicht wird die Menge der initialen Einstellungen ATT0 generiert. ATT0 beinhaltet die Intentionen und Überzeugungen der Agenten zum Zeitpunkt der Gruppenbildung. Mit der Prolog-Regel get_data/0 wird die Generierung der Menge ATT0. gestartet. ATT0 wird per Zufallsauswahl aus der Menge der Handlungstypen ACT, die in der Parameterdatei definiert sind, generiert. Die initialen Einstellungen für jeden Agenten werden wie folgt ausgewählt: für alle Agenten i wird der durch percent_int/1 festgelegte Prozentsatz initialer Intentionen zufällig aus ACT gewählt. Anschließend werden die entsprechenden Überzeugungssätze hinzugefügt: Wenn Agent i beabsichtigt, eine Handlung auszuführen, dann glaubt er, dass er beabsichtigt, die Handlung auszuführen und er glaubt, dass er glaubt, dass er beabsichtigt, die Handlung auszuführen. Des Weiteren glaubt der Agent, dass eine mittels des Prozentsatzes percent_bel/1 gewählte Auswahl der anderen Agenten j, 1 j max_actor ebenfalls beabsichtigt, die Handlung durchzuführen, und die entsprechenden Überzeugungssätze werden zur Faktenbasis hinzugefügt. Um Simulationsergebnisse verschiedener Regelmengen vergleichen zu können, werden die Überzeugungssätze nicht nur bei überzeugungsbasierten Simulationen generiert, sondern auch bei zufallsbasierter Auswahl der Vorschläge generiert, auch wenn sie dort nicht benutzt werden. Parameterdatei Menge der Agenten A Menge der Handlungstypen ACT {act(we_go_to_the theatre), act(we_go_to_weiberfasching), act(we_play_poker)....} Dynamische Prädikate int(1,we_play_poker). bel(1,t,int(1,we_play_poker)). bel(1,t,bel(1,t,int(1,we_play_poker))). bel(1,t,bel(3,t,int(3,we_play_poker))). ...
Generierung Generiere a A initiale Intentionen initiale Überzeugungen Parameter für die Zufallsauswahl: percent_int Prozentsatz intendierter Handlungen percent_bel Prozentsatz entspr. Überzeugungen
4.3 Die Implementierung der Simulationen
101
Wenn beispielsweise (percent_int) = 60 ist und (percent_bel) = 70, die Gruppe aus zehn Agenten besteht und fünfundzwanzig Handlungstypen in der Parameterdatei definiert sind, werden für jeden der zehn Agenten prinzipielle Intentionen für fünfzehn Handlungen, die der Agent gemeinsam mit den anderen Agenten durchführen möchte, zufällig aus der Menge ACT generiert. Die die eigenen prinzipiellen Intentionen betreffenden Überzeugungen werden wie folgt hinzugefügt: wenn ein Agent beabsichtigt, an einer gemeinsamen Handlung teilzunehmen, dann ist er auch überzeugt, dass er beabsichtigt, an dieser Handlung teilzunehmen. Darüber hinaus glaubt jeder Agent, dass die Absicht an jeder der fünfzehn gewählten Handlungen teilzunehmen, von jeweils siebzig Prozent der anderen Agenten geteilt wird, d.h. von jeweils sieben, normalerweise unterschiedlichen, anderen Agenten. Diese Agenten werden zufällig aus der Menge ausgewählt und die entsprechenden Überzeugungen zweiter Stufe werden zur Faktenbasis hinzugefügt. Die generierten Prolog-Fakten werden als dynamische Prädikate deklariert, so dass sie während des Programmablaufs geändert und gelöscht werden können. 4.3.5.2 Die Menge der Handlungstypen ACT Zwischen bestimmten realen Handlungen besteht eine Ähnlichkeitsrelation. Die Vereinigung ähnlicher Handlungen zu einer Menge von Handlungen wird als Handlungstyp bezeichnet. Das folgende Beispiel zeigt einen Auszug aus der Menge von Handlungstypen, die im Parameterfile definiert ist: fact(act(we_go_to_the_pub)). fact(act(we_play_poker)). fact(act(we_go_to_the_disco)). fact(act(we_go_to_the_fitness_studio)). fact(act(we_visit_the_museum)). fact(act(we_hike_in_the_mountains)). fact(act(we_brunch)).
Auf den ersten Blick scheint diese Definition nicht viel mit der im Rahmen geforderten Definition ACT Po(S) x Po(S) zu tun zu haben (siehe 4.1.1.5). Ein einzelner Handlungstyp ist als Relation definiert, die zwei Satzmengen miteinander in Beziehung setzt, wobei die erste Satzmenge die notwendigen Bedingungen für die Ausführung einer Handlung dieses Typs, und die zweite Satzmenge die Auswirkungen der Durchführung einer Handlung dieses Typs enthalten sollte. Hier wird jedoch nur ein Name vergeben. Genau genommen müsste also die Definition eines Handlungstyps folgendermaßen aussehen:
102
4 Simulation einer sozialen Praxis
act1({cond1, ..., condn}, {effect1, ..., effectn}), wobei cond1, ..., condn die Bedingungen angeben, die vorhanden sein müssen, damit eine Handlung dieses Typs ausgeführt werden kann, und effect1, ..., effectn die Auswirkungen der Durchführung einer Handlung dieses Typs spezifizieren. Dies könnte mit speziellen Programmregeln erreicht werden, die eine gezielte Bearbeitung je nach Handlungstyp vorsehen. So könnten dann, neben den allgemeinen Bedingungen, dass sich die Gruppe auf die Durchführung der Handlung geeinigt hat, der richtige Zeitpunkt gekommen ist und die Mitglieder sich am Treffpunkt eingefunden haben, typenspezifische Bedingungen und Auswirkungen produziert werden. Wenn man dafür sorgt, dass die zusätzlichen, handlungsspezifischen Fakten nach einem bestimmten Algorithmus generiert werden, könnte z.B. am Zeitpunkt 37 folgende Satzmenge eine konkrete Handlung des Typs we_hike_in_the_mountains auslösen: trg_common_action(we_hike_in_the_mountains). meeting_time(8am). agent_appeared(2). agent_appeared(4). agent_appeared(7). agent_appeared(9). weather(sunny).
Nach der Durchführung der Handlung des Typs we_hike_in_the_mountains könnten dann folgende Sätze im Speicher stehen: tanned(2). tanned(4). tanned(7). sunburn(9). sore_muscles(2). blisters(2). blisters(9).
Am Zeitpunkt 50 hingegen könnte folgende Satzmenge eine konkrete Handlung vom Typ we_play_poker auslösen: trg_common_action(we_play_poker). meeting_time(8pm). agent_appeared(1). agent_appeared(3). agent_appeared(4).
4.3 Die Implementierung der Simulationen
103
agent_appeared(5). agent_has_money(1,50). agent_has_money(3,40). agent_has_money(4,30). agent_has_money(5,30). pack_of_cards_available. beers_in_the_fridge(20).
Die Durchführung einer konkreten gemeinsamen Handlung des Typs we_play_poker könnte zu folgender Sätzen im Speicher führen: agent_has_money(1,45). agent_has_money(3,90). agent_has_money(4,0). agent_has_money(5,15). beers_in_the_fridge(5).
Die Bewertung des Erfolgs müsste dann speziell auf die durchgeführte Handlung zugeschnitten werden. Natürlich ist die Wahrscheinlichkeit, dass ein Agent eine Gruppenhandlung als erfolgreich beurteilt, höher, wenn er selbst bei ihrer Ausführung gut weggekommen ist. Im Poker-Beispiel hat Agent 3, der als einziger gewonnen hat, eine wesentlich höhere Erfolgswahrscheinlichkeit als Agent 1, 4 oder 5. Letztendlich kann aber nicht ausgeschlossen werden, dass auch Agent 4, der sein ganzes Geld verspielt hat, die Gruppenhandlung als erfolgreich beurteilt. In einer Pokerrunde, die sich regelmäßig trifft, ist es durchaus üblich, dass man auch mal höher verliert. Insofern kann es sogar sein, dass Agent 4, obwohl er mit seinem individuellen Abschneiden sicherlich nicht zufrieden ist, die soziale Praxis des regelmäßigen Kartenspiels durchaus als erfolgreich beurteilt und auch beabsichtigt, weiterhin daran teilzunehmen. Vielleicht hofft er sogar, dass bald wieder ein Treffen zustande kommt, damit er seinen Verlust ausgleichen kann. Auch bei den Bergwanderern werden wahrscheinlich Agent 4 und Agent 7, die braungebrannt und höchstens mit einem leichten Ziehen in den Waden vom Berg herunterkommen, die Handlung am besten bewerten. Die Bewertung der beiden anderen Agenten kann dennoch völlig unterschiedlich ausfallen. Bergneuling Agent 2, der sich einen heftigen Muskelkater und Blasen an den Füßen zugezogen hat, wird sich vielleicht überlegen, ob er beim nächsten Mal wieder mitkommt, während den passionierten Bergsteiger Agent 9, die Tatsache, dass er einen Sonnenbrand und ebenfalls Blasen hat, eher zum Wechsel der Marke oder des Lichtschutzfaktors seiner Sonnencreme und zum Kauf neuer Socken veranlasst, als zur Aufgabe seiner geliebten Freizeitbeschäftigung. Letztendlich ist man im Bereich der intendierten Anwendungen auch bei einer nach Handlungstypen differenzierten Simulation darauf angewiesen, bei der Bewertung einer
104
4 Simulation einer sozialen Praxis
konkreten Handlung auf Wahrscheinlichkeiten zurückzugreifen, so dass man, abgesehen davon, dass es sehr aufwendig ist, spezielle Regelmengen für die Behandlung jedes einzelnen Handlungstyps zu hinterlegen, für die Simulation nicht viel gewonnen hat. In der vorliegenden Simulationsstudie sehen die Programmregeln keine unterschiedliche Bearbeitung je nach Handlungstyp vor. Implizit wird in den Programmregeln vorausgesetzt, dass der richtige Zeitpunkt gekommen ist, dass sich die Agenten am Treffpunkt einfinden und dass sonstige Bedingungen gegeben sind, die zur Durchführung der Handlung erforderlich sind. Einzige und ausreichende Bedingung für die Auswahl der spezifischen Gruppenhandlung ist, dass sich die Mehrheit der Gruppe auf die Durchführung der Handlung geeinigt hat, also ein Teil der Agenten die geteilte Absicht hat, die Handlung durchzuführen und damit der Trigger zur Ausführung der Handlung generiert wurde. Auch bei der Bewertung der Ausführung konkreter Handlungen verschiedener Typen werden immer die gleichen Kriterien zu Grunde gelegt, so dass die Auswirkung einer gemeinsamen Handlung letztendlich darin besteht, dass sie für einen Teil der Agenten erfolgreich und für einen anderen Teil der Agenten nicht erfolgreich war (siehe 4.3.6.7). 4.3.5.3 Die Menge der initialen Einstellungen ATT0 Die Menge der initialen Einstellungen der Agenten ATT0 wird nach den Vorgaben in der Parameterdatei generiert. ATT0 beinhaltet die Intentionen und Überzeugungen der Agenten vor dem ersten Simulationszyklus, also die Ausgangskonfiguration zu Beginn der Simulation der sozialen Praxis. Die Einstellungen der Agenten ändern sich während eines Simulationslaufs (siehe 4.3.6.8.) Die Intentionen der Agenten und ihre Überzeugungen werden durch Prolog-Fakten der folgenden Form dargestellt: Intentionen Eine Intention eines Agenten wird als Prolog-Fakt int/1 abgebildet. Das Argument ist eine Prologliste L mit drei Elementen [Agent, Bool, Action]. Agent bezeichnet einen Agenten i, 1 i max_actor. Bool wurde früher vorgesehen, um Intentionen einen boolschen Wert b {t, f} zuweisen zu können. Da bei der Generierung der Menge ATT0 nur Absichten für prinzipiell intendierte Handlungen berücksichtigt werden und diese bei einer Änderung zu einem späteren Zeitpunkt t aus der Menge ATTt gelöscht werden, hat Bool immer den Wert t. Action
4.3 Die Implementierung der Simulationen
105
wird per Zufallsauswahl ein Handlungstyp act ACT zugewiesen. Zusätzlich werden die Intentionsfakten durch ein Prädikat mit dem Funktor fact umschlossen, so dass der Fakt schließlich die Form fact(Run, Time, int([Agent, Bool,Action])) hat. Run bezeichnet einen Simulationslauf r, 1 r max_run, Time einen Zeitpunkt t, 1 t max_time. Bei der Initialisierung wird beiden Argumenten der Wert 0 zugewiesen. Die Intentionen aller Agenten können somit mit fact(R, T, int(L)) ermittelt werden. Dies ermöglicht, Operationen auf der Gesamtheit der Intentionsfakten komfortabel durchzuführen, wie z.B. alle Intentionen der Agenten von Zeitpunkt t nach t + 1 zu übertragen. Wenn es nötig ist, sich auf bestimmte Intentionen zu beziehen, kann das Matching auch mit den Elementen der Liste durchgeführt werden, z.B. würde die Instantiierung fact(0, 0, int([1, Bool, Action])) alle Intentionen von Agent 1 nach der Initialisierung liefern. Überzeugungen Eine ähnliche Darstellung wird für Überzeugungssätze verwendet. Ein Überzeugungssatz wird als Prolog-Fakt mit dem Funktor bel repräsentiert. Wiederum werden die Argumente in einer Liste gespeichert, die bequeme Oparationen auf der gesamten Überzeugungsbasis erlaubt. Da Agenten sowohl Überzeugungen bezüglich ihrer eigenen Überzeugungen als auch bezüglich der Überzeugungen anderer Agenten haben können, hat diese Liste eine rekursive Struktur. Ein Überzeugungssatz wird durch einen Prolog-Fakt der Form bel([OrderNum, Agent, Bool, BeliefContent]) repräsentiert. OrderNum n, n N gibt die Stufe der Überzeugung an. Überzeugungen, die elementare Propositionen betreffen, wie die Überzeugung „a glaubt, dass a beabsichtigt, an der gemeinsamen Handlung X teilzunehmen” werden Überzeugungen erster Stufe genannt und durch die Zahl 1 gekennzeichnet, geschachtelte Überzeugungen der Form „a glaubt, dass b glaubt, dass …” werden Überzeugungen:höherer Stufe genannt und mit einer Zahl n > 1 gekennzeichnet. Agent bezeichnet einen Agenten i, 1 i max_actor. Auch hier ist Bool ein Relikt, das zur Kennzeichnung wahrer oder falscher Überzeugungen durch einen boolschen Wert b {t, f} gedacht war. In dieser Simulationsstudie ist Bool immer auf t gesetzt. BeliefContent bezeichnet eine Proposition, die eine Intention oder wiederum ein Überzeugungssatz sein kann. Wenn sich BeliefContent auf eine Intention bezieht, wird als Inhalt nur die Bezeichnung eines Handlungstyps act ACT angegeben. Wenn sich BeliefContent auf eine Überzeugung bezieht, beinhaltet BeliefContent einen Überzeugungssatz der Form bel([OrderNum, Agent, Bool, BeliefContent]). Es sei angemerkt, dass Intentionen und Überzeugungen in der Faktenbasis nur auf individueller Ebene repräsentiert
106
4 Simulation einer sozialen Praxis
sind, der Inhalt der individuellen Einstellung sich jedoch auf eine gemeinsame Handlung der Gruppe bezieht. Jeder Agent intendiert individuell an einer gemeinsamen Handlung eines Typs act teilzunehmen und er glaubt, dass andere Agenten ebenfalls beabsichtigen, an der gemeinsamen Handlung des Typs act teilzunehmen. Die Menge der Einstellungen ATT0,5 von Agentin 5 könnte beispielsweise folgende Prolog-Fakten nach der Initialisierung enthalten: ... fact(0,0,int([5,t,we_party_at_walpurgisnacht])). bel([1,5,t,we_party_at_walpurgisnacht]). bel([2,5,t,bel([1, 1,t,we_party_at_walpurgisnacht])]). bel([2,5,t,bel([1,3,t,we_party_at_walpurgisnacht])]). bel([2,5,t,bel([1,5,t,we_party_at_walpurgisnacht])]). bel([2,5,t,bel([1,6,t,we_party_at_walpurgisnacht])]). bel([2,5,t,bel([1,8,t,we_party_at_walpurgisnacht])]). ...
%(a) %(b) %(c) %(d) %(e) %(f) %(g)
Der obige Auszug aus der Menge initialer Einstellungen ATT0,5 zeigt die PrologRepräsentation der Intentionen und Überzeugungen von Agentin 5 in Bezug auf die gemeinsame Handlung we_party_at_walpurgisnacht. Agentin 5 beabsichtigt, ihren Teil zu der gemeinsamen Handlung we_party_at_walpurgisnacht beizutragen (a). Obendrein glaubt Agentin 5, dass sie beabsichtigt ihren Teil zu der gemeinsamen Handlung we_party_at_walpurgisnacht beizutragen (b), und, mit Anwendung des Schemas B(i, p) B(i, B(i, p)) (siehe 3.2.1) glaubt sie, dass sie glaubt, dass sie beabsichtigt ihren Teil zu der gemeinsamen Handlung we_party_at_walpurgisnacht beizutragen (e). Des Weiteren glaubt Agentin 5, dass auch Agentin 1 glaubt, dass sie, Agentin 1, beabsichtigt ihren Teil zu der gemeinsamen Handlung we_party_at_walpurgisnacht beizutragen (c) und Agentin 5 hat entsprechende Überzeugungen bezüglich Agentin 3 (d), Agentin 6 (f) und Agentin 8 (g). In der Menge der Intentionen eines Agenten i sind die Handlungsabsichten für alle Handlungen repräsentiert, an denen sich Agent i potentiell beteiligen würde. Dies bietet den Agenten die Möglichkeit zwischen verschiedenen Vorschlägen zu wählen und Kompromisse einzugehen. Oft ist das Hauptanliegen in Freizeitgruppen wie der simulierten Beispielgruppe, sich einfach zu treffen und gemeinsam etwas Nettes zu unternehmen. Wenn es keinen wichtigen Grund gibt, eine bestimmte Handlung zu einem bestimmten Zeitpunkt durchzuführen, wie z.B. dass, wenn man Walpurgisnacht feiern möchte, dies am 30. April geschehen muss oder dass der Film, den man gerne sehen möchte, bald abgesetzt wird, ist Art und Reihenfolge der Ausführung prinzipiell intendierter Handlungen nicht so wichtig.
4.3 Die Implementierung der Simulationen
107
4.3.5.4 Eigenschaften der Überzeugungsbasis Für die Simulation sozialer Praktiken werden elementare Regeln der epistemischen Logik benutzt. Die Agenten versuchen ihren epistemischen Zustand ihrer Umgebung anzupassen, die im vorliegenden Kontext durch die Gruppe gegeben ist. Die Agenten kennen ihre eigenen Interessen und Absichten und sie versuchen die Interessen der anderen Agenten wahrzunehmen und bei ihren Verhandlungen einzubeziehen. In Abhängigkeit von einem positiven oder negativen Feedback einer gemeinsamen Handlung können sich eigene Interessen und die Interessen der anderen Agenten ändern, so dass die epistemischen Einstellungen ständigen Änderungen unterworfen sind. In der überzeugungsbasierten Version verhandeln die Agenten über die durchzuführende Gruppenhandlung auf Grund ihrer Vorstellungen über die Wünsche der anderen Agenten. Wie bereits erwähnt, wird angenommen, dass sich Mitglieder von Freizeitgruppen kooperativ verhalten wollen. Wenn eine Person zu solch einer Gruppe geht, hat sie bereits bestimmte Erwartungen an das Gruppenleben. Ein bestimmter Handlungsspielraum ist bereits durch die thematische Ausrichtung der Gruppe gegeben oder ein gewisser Rahmen ist durch etwaige Vorabsprachen bereits festgelegt. Mit der Zeit wird sich zeigen, ob das Gruppenleben den Erwartungen des Agenten entspricht. In einer Freizeitgruppe ohne weitere Verpflichtungen wird ein Agent die Gruppe verlassen, wenn das Gruppenleben nicht seinen Erwartungen entspricht. Auf jeden Fall wird man jedoch seine ursprünglichen Erwartungen und daraus resultierende Vorschläge dem Gegenstand der Gruppe anpassen und bestimmte eigene Interessen gar nicht in Erwägung ziehen, da es nicht viel Sinn macht, eine Handlung vorzuschlagen, von der man annimmt, dass niemand oder nur eine Minderheit die Absicht teilt, sie auszuführen.37 Manchmal schlagen Personen jedoch auch Handlungen vor, bei denen sie sich unsicher sind, ob andere Gruppenmitglieder ihr Interesse teilen, die aber im Prinzip in der Lage sind, eine Mehrheit zu gewinnen, z.B. Freizeitaktivitäten wie ins Theater oder ins Museum zu gehen. Das Feedback anderer Gruppenmitglieder, also die Zustimmung zu oder die Ablehnung von Vorschlägen erlaubt Rückschlüsse auf deren tatsächliche Interessen und im Laufe der Zeit lernen sich die Gruppenmitglieder besser kennen. Da sich in einem dynamischen System die Interessen und Überzeugungen anderer Agenten im Laufe der Zeit auch wieder ändern können, wird eine völlige Übereinstimmung auf interpersoneller Ebene kaum zu erreichen sein. Die genannten Kriterien waren maßgeblich für das Design der Überzeugungsbasis. Somit hat die Überzeugungsbasis B der 37 Hierzu zählen beispielsweise Sportarten wie Golf oder Reiten, die, obwohl sie zu den Freizeitaktivitäten zählen, eine bestimmte Ausrüstung und Ausbildung erfordern, die nicht allgemein vorausgesetzt werden kann.
108
4 Simulation einer sozialen Praxis
Agenten folgende Merkmale in Bezug auf subjektive und intersubjektive Konsistenz. Subjektive Konsistenz Eine generierte individuelle Überzeugungsmenge Bi ist konsistent im Sinne der durch die epistemische Logik vorgegebenen Standards (siehe 3.2). Da nur akzeptierte Überzeugungen in der Überzeugungsbasis eines Agenten repräsentiert werden, können mit dem Algorithmus zur Generierung der initialen Faktenbasis keine widersprüchlichen Überzeugungen erzeugt werden. Dies bedeutet nicht, dass Überzeugungen, die nicht in der Überzeugungsmenge vorkommen, automatisch abgelehnt werden. Diese Überzeugungen können auch unbestimmt sein. Im Bereich der intendierten Anwendungen der Simulationsstudie sind sie es auch oft, d.h. diese Überzeugungen sind weder akzeptiert noch werden sie zurückgewiesen. Zum Beispiel kann es nicht vorkommen, dass Sätze in der Überzeugungsmenge B1 der Agentin 1 auftreten, in denen sie gleichzeitig glaubt, dass sie beabsichtig am Pokerspiel teilzunehmen und dass sie nicht beabsichtigt, am Pokerspiel teilzunehmen, d.h. {bel(1,t,ínt(1,we_play_poker)), bel(1,f,int(1,we_play_poker))}
Bi.
Hiermit soll nicht behauptet werden, dass es keinen Unterschied zwischen zurückgewiesenen und unbestimmten Überzeugungen gibt. Wenn mir das Pokerspiel verhasst ist, wird mir diese Tatsache sehr wohl bewusst sein und ich werde mich vehement gegen die Planung einer derartigen Handlung aussprechen. Wenn ich mir jedoch zuvor keine Gedanken darüber gemacht habe, ob es Spaß machen könnte, gemeinsam Poker zu spielen, könnte ich eher geneigt sein, es zu versuchen. Solche Feinheiten werden jedoch von den Regeln zur Simulation der Verhandlungen der Agenten nicht beachtet, so dass die Repräsentation zurückgewiesener Überzeugungen den Speicher nur unnötig aufblähen würde. Die Wahrscheinlichkeiten, die intendierten bzw. nicht-intendierten Handlungen in der Erfolgsbewertung zugewiesen werden, beziehen diesen Sachverhalt mit ein. Das Prinzip der Konsistenz des epistemischen Zustands eines Individuums gilt auch für generierte Überzeugungssätze höherer Stufe. Wenn Agentin i beabsichtigt, am Pokerspiel teilzunehmen, dann glaubt sie, dass sie beabsichtigt am Pokerspiel teilzunehmen, und sie glaubt, dass sie glaubt, dass sie beabsichtigt am Pokerspiel teilzunehmen. Auch hier ermöglicht der Generierungsalgorithmus nicht, dass Sätze auftreten, in denen eine Agentin glaubt, dass sie glaubt, dass sie intendiert sich an einer Handlung zu beteiligen, wenn sie nicht glaubt, das sie
4.3 Die Implementierung der Simulationen
109
intendiert, sich an der entsprechenden Handlung zu beteiligen und sie dies auch nicht beabsichtigt, d.h. if bel(1,t,int(1,we_play_poker)) Bi then bel(1,t, bel(1,t,int(1,we_play_poker))) Bi if bel(1,t,int(1,we_play_poker)) ! Bi then bel(1,t, bel(1,t,int(1,we_play_poker))) ! Bi Es ist erforderlich, dass eine Intention und eine Überzeugung der tieferen Stufe in einer Überzeugungsmenge Bi vorhanden ist, damit eine Überzeugung höherer Stufe generiert wird. Da zurückgewiesene Überzeugungen nicht in einer Überzeugungsmenge Bi enthalten sind, können in Bi auch keine widersprüchlichen Überzeugungen höherer Stufe bezüglich anderer Agenten vorkommen: Wenn Agentin i glaubt, dass Agentin j Poker spielen möchte, dann kann Agentin i nicht gleichzeitig glauben, dass Agentin j nicht Poker spielen möchte. Wenn Agentin i nicht glaubt, dass Agentin j am gemeinsamen Pokerspiel teilnehmen möchte, ist in der Menge Bi, kein Überzeugungssatz enthalten. Intersubjektive Konsistenz Die oben beschriebenen Eigenschaften gelten nicht für die Überzeugungsbasis B aller Agenten. Natürlich könnte, wie in einer wirklichen Gruppe, eine Agentin i glauben, dass eine andere Agentin j beabsichtigt an einer gemeinsamen Handlung eines Typs act teilzunehmen, auch wenn Agentin j dies nicht beabsichtigt. Zum Beispiel könnte Agentin 1 glauben, dass Agentin 2 Poker spielen möchte, auch wenn Agentin 2 dies nicht beabsichtigt und demzufolge auch nicht glaubt, dass sie es beabsichtigt. Die Überzeugung von Agentin 1 ist also offensichtlich nicht zutreffend. bel(1, bel(2, int(2, we_play_poker))) B bel(2, bel(2, int(2, we_play_poker))) ! B.38 In Abhängigkeit von den Einstellungen der Parameter percent_int/1 und percent_bel/1 und der Zufallsverteilung ist die Überzeugungsmenge B aller Agenten 38 Da keine Unterscheidung zwischen unbestimmten und zurückgewiesenen Überzeugungen gemacht wird, wird der Operator Bool von nun an nicht mehr angegeben, obwohl er in der Faktenbasis und im Programm noch in der Struktur enthaltn ist.
110
4 Simulation einer sozialen Praxis
normalerweise inkonsistent in dem Sinne, dass einige Annahmen, die die Agentinnen machen, nicht zutreffen. Eine zweite Möglichkeit ist der Fall der sogenannten Pluralistic Ignorance. In diesem Fall werden keine widersprüchlichen Überzeugungen generiert, sondern die Agentinnen bemerken nicht, dass sie übereinstimmen. So könnte z. B. die Überzeugungsbasis B folgende Überzeugungen von Agentin 1 und Agentin 2 enthalten: {bel(1, int(1, we_chat)), bel(1, bel(1, int(1, we_chat))), bel(2, int(2, we_chat)), bel(2, bel(2, int(2, we_chat)))} " B. Die entsprechenden wechselseitigen Überzeugungen sind jedoch nicht in der Überzeugungsbasis B enthalten, so dass die Agentinnen, obwohl ihre Interessen übereinstimmen, keine Verhandlung aufnehmen würden: {bel(1, bel(2, int(2, we_chat))), bel(2, bel(1, int(1, we_chat)))}
B.
Da die Programmregeln eine Änderung der epistemischen Einstellungen der Agentinnen während eines Simulationslaufs ermöglichen, werden Überzeugungsmengen mit den Zeitpunkten in Beziehung gesetzt. Eine Überzeugungsmenge Bt kann sich ändern: Wenn beispielsweise eine Agentin die Gruppe verlässt, revidieren die übrigen Agentinnen ihre Überzeugungen bezüglich der Agentin. Da dabei auch inkonsistente Überzeugungen der übrigen Agenten in der Überzeugungsmenge Bt revidiert werden, führt dies im Allgemeinen zu einem höheren Grad an Konsistenz in der Überzeugungsmenge Bt+1. Weitere Regeln für die Änderung von Überzeugungen werden in Abschnitt 4.3.6 vorgestellt. 4.3.5.5 Regeln zur Generierung der Menge ATT0 Die Generierung der Menge der initialen Einstellungen ATT0 der Agenten wird mit dem Prädikat create_data/0 gestartet. In create_data/0 werden die Prädikate zur Generierung von ATT0 ausgeführt: gen_intentions/0 generiert die Menge der initialen Intentionen der Agenten, gen_belief_base/1 initialisiert die Überzeugungsbasis. Um vergleichbare Daten für Simulationsläufe mit unterschiedlicher Regelmenge zu erhalten, wird die Überzeugungsbasis immer generiert, also auch wenn eine Simulationsfolge mit der Parameterbelegung (rule_set) = get_random gestartet wird. Bei einer späteren Durchführung von Simulationen mit einer anderen Regelmenge können so die unterschiedlichen Auswirkungen der Annahmen auf die Entwicklung der sozialen Praxis untersucht werden. Das
111
4.3 Die Implementierung der Simulationen
Prädikat write_data/0 speichert die generierte Faktenbasis in den Dateien data.int und beliefs.int. Data.int beinhaltet die initialen Intentionen der Agenten, belief.int beinhaltet ihre initialen Überzeugungen. Abbildung 6:
Die Generierung der initialen Einstellungen
create_data/0
gen_intentions/0
gen_belief_level/1
write_data/0
4.3.5.6 Die Generierung der initialen Intentionen
gen_intentions/0
Das Prädikat gen_intentions/0 bildet die äußere Schicht zur Generierung der initialen Intentionen der Agenten. Es beinhaltet zwei geschachtelte Schleifen, die durch rekursive Prädikate realisiert wurden: ini_individual/4 arbeitet rekursiv die Menge der Agenten ab, während gen_int_facts/4 rekursiv die initialen Intentionen jedes Agenten aus der Menge der definierten Handlungstypen ACT auswählt. Bevor das Prädikat ini_individual/4 rekursiv die initialen Intentionen für alle Agenten generiert, wird die durch den Parameter actors/1 festgelegte Anzahl von Agenten ermittelt. Die Menge der in der Parameterdatei definierten Handlungstypen ACT wird mit dem Prolog-Prädikat bagof/3 in einer Liste gesammelt, die an ini_individual/4 übergeben wird. ini_individual/4 Argumente: I – Agentin i, (I) = {1, …, max_actor} A – Anzahl der Agenten, (A) = max_actor N – Anzahl n der wählbaren Handlungstypen in L, (N) = |L| L – Liste L der wählbaren Handlungstypen, (L) = {act1, ..., actn}
112
4 Simulation einer sozialen Praxis
Das Prädikat ini_individual/4 generiert rekursiv die initialen Intentionen der Agenten. Mit dem Prädikat gen_int_facts/4 werden die individuell intendierten Intentionen per Zufallsauswahl aus der Liste der definierten Handlungstypen selektiert. Bevor get_int_facts/4 ausgeführt wird, wird der Wert des Parameters percent_int/1 ermittelt. Für das Auswahlverfahren wird die Anzahl der Restelemente ermittelt, sie ist das Ergebnis der Differenz rest_act = n – (n / 100 * percent_int). Nachdem die initialen Intentionen von Agentin i generiert wurden, wird i erhöht und ini_individual/4 wird in einer Rekursion nochmals ausgeführt, um die initialen Intentionen des nächsten Agenten zu generieren. Die Rekursion terminiert, wenn (I) = max_actor ist. Abbildung 7:
Die Generierung der initialen Intentionen
gen_intentions/0
i I 1 i max_actor ini_individual/4
n, min_act n |ACT|
gen_int_facts/4
|ACT| n min_act . gen_int_facts/4 Argumente: I – Agentin i, (I) = {1, …, max_actor} N – Anzahl n der wählbaren Handlungstypen in L, (N) = |L| M – Anzahl m der restlichen Handlungstypen in L, (M) = rest_act L – Liste L der wählbaren Handlungstypen, (L) = {act1, ..., actn} gen_int_facts/4 generiert rekursiv die initialen Intentionen einer Agentin i. Das Hilfsprädikat random/2 wird ausgeführt, um eine Zufallszahl r, 1 r n zu ermitteln. Dann wird das r-te Element der Liste L ausgewählt. Ein Intentionsfakt der Form int([i, t, actr]) bezüglich der Ausführung einer Handlung des gewählten Handlungstyps actn und ein entsprechender Überzeugungssatz erster Stufe der
113
4.3 Die Implementierung der Simulationen
Form bel([1, i, t, actn]) werden zur Faktenbasis von Agentin i hinzugefügt. Vor der rekursiven Ausführung von gen_int_facts/4 zur Generierung weiterer Intentionen, wird actn aus der Liste L gelöscht, und die Anzahl n der wählbaren Handlungstypen wird um eins verringert. Die Rekursion terminiert, wenn (N) = rest_act ist. 4.3.5.7
Die Generierung der initialen Überzeugungen höherer Stufe
Die Generierung der Überzeugungsbasis der Agenten erfolgt auf ähnliche Weise wie die Generierung ihrer initialen Intentionen. Drei rekursiv definierte Prädikate dienen zur Generierung der initialen Überzeugungen der Agenten: gen_belief_level/1, gen_individual/2 und gen_beliefs/3. Die erste Rekursion in gen_belief_level/1 bearbeitet die Überzeugungsstufen, die zweite Rekursion in gen_individual/2 bearbeitet die Menge der Agenten und die dritte Rekursion in gen_beliefs/3 generiert schließlich die Überzeugungen der Agenten bezüglich der in der Gruppe vorhandenen Handlungsabsichten. Abbildung 8:
Die Generierung der initialen Überzeugungen höherer Stufe
b B
1 b max_bel
gen_belief_level/1
i I
1 i max_actor
gen_individual/1
j J
gen_beliefs/3
1 j max_actor
114
4 Simulation einer sozialen Praxis
gen_belief_level/1 Argument: B – Überzeugungsstufe b, (B) = {1, …, max_bel} Das Prädikat gen_belief_level/1 regelt die Generierung der Überzeugungen höherer Stufe. Der Wert max_bel des Programm-Parameters maxlev wird ermittelt. Dann wird die Regel gen_individual/2 ausgeführt, die rekursiv die Überzeugungssätze für alle Agenten generiert. Danach wird B erhöht und gen_belief_level/1 generiert rekursiv die Überzeugungen der nächsten Stufe. Die Rekursion terminiert, wenn (B) = max_bel ist. gen_individual/2 Argumente: I – Agentin i, (I) = {1, …, max_actor} B – Überzeugungsstufe b, (B) = {1, …, max_bel} gen_individual/2 steuert die Generierung aller Überzeugungen der gegebenen Stufe für eine Agentin i. Der Wert max_actor des Programm-Parameters actors/1 wird ermittelt. Anschließend generiert die Regel gen_beliefs/3 rekursiv die Überzeugungen der Agentin bezüglich der Überzeugungen aller Agenten inklusive ihrer eigenen. Danach wird i erhöht und gen_individual/2 wird rekursiv ausgeführt, um die Überzeugungen der nächsten Agentin zu generieren. Die Rekursion terminiert, wenn (I) = max_actor ist. gen_beliefs/3 Argumente: J – Agentin j, (J) = {1, …, max_actor} I – Agentin i, (I) = {1, …, max_actor} B – Überzeugungsstufe b, (B) = {1, …, max_bel} gen_beliefs/3 steuert die Generierung aller Überzeugungen einer Agentin i in Bezug auf die Überzeugungen einer Agentin j. Der Wert max_actor des Programm-Parameters actors/1 wird ermittelt. Die Überzeugungen von Agentin i in Bezug auf die Überzeugungen von Agentin j werden mit der Regel get_bel_predicates/3 generiert. Anschließend wird j erhöht und gen_beliefs/3 wird rekursiv ausgeführt, um die Überzeugungen von Agentin i bezüglich der nächsten Agentin zu generieren. Die Rekursion terminiert, wenn (J) = max_actor ist.
4.3 Die Implementierung der Simulationen
115
get_bel_predicates/3 Argumente: J – Agentin j, (J) = {1, …, max_actor} I – Agentin i, (I) = {1, …, max_actor} B – Überzeugungsstufe b, (B) = {1, …, max_bel} Das Prädikat get_bel_predicates/3 wurde durch zwei verschienene Regeln realisiert: Die erste Regel wird angewendet, wenn die Bedingungen i = j erfüllt ist, d.h. für die Agentin sollen Überzeugungen höherer Stufe generiert werden, die ihre eigenen Überzeugungen betreffen; die zweite Regel wird angewendet, wenn die Bedingung i j erfüllt ist, d.h. die Überzeugungen höherer Stufe sollen für eine andere Agentin generiert werden. 1.
2.
Wenn i = j ist, wird die Überzeugungsbasis der Agentin i der gegebenen Stufe in die nächsthöhere Stufe übertragen. Der Stufen-Indikator b wird erhöht. Dann werden mit dem Prolog-Prädikat forall/2 alle Überzeugungen der Stufe (b – 1) der Agentin i gesucht, mit einem weiteren Glaubensoperator präfigiert, so dass Überzeugungssätze der Form belb,i (belb-1,l (A)) entstehen, und der Faktenbasis hinzugefügt. Wenn i j ist, werden Agentin i’s Überzeugungen der nächsthöheren Stufe eine andere Agentin j betreffend generiert. Der Stufen-Indikator b wird erhöht. Mit dem Prolog-Prädikat bagof/2 werden Agentin i ‘s Überzeugungen der Stufe (b – 1) in einer Liste L gesammelt. Die Anzahl n der gesammelten Überzeugungen wird mit dem Prolog-Prädikat length/2 berechnet. Mit dem Wert des Parameters percent_bel wird der prozentuale Anteil der aus L zufällig auszuwählenden Überzeugungssätze berechnet, von denen Agentin i glaubt, dass j sie auch glaubt, und damit die maximale Anzahl rest_bel der restlichen Überzeugungssätze berechnet. Mit dem Prädikat get_other_beliefs/6 werden rekursiv die Überzeugungen höherer Stufe der Form belb,i (belb-1,l (A)) generiert.
get_other_beliefs/6 Argumente: N – Anzahl n der wählbaren Fakten in X1, (N) = |X1| J – Agentin j, (J) = {1, …, max_actor} I – Agentin i, (I) = {1, …, max_actor} B – Überzeugungsstufe b, (B) = {1, …, max_bel} M – Anzahl m der restlichen Fakten in X1, (M) = rest_bel X1 – Liste aller Überzeugungen von Agentin i der Stufe (b – 1), (X1) = {x1, ..., xn}
116
4 Simulation einer sozialen Praxis
Das Prädikat get_other_beliefs/6 fordert mit dem Hilfsprädikat random/2 eine Zufallszahl r, 1 r n an. Mit der Zufallszahl r wird das r-te Element x der Liste X1 ausgewählt. Die Überzeugung belb,i (belb-1,l (xr)) wird zur Faktenbasis hinzugefügt und Element x wird aus der Liste X1 gelöscht. Die Anzahl n der wählbaren Überzeugungen wird um eins verringert und get_other_beliefs/6 wird rekursiv ausgeführt, um Agentin i’s weitere Agentin j betreffende Überzeugungen zu generieren. Die Rekursion terminiert, wenn (N) = rest_bel ist. Der Algorithmus zur Generierung der Überzeugungen erlaubt im Prinzip, Überzeugungen bis zu einer beliebigen Stufe zu generieren. Eine Beschränkung ist nur durch den verfügbaren bzw. den vom verwendeten Prolog-System adressierbaren Systemspeicher gegeben (vergleiche S. Hofmann 1997). Die entstehenden Überzeugungsbasen können jedoch sehr groß werden. So enthält eine Überzeugungsbasis, die für zehn Agentinnen mit den Einstellungen (percent_int) = 30 und (percent_bel) = 60 bis zur fünften Stufe generiert wurde, bei der also jede Agentin intendiert, sich nur an dreißig Prozent der vorgegebenen Handlungen zu beteiligen, aber überzeugt ist, dass jeweils sechzig Prozent der anderen Agentinnen die Absicht teilen, nach der Generierung 165050 Überzeugungssätze.39 Der Speicherbedarf der Datei belief.int beträgt dann ca. 12,6 MB. Da die folgenden Simulationsregeln jedoch nur Überzeugungen bis zur zweiten Stufe auswerten, wird auf die Generierung höherer Stufen verzichtet.
4.3.6 Die Kernsimulation Nach der Generierung der Menge der initialen Einstellungen der Agenten ATT0 beginnt die eigentliche Simulation der sozialen Praxis des Gruppenlebens von Freizeitgruppen, die mit den Prädikaten mainloop/2 und kernel/2 gesteuert wird. Die Regel mainloop/2 iteriert in einem Simulationslauf s S über alle Zeitpunkte t T, die Regel kernel/2 simuliert die Gruppenaktivität an einem Zeitpunkt t T. Nachdem mit dem Prädikat ini_facts_for_run/1 die Faktenbasis für den aktuellen Lauf s S initialisiert wurde, führt das Hilfsprädikat between/3 die Schleife über alle definierten Zeitpunkte t T aus. Zu Beginn der Schleife wird mit dem Prädikat continue_practice/1 zunächst geprüft, ob die soziale Praxis noch erfolgreich ist. Wenn ( continue_practice) = yes ist, wird die soziale Praxis fortgeführt. Dieser Wert wurde bei der Initialisierung zugewiesen. Wenn 39 Hierbei entstehen Prolog-Fakten wie bel([5, 10 ,t, bel([4, 2, t, bel([3, 6, t, bel([2, 4, t, bel([1, 6, t, bicyle_tour])])])])]), was als „Agentin 10 glaubt, dass Agentin 2 glaubt, dass Agentin 6 glaubt, dass Agentin 4 glaubt, dass Agentin 6 glaubt, dass sie beabsichtigt, an einer Fahrradtour teilzunehmen“ zu lesen ist.
4.3 Die Implementierung der Simulationen
117
(continue_practice) = no ist, scheitert between/3 und die soziale Praxis wird vorzeitig beendet. In der Schleife werden an jedem Zeitpunkt die Simulationsergebnisse in der Protokolldatei gespeichert (write_results/2). Die Überzeugungsbasis wird in einer separaten Datei protokolliert (write_dynamic_belief/2). Da die Protokolldateien vor der Simulation des Gruppenlebens am aktuellen Zeitpunkt t gespeichert werden, wird immer das Protokoll des Zeitpunkts t – 1 ausgegeben. Beim ersten Simulationszyklus, d.h. wenn t = 1 ist, wird hier die initial erzeugte Faktenmenge ATT0. ausgegeben. Danach startet das Prädikat kernel/2 die Simulation der sozialen Praxis des Gruppenlebens für den aktuellen Zeitpunkt t. Dieses Prädikat bildet das Herzstück eines Simulationslaufs, die “eigentliche” Simulation eines Musters der sozialen Praxis des Gruppenlebens von Freizeitgruppen: die Gruppenhandlung wird ausgewählt, durchgeführt und bewertet. Ist die “Frustrationsschwelle” einer Agentin erreicht, so verlässt sie die Gruppe. Kann sich die Mindestanzahl von Agenten nicht mehr auf eine gemeinsame Handlung einigen, wird die soziale Praxis aufgegeben. Durch die wiederholte Anwendung des Prädikats kernel/2 zeigt sich die spezifische Entwicklung der sozialen Praxis, d.h. eine mögliche Entwicklung einer initial generierten Gruppe von Agenten. Für die Auswertung verschiedener Muster der Gruppenentwicklung sei auf Abschnitt 5.4.3 verwiesen. 4.3.6.1 Die Simulation eines Musters der sozialen Praxis Das Prädikat kernel/2 wurde in zwei Ausprägungen implementiert. In Abhängigkeit des Programmparameters rule_set/1 werden verschiedene Regelmengen angewendet. 1. 2.
Wenn (rule_set) = get_random ist, wählen die Agentinnen ihre Vorschläge für die Gruppenhandlung nur aus der Menge ihrer Intentionen aus. Wenn (rule_set) = negotiate ist, verhandeln die Agentinnen auf der Basis ihrer Überzeugungen über die Gruppenhandlung, die gemeinsam ausgeführt werden soll.
Die jeweilige Regelmenge, die einer Spezifikation des Prädikats kernel/2 zu Grunde liegt, charakterisiert somit eine Klasse von Modellen der sozialen Praxis des Gruppenlebens von Freizeitgruppen. Die Struktur des Prädikats kernel/2 orientiert sich an der von Balzer und Tuomela 2003 vorgeschlagenen Struktur eines Musters einer sozialen Praxis (siehe 4.1.1.5). An jedem Zeitpunkt werden die vier Abschnitte z1… z4 durchlaufen: Während z1 werden die Vorschläge der Agentinnen für die Gruppenhand-
118
4 Simulation einer sozialen Praxis
lung generiert. Die Anwendung verschiedener Regelmengen für die Generierung dieser Vorschläge wurde durch unterschiedliche Einstiegs-Prädikate realisiert: get_rdm_intention/3 spezifiziert die zufällige Generierung von Vorschlägen aus der Menge der Intentionen der Agenten, check_intention/3 und suggest_action/2 spezifizieren die Verhandlungen der Agenten über die zu wählende Gruppenhandlung anhand ihrer Überzeugungen. Abbildung 9:
z1
Das Prädikat kernel/2
Bildung individueller Handlungsabsichten
i I: generiere Vorschläge für eine gemeinsame Handlung (rule_set) = get_random # get_rdm_intenti on/2 (rule_set) = negotiate # &check_ intention/ 3 % $suggest_ action/ 2 (Public Mailbox)
z2
choose_action/3
Ermittle aus den Vorschlägen den Trigger für die Durchführung der gemeinsamen Handlung (Auslösung der gemeinsame Handlung)
z3
z4
common_action/3
evaluate_action/4
Simuliere die Gruppenhandlung i I: bewerte den Erfolg der Gruppenhandlung und ermittle die Schwelle für die Beendigung oder Fortführung der sozialen Praxis
Die anderen Abschnitte werden durch Prädikate repräsentiert, die in beiden Ausprägungen des Prädikats kernel/2 verwendet werden. In Abschnitt z2 wird der Trigger für die Durchführung der gemeinsamen Handlung aus den Vorschlägen der bevorzugten Handlungen der Agentinnen ermittelt (choose_action/3), in Abschnitt z3 wird die Durchführung der gemeinsamen Handlung simuliert (common_action/3), und z4 beinhaltet die individuelle Erfolgsbewertung, sowie die Ermittlung der Schwelle für die weitere Beteilungung an der sozialen Praxis auf individueller Ebene und der Schwelle für die Beendigung der sozialen Praxis (evaluate_action/4).
119
4.3 Die Implementierung der Simulationen
4.3.6.2 Die Aktivierung der Agenten Die Prädikate choose_action/3 und common_action/3, die die Zeitabschnitte z2 und z3 beschreiben, beziehen sich auf die ganze Gruppe, während z1 und z4 Regeln beinhalten, die die Sicht der Gruppenmtglieder repräsentieren. In den entsprechenden Prädikaten get_rdm_intention/2, check_intention/3, suggest_action/2, und evaluate_action/4 wird eine Schleife ausgeführt, in der jede Agentin i I einmal aktiviert wird. Hierfür werden zwei verschiedene Algorithmen angewendet: Abbildung 10: Die Aktivierung der Agenten in zufälliger Reihenfolge
kernel(R,T) gen_actor_list(L)
Sammle alle aktiven Agenten i I in actor_list
“activate” (R,T, I) Aktiviere alle Agenten i in zufälliger Reihenfolge
1 I |L|
delete_from_actot_list(I)
Die Reihenfolge der Aktivierung der Agentinnen wird im Zufallsverfahren ermittelt, so dass sie an aufeinanderfolgenden Zeitpunkt normalerweise unterschiedlich ist.40 Dazu werden die Nummern aller Agentinnen, die gleichzeitig ihre Namen sind, in einer Liste L = [1, ..., max_actor] gesammelt, der sogenannten „Actor-Liste“. Mit dem Prädikat gen_actor_list/1 werden alle
40 Der Algorithmus für die Aktivierung der Agentinnen in einer zufällig generierten Reihenfolge basiert auf dem Prädikat choose_and_activate_actor/3 in der zentralen Schleife des Multiagentensystems SMASS (W. Balzer 2000: 76).
120
4 Simulation einer sozialen Praxis
nicht mehr aktiven Agentinnen, aus der Actor-Liste gelöscht. Danach wird eine Schleife über die Anzahl der teilnehmenden Agentinnen durchgeführt: Eine Agentin i wird zufällig ausgewählt und aktiviert. Nachdem Agentin i ihren Vorschlag gemacht hat, wird sie aus der der Actor-Liste entfernt und eine weitere Agentin j wird zufällig aktiviert. Die Schleife wird beendet, wenn jede aktive Agentin einen Vorschlag gemacht hat. Diese Methode der Aktivierung der Agentinnen in zufälliger Reihenfolge wird in den Regeln für die Generierung der Vorschläge für die Gruppenhandlung angewendet, d.h. in get_rdm_intention/2, wenn (rule_set) = get_random ist, und in suggest_action/2, wenn (rule_set) = negotiate ist. Die Agentinnen werden in aufsteigender Reihenfolge nach ihren Nummern i, 1 i max_actor aktiviert. Die Nummer der zu aktivierenden Agentin wird an das entsprechende Prädikat übergeben. Bei nicht-aktiven Agentinnen scheitert das Prädikat und die Schleife wird mit der nächsten Agentin fortgesetzt. Dieses Verfahren wird für die überzeugungsbasierte Auswahl der individuellen Vorschläge in check_intention/3, wenn (rule_set) = negotiate ist, und für die Bewertung der Gruppenhandlung (evaluate_action/3) in beiden Regelmengen angewendet. In beiden Fällen handeln die Agentinnen nach rein “subjektiven” Kriterien, d.h. eine Interaktion mit anderen Agenten findet an dieser Stelle nicht statt.
Abbildung 11: Die Aktivierung der Agenten in aufsteigender Reihenfolge kernel(R,T)
1I max_act
“activate” (R,T,I )
4.3.6.3 Die Generierung der Vorschläge (Regelmenge get_random) Bei der Generierung der Vorschläge mit der Regelmenge get_random werden nur die Intentionen der Agentinnen herangezogen. Die Überzeugungen, die separat in der Datei beliefs.int gespeichert sind, werden zu Beginn eines Simulations-
121
4.3 Die Implementierung der Simulationen
laufs nicht geladen. Die Menge der Einstellungen ATT besteht somit nur aus Intentionen (int/1). Einstellungen der Art int/1 werden den einzelnen Gruppenmitgliedern zugeschrieben. Somit ist die Menge ATTt,i der Einstellungen von Agentin i zum Zeitpunkt t die Menge von i’s Intentionen zum Zeitpunkt t. ATTt,i = {int(t, i, act1), ..., int(t, i, actn)} Die Menge der Einstellungen ATTt der Gruppe bzw. Gemeinschaft von Agenten I zum Zeitpunkt t wird aus der Vereinigung aller individuellen Intentionen aller Gruppenmitglieder i I gebildet.
ATTt ' ATTt,,i iI
Die Regel get_rdm_intention/2 Die Regel get_rdm_intention/2 steuert die zufällige Auswahl der Vorschläge der Agentinnen aus der Menge ihrer Intentionen ATTt. Im Zufallsverfahren wird eine Agentin i I aus der Actor-Liste aktiviert und zufällig eine ihrer Intention aus der Menge ihrer prinzipiellen Einstellungen ATTt,i ausgewählt. Diese wird mit dem Prädikat out_action/4 als Agentin i’s Vorschlag für die Gruppenhandlung am aktuellen Zeitpunkt t in die sogenannte „Public Mailbox“ gesetzt, d.h. out_action/4 kennzeichnet den Vorschlag mit dem dynamischen Prädikat preferred_action/4 und fügt dieses der Faktenbasis im Speicher hinzu. Zusätzlich wird der Vorschlag im Result-File protokolliert. Die Regel get_rdm_intention/2 terminiert, wenn alle Agentinnen aus der Actor-Liste ihren Vorschlag platziert haben. Die „gemeinsame Intention“ zur Durchführung der Gruppenhandlung, die später aus diesen Vorschlägen gebildet wird, kann nicht als geteilte oder gemeinsame Absicht im philosophischen Sinn betrachtet werden, da die Vorschläge der Agentinnen nur auf der Grundlage ihrer eigenen Absichten basieren und ihre Vorstellungen über die Absichten anderer Agentinnen nicht einbezogen werden (vgl. 3.1.1).
122
4 Simulation einer sozialen Praxis
Abbildung 12: Die Generierung der Vorschläge, Regelmenge get_random
kernel/2
get_rdm_intention/3
Aktiviere alle Agenten i in zufälliger Reihenfolge
out_action/2 preferred_action(r,t, i , act1) (public mailbox)
4.3.6.4 Die Generierung der Vorschläge (Regelmenge negotiate) Bei der Generierung der Vorschläge mit der Regelmenge negotiate werden sowohl die Intentionen als auch die Überzeugungen der Agentinnen herangezogen. Die Menge der Einstellungen ATTt besteht somit aus Intentionen (int/1) und Überzeugungen (bel/3). Sowohl Intentionen als auch Überzeugungen werden den einzelnen Gruppenmitgliedern zugeschrieben. Somit ist die Menge der Einstellungen ATTt,i einer Agentin i zum Zeitpunkt t die Vereinigung der Menge von i ’s Intentionen und der Menge von i ’s Überzeugungen zum Zeitpunkt t. Die Menge von i ’s Überzeugungen besteht aus Überzeugungen über ihre eigenen Absichten und Überzeugungen und ihren Überzeugungen über die Absichten und Überzeugungen der anderen Agentinnen, sich an gemeinsamen Handlungen der Typen act1 bis actn zu beteiligen. ATTt,i = {int(t, i, act1), ..., int(t, i, actn)} {bel(t, i, int(t, i, act1)), ..., bel(t, i, int(t, i, actn))} {bel(t, i, bel(t, i, int(t, i, act1))), ..., bel(t, i, bel(t, i, int(t, i, actn)))} {bel(t, i, bel(t, j ,int(t, j, act1))) , ..., bel(t, i, bel(t, j, int(t, j, actm))),..., bel(t, i, bel(t, k, int(t, k, act1,))), ..., bel(t, i, bel(t, k, int(t, k, actl))) …} Die Menge der Einstellungen ATTt der Gruppe I zum Zeitpunkt t wird aus der Vereinigung aller individuellen Intentionen und individuellen Überzeugungen der Gruppenmitglieder i I gebildet.
ATTt ' ATTt,,i iI
123
4.3 Die Implementierung der Simulationen
Bildung einer Handlungsabsicht in der Regelmenge negotiate Der Zeitabschnitt z1 in dem der Trigger für die Bildung der gemeinsamen Absicht entsteht, eine Handlung des Typs act durchzuführen, wird in der Modellklasse negotiate durch zwei Regeln abgebildet, die die Verhandlungen der Agenten über die auszuführende Gruppenhandlung simulieren. In der Regel check_intention/3 wählt eine Agentin i die Handlung aus der Menge ihrer prinzipiell intendierten Handlungen aus, von der sie glaubt, dass sich die meisten der anderen Agentinnen daran beteiligen möchten. Agentin i schlägt diese Handlung allen anderen Agentinnen j vor, von denen sie annimmt, dass sie mitmachen. Die Vorschläge werden mit dem dynamischen Prädikat mail/3 abgebildet und in den persönlichen Briefkästen der Agenten gesammelt. Die Nachrichten dienen dazu, die individuellen Einstellungen aller Empfänger j auszulösen, sich an einer Handlung des vorgeschlagenen Typs zu beteiligen. Normalerweise treffen Vorschläge für unterschiedliche Handlungen ein. Abbildung 13: Die Generierung der Vorschläge, Regelmenge negotiate
kernel/2
check_intention/3
i I: wähle eine von i’s intendierten Handlungen und schlage sie den Agentinnen j ,..., n vor, von denen i glaubt, dass sie teilnehmen. mail(i, j , trg(act1)),..., mail(i, n, trg(act1)) (personal mailboxes)
suggest_action/2
i I: wähle i’s bevorzugte Handlung aus den Vorschlägen, die sie erhalten hat.
preferred_action(r,t, i , act1) (public mailbox)
Die Bewertung der in den persönlichen Briefkästen der Agenten gesammelten Vorschläge erfolgt mit dem Prädikat suggest_action/2. Jede Agentin j sucht die Handlung aus, für die sie am meisten Vorschläge erhalten hat, wenn sie selbst
124
4 Simulation einer sozialen Praxis
auch beabsichtigt, die Handlung durchzuführen. Ein Vorschlag für die Durchführung dieser Handlung wird mit dem Prädikat out_action/4 in die „Public Mailbox“ eingetragen. Die Menge der Vorschläge für eine Handlung des Typs act dient als auslösende Bedingung für die Bildung einer gemeinsamen Absicht, eine Handlung des Typs act durchzuführen. Die Regel check_intention/3 Die Regel check_intention/3 generiert die Vorschläge einer Agentin i für die Durchführung einer gemeinsamen Handlung eines Typs act an einem Zeitpunkt t. Check_intention/3 aktiviert in einer Schleife alle Agentinnen aufsteigend nach ihrer Nummer. Jede Agentin i wählt eine ihrer intendierten Handlungen und schlägt diese Handlung jeder anderen Agentin j vor, von der sie annimmt, dass sie teilnimmt. Mit dem Prolog-Standardprädikat findall/3 werden die Handlungsabsichten für alle Handlungen, an denen sich Agentin i am Zeitpunkt t prinzipiell beteiligen würde in einer Liste L gesammelt. Aus dieser Liste wird der Vorschlag für die gemeinsame Handlung wie folgt ermittelt: 1. Prüfung, ob positive Trigger definiert sind Das Prädikat check_int_trg/4 prüft, ob ein positiver Trigger ptrg(trg_time, act) für eine Handlung vom Typ act am aktuellen Zeitpunkt t definiert ist. Wenn ein Trigger definiert ist und wenn in der Datenbank der Agentin die Intention, eine Handlung vom Typ act auszuführen, vorhanden ist, wird die Handlung bevorzugt vorgeschlagen. Der Wert n des Prädikats meetings_per_year/1 wird ermittelt. Die Regel check_int_trg/4 prüft, ob für das Ergebnis m der Berechnung m = t % n ein Fakt ptrg(trg_time, act) in der Faktenbasis vorhanden ist, bei dem trg_time mit m unifiziert werden kann. (Wenn (meetings_per_year) = 12 ist, würde m den Monat bezeichnen). Wenn eine positiv getriggerte Handlung gefunden wurde, wird gesucht, ob die Intention int(i,act) in der Liste L, die i’s Handlungsabsichten enthält, vorhanden ist. Wenn eine entsprechende Intention existiert, werden die Überzeugungen von Agentin i darüber, welche anderen Agentinnen j ebenfalls beabsichtigen, sich an der gemeinsamen Handlung des Typs act zu beteiligen, in der Liste L1 gesammelt. Da jede Agentin zumindest glaubt, dass sie sich selbst beteiligen möchte, beinhaltet die Liste L1 mindestens ein Element. Schließlich wird mit dem dynamischen Prädikat mail(i,j,trg(act)) eine Nachricht an alle Agentinnen j in Liste L1 versendet. Es sei daran erinnert, dass positive Trigger dazu verwendet werden, die Auswahl einer bestimmten Handlung an einem bestimmten Zeit-
4.3 Die Implementierung der Simulationen
125
punkt zu forcieren. Der implementierte Algorithmus wählt immer die erste positiv getriggerte Handlung, die von Agentin i intendiert ist. Ob es sinnvoll ist, mehrere positive Trigger in einer Zeiteinheit, z.B. einem Monat, zu definieren, wird von der Wahl des Beispiels und den Parametereinstellungen abhängen. Bei der Parametereinstellung (percent_int) 60, ist die Wahrscheinlichkeit hoch, dass die erste getriggerte Handlung von der Mehrheit der Agentinnen gewählt wird. 2. Suche nach der Handlung, von der Agentin i annimmt, dass sich die meisten der anderen Agentinnen beteiligen Wenn kein positiver Trigger am aktuellen Zeitpunkt definiert ist, oder die Agentin nicht beabsichtigt, sich an einer getriggerten Handlung des Typs act zu beteiligen, wird die Regel do_max_calc/4 ausgeführt. Do_max_calc(r, t, i, L) wählt den Vorschlag der Agentin i für die Gruppenhandlung aus der Menge aller ihrer prinzipiell intendierten Handlungen aus, deren Ausführung am aktuellen Zeitpunkt t nicht durch einen negativen Trigger unterdrückt ist. Agentin i wählt die Handlung act als Vorschlag aus, von der sie annimmt, dass die meisten anderen Agentinnen die Absicht teilen, die Handlung auszuführen. Es wir also vorausgesetzt, dass sich die Gruppenmitglieder kooperativ verhalten wollen. Alle Intentionen int(i,act) einer Agentin i werden in einer Liste L gesammelte und anschließend mit i’s Überzeugungen über die Bereitschaft der anderen Agentinnen, sich an einer Handlung des Typs act zu beteiligen, abgeglichen. Die Liste L beinhaltet einen Eintrag für jede von i’s Handlungsabsichten. Die Handlung des Typs act, von der i glaubt, dass die meisten der anderen Agentinnen die Absicht teilen, sie auszuführen, wird wie folgt ermittelt: Das dynamische Prädikat tmpcnt/1 wird verwendet, um die maximale Anzahl von Überzeugungen zu einer intenderten Handlung zu ermitteln. Die Suche wird durch den Eintrag tmpcnt(0) in die Faktenbasis initialisiert. Dann werden nacheinander für alle k, 1 k |L| die Überzeugungen bezüglich der Ausführung einer Handlung des Typs actk, die als Einträge mit dem Überzeugungsinhalt int(j, actk) in Liste L vorliegen, in einer zweiten Liste L2k gesammelt. Die Länge |L2k | der Liste L2k wird mit der in tmpcnt/1 gemerkten Länge verglichen. 1. 2.
Wenn |L2k | (tmpcnt) ist, fährt die Regel mit dem nächsten Element aus Liste L fort, d.h. i’s nächster Intention int(i,actk + 1). Wenn |L2k | > (tmpcnt) ist, wird mit der Regel check_neg_trg/2 (siehe unten) geprüft, ob ein negativer Trigger für eine Handlung des Typs actk zum aktuellen Zeitpunkt definiert ist. Ist dies nicht der Fall, wird dem Prädikat tmpcnt/1 das neue Maximum zugewiesen. Wenn ein negativer Trigger
126
4 Simulation einer sozialen Praxis
ermittelt wurde, fährt die Regel mit do_max_calc/4 mit der Überprüfung des nächsten Elements der Liste L, d.h. i’s nächster Intention int(i,actk + 1) fort. Das Prädikat check_neg_trg/2 prüft, ob ein negativer Trigger für die Herausbildung der Intention, eine Handlung vom Typ act auszuführen, definiert ist. Der Wert n des Parameters meetings_per_year/1 wird ermittelt und die Zeiteinheit m = t % n des aktuellen Zeitpunkts wird berechnet. Zunächst wird geprüft, ob ein positiver Trigger ptrg(trg_time, act) definiert ist. Da für positiv getriggerte Handlungen implizit angenommen wird, dass an allen Zeiteinheiten, an denen m trg_time ist, ein negativer Trigger besteht, wird die Herausbildung dieser Intentionen in diesem Falle unterdrückt. Wenn kein positiver Trigger für die Handlung vom Typ act ermittelt wurde, prüft die Regel, ob ein negativer Trigger ntrg(trg_time, act) definiert ist. Wenn m mit trg_time unifiziert werden kann, wird die Herausbildung der Absicht, die Handlung vom Typ act am Zeitpunkt t auszuführen, ebenfalls unterdrückt. Die Schleife endet, wenn alle Elemente der Liste L überprüft wurden. Wurde ein maximales Element ermittelt sendet Agentin i eine Nachricht an alle Agentinnen j von denen sie annimmt, dass sie die Absicht teilen, die gewählte Handlung auszuführen - sie selbst eingeschlossen. Diese Vorschläge werden mit dem dynamischen Prädikat mail(i,j,trg(act)) in die persönlichen Briefkästen aller Agentinnen j eingetragen. Wenn es kein eindeutiges Maximum gibt, sondern zwei oder mehrere Elemente gleich häufig vorkommen, wird die erste dieser Handlungen von dem Algorithmus gewählt. Die Regel suggest_action/2 Das Regel suggest_action/2 generiert die Vorschläge der Agentinnen für die durchzuführende Gruppenhandlung anhand der in ihrem persönlichen Briefkasten gesammelten Vorschläge der anderen Agentinnen. Diesmal werden alle Agentinnen mit dem Prädikat activate/3 in einer zufällig generierten Reihenfolge aktiviert (vergleiche 4.3.6.2). Für jede Agentin i werden folgende Aktionen durchgeführt: Zuerst wird das Prädikat check_mail/4 angewendet. In Abhängigkeit von der Belegung des Parameters update_belief/1 wird i’s Überzeugungsbasis Bt,i aktualisiert. Wenn (update_belief) = yes ist, wird für alle in i’s Briefkasten gesammelten Nachrichten die Regel expand_belief/3 angewendet. Expand_belief/3 fügt der Überzeugungsbasis von Agentin i für jeden Vorschlag für eine gemeinsame Handlung eines Typs act, den sie von einer anderen Agentin j
4.3 Die Implementierung der Simulationen
127
erhalten hat die entsprechende Überzeugung bel(i,bel(j,int(j,act ))) hinzu, wenn diese noch nicht vorhanden ist. Diese Regel reflektiert folgende Situation: Wenn eine Agentin einen Vorschlag für eine gemeinsame Handlung macht, dann ist die Annahme berechtigt, dass sie auch selbst beabsichtigt daran teilzunehmen. Wenn mich meine Freundin fragt, ob ich Lust habe, morgen mit ihr ins Kino zu gehen, habe ich also einen berechtigten Grund, anzunehmen, dass sie auch selbst ins Kino gehen möchte. Danach werden alle Vorschläge trg(act) für Gruppenhandlungen aus den Nachrichten mail(j,i,trg(act)) in i’s persönlichen Briefkasten in einer Liste L gesammelt. Diese Vorschläge werden mit der Regel check_mail_int/5 mit i’s eigenen Intentionen abgeglichen. Wenn ein Vorschlag für eine gemeinsame Handlung nicht zu i’s eigenen Intentionen passt, wird der Eintrag aus der Liste L gelöscht. Da der vorgestellte Algorithmus zur Generierung der individuellen Vorschläge vorsieht, dass die Agentinnen sich selbst auch einen Vorschlag schicken, beinhaltet die Liste L nach der Ausführung von check_mail_int/5 mindestens ein Element. Nun wählt Agentin i ihren Vorschlag für die Gruppenhandlung aus den in Liste L gesammelten Vorschlägen aus. Dieser Vorschlag wird durch Hinzufügen des dynamischen Prädikats preferred_action/4 zur Faktenbasis an die Public Mailbox gesendet. Die Regel get_preferred_action/2 beschreibt die Auswahl der bevorzugten Gruppenhandlung aus den in Liste L gesammelten Vorschlägen der Form trg(actk). Die Ermittlung der bevorzugten Handlung actt,i, erfolgt mit folgendem Algorithmus: 1.
2.
Bevorzugt wählt Agentin i die Handlung, die am häufigsten vorgeschlagen wurde, wenn sie zu i’s Handlungsabsichten passt. Es sei daran erinnert, dass, da die Menge Bt der Überzeugungen aller Agentinnen sich widersprechende Überzeugungen enthalten kann, es vorkommen kann, dass einige Agentinnen j einen Vorschlag für eine Handlung schicken, von der sie annehmen, dass Agentin i sich beteiligen möchte, aber i dies nicht beabsichtigt. In diesem Fall versucht Agentin i die Handlung zu wählen, die an zweiter Stelle steht usw. Wenn es kein eindeutiges Maximum gibt, d.h. zwei oder mehrere Handlungen wurden gleich häufig vorgeschlagen, wird aus allen Vorschlägen zufällig eine Handlung ausgewählt, die zu Agentin zu i’s Handlungsabsichten passt. Dies trägt zur Dynamik der sozialen Praxis bei. Da die Generierung der Vorschläge der Agentinnen nur aus der Menge Bt erfolgt, kann es vorkommen, dass die Durchführung einer gemeinsamen Handlung eines Typs actk zwar von vielen Agentinnen prinzipiell beabsichtigt ist, aber diesbezügliche Überzeugungen nur schwach in der Überzeugungsmenge Bt vertreten
128
4 Simulation einer sozialen Praxis
sind. Wenn jedoch immerhin eine Agentin glaubt, dass viele andere Gruppenmitglieder an der Ausführung dieser Handlung interessiert sind und die Handlung dann vorschlägt, kann durch dieses Verfahren auch diese Handlung als Gruppenhandlung gewählt werden. Auch wenn, da jeder Vorschlag als eigenes Element in Liste L repräsentiert ist, die Wahrscheinlichkeit immer noch höher ist, dass eine Handlung gewählt wird, die von mehreren Agentinnen vorgeschlagen wurde, wird dadurch mehr Abwechslung bei der Auswahl der Gruppenhandlungen erzielt. Schließlich wird mit dem Prädikat out_action/4 Agentin i’s Vorschlag actt,i,k an die Public Mailbox gesendet, d.h. out_action/4 kennzeichnet den Vorschlag mit dem dynamischen Prädikat preferred_action/4 und fügt ihn der Faktenbasis im Speicher hinzu. Zusätzlich wird der Vorschlag im Result-File protokolliert Somit enthält die Public Mailbox, nachdem alle Agentinnen mit activate/3 aktiviert wurden, einen Vorschlag von jeder Agentin. 4.3.6.5 Die Auswahl der Gruppenhandlung Das Prädikat choose_action/3 generiert aus den in der Public Mailbox gesammelten Vorschlägen der Agentinnen den Trigger für die Durchführung einer gemeinsamen Handlung am Zeitpunkt t. Die Regel choose_action/2 repräsentiert den Zeitabschnitt z2 des Simulationkerns (siehe 4.3.6.1). Wurde Zeitabschnitt z1 durch zwei unterschiedliche Regelmengen realisiert, die verschiedene Modellklassen der sozialen Praxis des Gruppenlebens von Freizeitgruppen charakterisieren, wird ab jetzt die gleiche Regelmenge für beide Modellklassen verwendet. Ebenso wird in den Zeitabschnitten z2 und z3 die individuelle Sicht verlassen. Wurde die vom Prädikat kernel/2 im Zeitabschnitt z1 benutzten Regeln in einer Schleife für jede teilnehmende Agentin angewendet, werden sowohl choose_action/2 (z2 ) als auch common_action/2 (z3 ) an jedem Zeitpunkt t nur einmal für die Gruppe I ausgeführt. In der Public Mailbox befindet sich nun für jede aktive Agentin i I ein Vorschlag preferred_action(r, t, i, act) für ihre bevorzugte Gruppenhandlung. Aus diesen Vorschlägen wird der Trigger für die Durchführung der Gruppenhandlung mit folgendem Algorithmus ermittelt: 1. 2.
Aus den Vorschlägen in der gemeinsamen Mailbox wird die Handlung gewählt, die am häufigsten vorgeschlagen wurde (bevorzugte Regel). Sind dies mehrere Handlungen, so wird eine der Handlungen mit der höchsten Anzahl an Vorschlägen im Zufallsverfahren ermittelt (Ersatzregel).
4.3 Die Implementierung der Simulationen
129
Die Bildung des Triggers zur Durchführung einer gemeinsamen Handlung des Typs act ist eine hinreichende, aber erforderliche Bedingung, um die Durchführung der gemeinsamen Handlung actt,k in common_action/3 auszulösen. Die gewählte Handlung wird im dritten Argument von choose_action/3 zurückgeliefert. 4.3.6.6 Die Simulation der Gruppenhandlung Die Regel common_action/3 simuliert die Durchführung einer gemeinsamen Handlung vom Typ act. Sie repräsentiert den Zeitabschnitt z3 des Simulationkerns (siehe 4.3.6.1). Die Instantiierung des dritten Parameters Act, der die durchzuführende Gruppenhandlung enthält, mit (Act) = act dient als ausreichende Bedingung, um die Durchführung der gemeinsamen Handlung auszulösen. Natürlich wird hier, im Gegensatz zu einem produktiven Multiagentensystem keine wirkliche Handlung ausgeführt (vergleiche Abschnitt 3.3). In dieser Simulationsstudie geht es vielmehr um die Veranschaulichung, wie sich eine real existierende Gruppe auf eine gemeinsame Handlung einigen könnte, wie sich die Gruppe im Laufe der Zeit entwickeln könnte und welche Faktoren daran beteiligt sind. Dennoch könnten auch in einer Simulationsstudie noch weitere Differenzierungen anhand der verschiedenen Handlungstypen vorgenommen werden (siehe 4.3.5.2). Sollte dies wünschenswert sein, könnte das Prädikat common_action/3 erweitert werden und so eine Differenzierung einfach in den vom Prädikat kernel/2 vorgegebenen Rahmen eingefügt werden. Der Schwerpunkt dieser Simulationsstudie wurde jedoch auf die Herausbildung der gemeinsamen Handlungsabsicht gelegt. Die Regel common_action/3 macht somit nur einen Eintrag in der Protokolldatei. Der protokollierte Fakt common_action(r, t, act) gibt an, dass die Gruppe in Lauf r am Zeitpunkt t eine Handlung vom Typ act ausgeführt hat. 4.3.6.7 Die Bewertung der Gruppenhandlung Nach der Durchführung der gemeinsamen Handlung wird der Erfolg der Handlung bewertet. Da die Interessen der Agentinnen unterschiedlich sein können, d.h. normalerweise nicht alle Agentinnen die gleiche Handlung ausführen wollten, wird auch die Beurteilung der durchgeführten Handlung unterschiedlich ausfallen. Für beide Modellklassen erfolgt daher die Bewertung des Erfolgs der gemeinsamen Handlung nur auf der individuellen Ebene. Zusätzlich wird jedoch auch der Erfolg der sozialen Praxis in der Gesamtheit betrachtet, in unserem Fall
130
4 Simulation einer sozialen Praxis
also das Gruppenleben der Freizeitgruppe in Bezug auf die bereits vergangenen Zeitpunkte. Wurden in der Vergangenheit viele erfolgreiche Handlungen durchgeführt, werden die Agentinnen gerne daran festhalten. Treten aber wiederholt Misserfolge auf, z.B. dass wiederholt nicht genügend Mitglieder am Treffpunkt erschienen sind, ist irgendwann eine Schwelle erreicht, an der sich die Frage stellt, ob es sinnvoll ist, die soziale Praxis noch fortzuführen. Hier sind in der Erfolgsbewertung zwei Ebenen vorgesehen: Die Bewertung der Schwelle für die weitere Beteiligung an der sozialen Praxis findet sowohl auf individueller Ebene, als auch für die Gesamtheit der Gruppe statt. Somit gibt es folgende Kriterien der Erfolgsbewertung auf der individuellen Ebene: 1. 2.
3.
Die Agentin bewertet den Erfolg der durchgeführten Handlung (Regel evaluate_action/4). Die Agentin bewertet den Erfolg ihrer Mitgliedschaft in der Gruppe. Wenn die Erfolgsrate ihrer Beteiligung am Gruppenleben, d.h. der Anteil der erfolgreichen Handlungen an der Gesamtheit der Handlungen, unterhalb einer gewissen Schwelle ist, verlässt die Agentin die Gruppe (Regel check_threshold/3). Die Bewertung der Schwelle für die Fortführung des Gruppenlebens für die Gesamtheit der Agenten erfolgt zu Beginn eines Simulationszyklus im Prädikat mainloop/2 (siehe 4.3.6).
Parameter für die Erfolgsbewertung Der Erfolg einer Gruppenhandlung wird in Abhängigkeit von der Einstellung bewertet, die die Agentin gegenüber der Durchführung der Handlung hatte. Die sogenannte Erfolgsrate ist die Wahrscheinlichkeit, ausgedrückt als Prozentsatz, dass die Agentin i die die durchgeführte Handlung als erfolgreich beurteilt. Drei Parameter dienen dazu, unterschiedliche Erfolgsraten für die durchgeführte Gruppenhandlung festzulegen:
rate_s/1 gibt die Erfolgsrate an, wenn die Handlung Agentin i’s bevorzugte Handlung war, rate_i/1 gibt die Erfolgsrate an, wenn die Handlung intendiert, aber nicht i’s bevorzugte Handlung war, rate_ni/1 gibt die Erfolgsrate an, wenn die Handlung zuvor von Agentin i nicht intendiert war.
4.3 Die Implementierung der Simulationen
131
Der letzte Parameter, rate_ni/1, könnte überraschend sein: wie kann eine Handlung für eine Agentin erfolgreich sein, wenn sie zuvor nicht die Absicht hatte, sie auszuführen? Diese Einstellung soll folgende Situation reflektieren: während des Prozesses der Bildung der geteilten Absicht eine gemeinsame Handlung durchzuführen, der in Zeitabschnitt z1 eines Kernzyklus simuliert wird, kann es vorkommen, dass eine Agentin eine Handlungsabsicht nachträglich aufbaut. Insbesondere der Diskussionsprozess, der mit der Regelmenge “negotiate” simuliert wurde, spiegelt ein Szenario für eine derartige Situation wider. Sowohl für Überzeugungen als auch für Intentionen gilt, dass das Fehlen eines Fakts in der Menge der Einstellungen entweder die Ablehnung des Agenten bedeuten kann, sich an der Handlung zu beteiligen oder aber, dass die Haltung bezüglich der Handlung unbestimmt ist. Wenn dies der Fall ist und eine Agentin einen Vorschlag erhält, sich an der Handlung zu beteiligen, kann es sein, dass sie aus einer Art Pflichtgefühl gegenüber der Gruppe mitmacht. Oder sie denkt: “Warum nicht? Vielleicht sollte ich es einfach mal ausprobieren?” und wird an der gemeinsamen Handlung teilnehmen. Und vielleicht, wenn sie danach zufrieden ist, wird sie die Handlung als erfolgreich beurteilen. In wirklichen Gruppen ist die Absicht natürlich schon vor der Durchführung der Handlung vorhanden. Aber da die Programmregeln am Ende des Diskussionsprozesses die Intentionen der Agentinnen nicht mehr auswerten, wird dieser Fall an dieser Stelle miteinbezogen. Im Erfolgsfall wird die Handlungsabsicht, sowie die zugehörigen Überzeugungen für spätere Zeitpunkte hinzugefügt. Jedem der drei Parameter sollte ein Wert n N, 0 n 100, zugewiesen werden, der die Erfolgswahrscheinlichkeit in Prozent angibt. Auch wenn die Programmregeln nur überprüfen, ob der Wert innerhalb seines Definitionsbereichs und ob für (rate_ni) = success_rate1, (rate_i) = success_rate2, (rate_s) = success_rate3 gilt, dass success_rate 1 < success_rate 2 success_rate3 sollten in Bezug auf die zu simulierende soziale Praxis sinnvolle Werte gewählt werden. Wenn die soziale Praxis nur eine geringe Variation der Handlungen beinhaltet, könnte es zum Beispiel sinnvoll sein, nicht zwischen vorgeschlagenen und prinzipiell intendierten Handlungen zu unterscheiden. Bei einer höheren Variationsmöglichkeit der Handlungen könnten Staffelungen wie success_rate1 = 20, success_rate 2 = 60, and success_rate 3 = 80 oder success_rate 1 = 30, success_rate2 = 70, und success_rate3 = 90 sinnvoll sein. Natürlich kann man durch die Belegung success_rate1 = 0 erreichen, dass zuvor nicht intendierte Handlungen nie erfolgreich sind, oder durch success_rate3 = 100, dass bevorzugte Handlungen immer erfolgreich sind oder durch success_rate2 = success_rate3, dass bevorzugte Handlungen genauso wie andere prinzipiell intendierte Handlungen bewertet werden.
132
4 Simulation einer sozialen Praxis
Die Regel evaluate_action/4 Die Regel evaluate_action/4 bewertet den Erfolg bzw. Misserfolg einer gemeinsamen Handlung des Typs act für eine Agentin i am Zeitpunkt t. In jedem der oben beschriebenen drei Fälle wird der Erfolg der Handlung actt mit folgendem Algorithmus berechnet: Mit dem Prädikat random/2 wird eine Zufallszahl r, 1 r 100 angefordert. Die Zufallszahl r wird mit der der Einstellung der Agentin i entsprechenden success_ratek, k {1, 2, 3} verglichen und wie folgt bewertet: 1. 2.
Wenn r success_ratek, dann wird actt als erfolgreich betrachtet. Wenn r > success_ratek, dann wird actt als nicht erfolgreich betrachtet.
Die Regel evaluate_action/4 wird im Prädikat kernel/2 in einer Schleife für alle aktiven Agentinnen i I in aufsteigender Reihenfolge angewendet. Zuerst wird die Regel success_level/4 für alle Agentinnen i I ausgeführt. Die Regel success_level/4 ist in zwei Ausprägungen spezifiziert: 1.
2.
Die erste Spezifikation von success_level/4 wird angewendet, wenn die gemeinsame Handlung actt die bevorzugte Handlung von Agentin i war, d.h. von ihr als Gruppenhandlung vorgeschlagen wurde. Für die Bewertung des Erfolgs der Handlung wir success_rate3 verwendet. Nur wenn actt für die Agentin i nicht erfolgreich war, ändert sich ihre Einstellungsmenge ATTi. Agentin i revidiert ihre Intention, eine Handlung des Typs act auszuführen und die entsprechenden Überzeugungen. Die Überzeugungen, bezüglich der Ausführung einer Handlung des Typs act, die andere Agentinnen betreffen, werden beibehalten. Die zweite Spezifikation von success_level/4 wird angewendet, wenn die gemeinsame Handlung actt nicht die bevorzugte Handlung von Agentin i war. Mit dieser Spezifikation der Regel success_level/4 sind zwei Fälle abgedeckt: a)
Die gemeinsame Handlung act ist eine intendierte Handlung. Für die Bewertung des Erfolgs der Handlung wird success_rate2 verwendet. In diesem Fall wird wie bei der bevorzugten Handlung verfahren. Nur wenn actt für die Agentin i nicht erfolgreich war, ändert sich ihre Einstellungsmenge ATTi. Agentin i revidiert ihre Intention, eine Handlung des Typs act auszuführen und die entsprechenden Überzeugungen. Die Überzeugungen, bezüglich der Ausführung einer Handlung des Typs act, die andere Agentinnen betreffen, werden beibehalten.
4.3 Die Implementierung der Simulationen
133
b) Die gemeinsame Handlung actt gehörte zuvor nicht zu den intendierten Handlungen von Agentin i. Für die Bewertung des Erfolgs der Handlung wird success_rate1 verwendet. Nun findet in beiden Fällen eine Aktion statt. -
-
Wenn die Handlung actt für Agentin i erfolgreich war, wird die Intention eine Handlung des Typs act und die diesbezüglichen Überzeugungen zur Menge der Einstellungen ATTi von Agentin i hinzugefügt. Wenn die Handlung actt für Agentin i nicht erfolgreich war, wird die Regel no_success/4 angewendet. Diese Regel generiert durch Hinzufügen des dynamischen Prädikats hist(no_success(r, t, i, act)) einen Eintrag des Misserfolgs in die Historie. Diese Einträge bleiben während eines Simulationslaufs erhalten und werden als Kriterien zur Ermittlung der individuellen Schwelle einer Agentin, die Gruppe zu verlassen, herangezogen. Diese wird am Ende des Prädikats no_success/4 durch die Regel check_threshold/3 ermittelt.
Die unterschiedliche Behandlung von nicht erfolgreichen Gruppenhandlungen in Abhängigkeit davon, ob sie zuvor intendiert oder nicht intendiert waren, versucht folgende Situation zu reflektieren: Wenn eine Handlung, die ich vielleicht sogar vorgeschlagen oder zumindest befürwortet habe, ein Reinfall war, werde ich deshalb nicht sofort meine Mitgliedschaft in der Gruppe in Frage stellen, sondern zuerst die betreffende Handlung. Wenn aber die Gruppe wiederholt Handlungen durchführt, an denen ich mich nicht beteiligen möchte, werde ich mir sehr wohl darüber Gedanken machen, ob es für mich noch Sinn macht, in meiner Freizeit etwas mit Leuten unternehmen zu wollen, die meine Interessen nicht teilen. check_threshold/3 – die Schwellenbewertung Die Schwellenbewertung dient dazu, den Erfolg der Teilnahme der Agentinnen am Gruppenleben in seiner Gesamtheit zu bewerten. Wenn die subjektive Bewertung des Erfolgs unterhalb einer gewissen Schwelle ist, wird die Einstellung sich am Gruppenleben der Freizeitgruppe zu beteiligen nicht mehr aufgebaut und die Agentin verlässt die Gruppe. Zwei Kriterien können für die Ermittlung der Schwelle herangezogen werden: 1.
Die Schwelle wird mit der Fehlerrate der Gruppenhandlungen ermittelt.
134 2.
4 Simulation einer sozialen Praxis
Die Schwelle wird durch aufeinanderfolgende, nicht erfolgreiche Handlungen ermittelt.
Beide Kriterien können durch Programmparameter gesteuert werden. Der Parameter failure_rate/1, fr R+, 0 < fr 1 definiert die Rate der akzeptablen Misserfolge, subsequent_failures/1, n N+, definiert die Anzahl der aufeinanderfolgenden akzeptablen Misserfolge. Beide Parameter sind allgemeine Einstellungen. Obwohl die Schwelle für jede Agentin individuell ermittelt wird, werden für alle Agentinnen gleiche Bewertungsgrundlagen angenommen. 1.
Die Regel check_threshold/3 beginnt mit der Berechnung der Fehlerrate von Gruppenhandlungen für eine Agentin i zum Zeitpunkt t. Der Wert (failure_rate) = fr des Parameters failure_rate/1 wird ermittelt. Dann werden alle Historieneinträge hist( no_success(r, t, i, act)) nicht erfolgreicher Handlungen für Agentin i mit dem Prolog-Standardprädikat findall/3 in der Liste L gesammelt. Die Schwellenbewertung erfolgt in Abhängigkeit von den vergangenen Zeitpunkten: Der Indikator für den aktuellen Zeitpunkt t, der gleichzeitig die Anzahl der bereits durchlaufenen Zeitpunkte angibt, wird mit der akzeptierbaren Fehlerrate fr multipliziert, um die Anzahl der akzeptierbaren Misserfolge zu erhalten. Wenn die Anzahl der aufgetretenen Misserfolge, die durch die Anzahl der Element in Liste L gegeben ist, größer ist als die Anzahl der akzeptierbaren Misserfolge, ist die Schwelle erreicht, dass die Agentin i die Gruppe verlässt, d.h. wenn |L| > t * fr , dann verlässt Agentin i die Gruppe I. Wenn beispielsweise eine Agentin am Zeitpunkt 5 bereits drei Misserfolge hatte, und (failure_rate) 0.5 ist, wird sie Gruppe verlassen. Natürlich ist im Normalfall, wenn die Erfolgsrate rate_ni/1 für zuvor nicht intendierte Handlungen auf einen geringen Wert gesetzt ist, am ersten Zeitpunkt die Wahrscheinlichkeit besonders hoch, dass eine Agentin die Gruppe verlässt, wenn die Gruppe eine Handlung wählt, die sie nicht ausführen möchte. Aber auch in wirklichen Gruppen ist die Wahrscheinlichkeit relativ hoch, dass in der Phase der Entstehung einer Gruppe die Personen die Gruppe wieder verlassen, deren Interessen nicht berücksichtigt werden. Die Berechnung des Misserfolgs in Relation zu den vergangenen Zeitpunkten bewirkt daher, dass die Wahrscheinlichkeit, dass Agenten die Gruppe verlassen am Anfang des Gruppenlebens am höchsten ist. Danach stabilisiert sich der Gruppenkern und damit auch die soziale Praxis.
4.3 Die Implementierung der Simulationen
2.
135
Wenn die Anzahl der nicht erfolgreichen Handlungen die Anzahl der akzeptablen Misserfolge nicht übersteigt, wird die zweite Bedingung überprüft. Das Prädikat check_subsequent_failures/3 wird am Ende der Regel check_threshold/3 angewendet, um zu überprüfen, ob die Anzahl der akzeptablen aufeinanderfolgenden Misserfolge erreicht ist. Der Wert ( subsequent_failures) = n des Parameters subsequent_failures/1 wird ermittelt. Die Regel get_subsequent_failures/3 sucht rekursiv nach Historieneinträgen hist(no_success(r, t , i, _)). Mit Hilfe des temporären Zählers sf, 1 sf n, wird die Anzahl der aufeinanderfolgenden Misserfolge ermittelt. Wird ein Historieneintrag hist(no_success(r, t , i, _)) am Zeitpunkt t gefunden, wird sowohl t als auch sf dekrementiert. Die Suche wird beendet, wenn a)
kein weiterer Historieneintrag gefunden wird, d.h. die Anzahl der nicht akzeptablen aufeinanderfolgenden Misserfolge nicht erreicht wurde, oder b) sf = n ist, d. h. die Anzahl der akzeptablen aufeinanderfolgenden Misserfolge erreicht wurde. Die beiden Kriterien zur Ermittlung der Schwelle für die Beteiligung an der sozialen Praxis können alternativ oder kombiniert eingesetzt werden. Wie die Parameter und welche der Parameter verwendet werden, sollte von der Art der sozialen Praxis abhängen. Bei einer Gruppe, die viele verschiedene Handlungen durchführt, kann sehr wohl bereits der Typ der durchgeführten Handlung den Ausschlag für den Misserfolg geben, während bei einer Gruppe, deren Handlungsspektrum auf eine oder wenige Handlungen begrenzt ist, wohl weitere Kriterien herangezogen werden. Jemand der das Fußballspiel prinzipiell verabscheut wird sich kaum einer Gruppe von Freizeitkickern anschließen. Insofern ist der Anteil der gemeinsamen Intentionen bei solchen Gruppen hoch anzusetzen, bei Gruppen wie Freizeitkickern am Anfang wohl hundert Prozent. Bei der Bewertung von Misserfolgen wird hier nicht der Typ der durchgeführten Handlung im Vordergrund stehen, sondern die Art und Weise der Durchführung, die sich vielleicht erst im Laufe der Zeit herausstellt. Bei Freizeitkickern könnte es sich z.B. um einen zu großen Unterschied im Leistungsstand oder in der Spielweise handeln. In diesem Fall wäre für die Ermittlung der individuellen Schwelle für die Fortführung der Praxis der Parameter subsequent_failures/1 dem Parameter failure_rate/1 vorzuziehen. Der alternative Einsatz dieser Kriterien kann durch „Ausschalten“ eines Parameters bewirkt werden, z.B. durch die Belegung ( failure_rate) = 1 oder ( subsequent_failures) > 20 (vergleiche 5.4.2). Bei einem kombinierten Einsatz beider Parameter kann failure_rate/1 eingesetzt werden, um das generelle Merkmal abzubilden, dass sich eine soziale
136
4 Simulation einer sozialen Praxis
Praxis nach einer Anfangsphase stabilisiert. Die zweite Bedingung subsequent_failures/1 dient dazu, eine Verbesserung der Simulationsergebnisse im Bezug auf einzelne Agenten im Langzeitverhalten zu erzielen. So kann es geschehen, dass die Mehrheit der Agenten wiederholt Handlungen ausführt, an denen eine bestimmte Agentin nicht teilnehmen möchte. Die Vorschläge der Agentin werden ignoriert und die Agentin wird isoliert. Der Algorithmus für die Schwellenbewertung nur auf Grundlage des Parameters failure_rate/1 ist nicht in der Lage, diese Situation zu erfassen. Wenn eine Agentin am Zeitpunkt 100 zehn Misserfolge zu verzeichnen hatte, müsste failure_rate/1 mit einem Wert kleiner 0.1 belegt sein, damit die Agentin die Gruppe verlässt. Da bei den Misserfolgen auch durch persönliche Umstände verursachte Verhinderungen wie Urlaub oder Krankheit einbezogen sind, sollten zehn Prozent für eine Agentin normalerweise kein Problem darstellen, wenn der Rest des Gruppenlebens erfolgreich ist. Aber wenn mehrere Misserfolge aufeinander folgen, kann es sehr wohl ein Grund sein, frustriert die Gruppe zu verlassen. Wenn die Schwelle für eine Agentin i erreicht ist, ihre Teilnahme am Gruppenleben der Gruppe I aufzugeben, wird das Prädikat retract_att/3 ausgeführt. Agentin i’s Einstellungsmenge ATTi und alle Überzeugungen der anderen Agentinnen j I über Agentin i’s intendierte Handlungen werden vollständig aus der Faktenbasis entfernt. 4.3.6.8 Dynamik der zu Grunde liegenden Einstellungen Nach der Erfolgs- und Schwellenbewertung endet der Kernel-Zyklus, der ein Muster der sozialen Praxis des Gruppenlebens einer Freizeitgruppe an einem Zeitpunkt t simuliert. Das Prädikat gen_next_ints/2 am Ende der Regel evaluate_action/4 regelt den Zustandsübergang zum nächsten Zeitpunkt t + 1. Insgesamt ergibt sich nach dem Zustandsübergang folgende Beschreibung der Menge der individuellen Einstellungen: 1.
Für jede Agentin i I, für die die Mitgliedschaft in der Gruppe noch erfolgreich ist, wurde die Menge der Einstellungen ATTt,i nach Zeitpunkt t + 1 übernommen. In Abhängigkeit von i’s Betrachtung des Erfolgs der gemeinsamen Handlung common_action(r, t, act), hat die Menge der Einstellungen ATTt + 1,i folgende Eigenschaften:
137
4.3 Die Implementierung der Simulationen
a)
i betrachtete die Handlung common_action(r, t, act) als erfolgreich. Wenn i intendiert hat, an der Handlung common_action(r, t, act) teilzunehmen, dann gilt ATTt
+ 1,i
= ATTt ,i
Wenn i nicht intendiert hat, an der Handlung common_action(r, t, act) teilzunehmen, dann gilt ATTt + 1,i = ATTt , i { int(t, i, act)}, wenn (rule_set) = get_random, ATTt + 1,i = ATTt , i { int(t, i, act), bel(i,bel(i,int(i,act )))}, wenn (rule_set) = negotiate.
b) i betrachtete die Handlung common_action(r, t, act) als nicht erfolgreich. Wenn i intendiert hat, an der Handlung common_action(r, t, act) teilzunehmen, dann gilt ATTt + 1,i = ATTt , i \ { int(t, i, act)}, wenn (rule_set) = get_random, ATTt + 1,i = ATTt , i \ { int(t, i, act), bel(i,bel(i,int(i,act )))}, wenn (rule_set) = negotiate.
Wenn i nicht intendiert hat, an der Handlung common_action(r, t, act) teilzunehmen, dann gilt ATTt
2.
+ 1,i
Bei allen Agentinnen j R, für die der Erfolg ihrer Mitgliedschaft in der Gruppe unterhalb der Schwelle lag, endet die Teilnahme an der sozialen Praxis. Die Menge der Einstellungen ATTt,j von Agent j’s wird gelöscht. ATTt
3.
= ATTt ,i
+ 1,j
=(
Die Menge der Einstellungen ATTt+1 besteht somit aus der Vereinigung der individuellen Einstellungen der noch teilnehmenden Agentinnen i I abzüglich aller Einstellungen der nicht mehr teilnehmenden Agentinnen j R.
ATTt )1 ' ATTt )1,i iI
\
ATT
t,j
jR
138
4 Simulation einer sozialen Praxis
Da ein nachträgliches Hinzukommen von neuen Agenten im Simulationsprogramm nicht vorgesehen ist, verringert sich normalerweise die Anzahl von Agentinnen i I im Laufe der Zeit, während die Anzahl der Agentinnen j R steigt. 4.3.6.9 Das Ende der sozialen Praxis Da mit dem vorliegenden Simulationsprogramm durch die Einstellungen in der Parameterdatei verschiedene Arten von Freizeitgruppen simuliert werden können, ist es schwierig, ein allgemeines Kriterium anzugeben, das besagt, wann eine soziale Praxis aufgegeben wird. Für soziale Praktiken wie ein regelmäßiges Treffen zu einer Kartenspielrunde ist es einfach, solch ein Kriterium zu finden. Die Kartenspielrunde wird wohl dann aufgegeben, wenn nicht mehr genügend Teilnehmer erscheinen, um das Kartenspiel durchzuführen. Für diese Fälle kann mit dem Parameter min_agents/1, n N+, n 2 eine untere Grenze angegeben werden. Für eine Gruppe von der Art der Beispielgruppen ist es schwieriger, ein passendes Kriterium zu finden. Auch wenn sich Gruppenmitglieder im Laufe der Zeit aus verschiedenen Gründen vom Gruppenleben verabschieden, kann es sein, dass das Ende nicht wirklich definiert wird. Entweder man verabredet sich immer seltener, und irgendwann schläft das Gruppenleben einfach ein, oder ein Kern von zwei oder drei Personen bleibt übrig, der sich sowieso regelmäßig trifft, und der Übergang von der sozialen Praxis eines “organisierten” Gruppenlebens zur sozialen Praxis der freundschaftlichen Verabredung ist fließend. In solchen Fällen sollte der Parameter min_agents/1 mit 2 belegt werden. Die soziale Praxis des Gruppenlebens einer Freizeitgruppe endet, wenn sich die beiden letzten Mitglieder nicht mehr auf eine gemeinsame Handlung einigen können. Ob die Anzahl der verbliebenen Agentinnen n (min_agent) ist, wird zu Beginn eines Zyklus mit dem Prädikat continue_practice/0 zu Beginn des Prädikats kernel/2 überprüft (vgl. 4.3.6.1). Häufig, insbesondere dann, wenn hohe Werte für die Parameter percent_int/1 und percent_bel/1 gewählt wurden, tritt dieser Fall nicht ein. In diesen Fällen terminiert lediglich der Simulationslauf, wenn die Anzahl der maximal zu durchlaufenden Zeitpunkte t = max_time erreicht ist.
4.4 Die Ausgabe der Simulationen Die Ausgabe des Simulationsprogramms SimSoP.pl dient als Eingabe für die Analyse-Tools. Wie bereits erwähnt, erfolgt die Analyse der Simulationsergeb-
4.4 Die Ausgabe der Simulationen
139
nisse mit eigenständigen Prolog-Programmen (vgl. 5.3). Die für die Analyse relevanten Informationen werden während eines Simulationslaufs in verschiedenen Dateien protokolliert. Die Ausgabedaten wurden unter folgenden Gesichtspunkten strukturiert:
Die Ausgabedaten sollten für die weitere maschinelle Bearbeitung geeignet sein, sie sollten mit Hilfsprogrammen wie Editoren, Statistikprogrammen oder Tabellenkalkulationsprogrammen bearbeitet werden können, die Verarbeitung sollte performant durchgeführt werden können, die Simulationsergebnisse sollten auch für Anwender lesbar sein, um in der Lage zu sein, Überprüfungen und Stichproben durchzuführen und interessante Konstrukte zu erkennen und zu analysieren.
Die Ausgabedaten einer Folge von Simulationsläufen werden in verschiedenen Protokolldateien gespeichert: 1.
2.
3.
Die mit dem Parameter para_file/1 angegebene Datei beinhaltet a) Das Protokoll der Parameter-Einstellungen, mit denen das KernSimulationsprogramm SimSoP.pl ausgeführt wurde, b) spezielle Parameter für die Analyse-Tools, wie den Dateinamen für die Ausgabe der Programmstatistik (stat_file/1) oder die Farbeinstellungen für die grafische Ausgabe der Simulationsergebnisse (colour/1). Die unter result_file/1 angegebene Datei beinhaltet das Protokoll eines Simulationslaufs. Im Einzelnen wird an jedem Zeitpunkt die Menge der Intentionen aller teilnehmenden Agentinnen (fact/3), ihre vorgeschlagenen Handlungen (preferred_action/3), die Gruppenhandlung (common_action/3) und die Handlungen, die von Agentinnen als nicht erfolgreich bewertet wurden (no_success/3) ausgegeben. Ein Simulationsprotokoll ist für beide Regelmengen gleich strukturiert. Bei überzeugungsbasierten Simulationen wird mit dem Parameter belief_file/1 zusätzlich der Name für das Protokoll der Menge der Überzeugungen angegeben. Die Datei beinhaltet alle Überzeugungen aller aktiven Agentinnen an jedem durchlaufenen Zeitpunkt (belfact/3).
Die Verteilung der Ausgabe des Simulationsprogramms SimSoP.pl in verschiedene Dateien vereinfacht Überprüfungen durch den Benutzer – relevante Information wird zusammen gepackt – und beschleunigt sowohl die maschinelle, als auch die manuelle Auswertung. Das Protokoll einer Überzeugungsbasis kann in Abhängigkeit von den Parametereinstellungen sehr groß werden. Die Ausgabe
140
4 Simulation einer sozialen Praxis
der Überzeugungssätze einer Folge von fünfhundert Simulationsläufen mit hundert Prozent geteilten Intentionen und achtzig Prozent geteilten Überzeugungen über nur zwanzig Zeitpunkte benötigt immerhin circa ein Gigabyte Festplattenspeicher, eine Datenmenge, die auch heutzutage nicht einfach zu verarbeiten ist. Das Protokoll der Überzeugungen wird nur für die grafische Verfolgung von Simulationslaufen und für die Archivierung von Simulationsergebnissen benötigt, die statistischen Auswertungen verwenden nur die unter result_file/1 angegebene Datei und können performant durchgeführt werden. Für die grafische Verfolgung von Simulationen am Bildschirm empfiehlt es sich, auch bei kurzen simulierten Zeiträumen (max_time 20) eine geringe Anzahl aufeinanderfolgender Simulationsläufe, z.B. ebenfalls maximal zwanzig,, und bei längeren simulierten Zeiträumen (max_time 200) einzelne Läufe zu verwenden, da nicht nur die Performanz der Maschine, sondern damit auch die Aufmerksamkeit des Betrachters unter einer zu großen Datenmenge leidet.
5 Simulationsergebnisse
Das im vorigen Kapitel vorgestellte Simulationsprogramm erlaubt die Simulation verschiedener Formen der sozialen Praxis des Gruppenlebens von Freizeitgruppen. Um das generelle Verhalten der Simulationen zu untersuchen, wurde für die folgenden Auswertungen eine bestimmte Art einer Kleingruppe herausgegriffen: eine Gruppe von Frauen, die sich ungefähr einmal monatlich trifft, um gemeinsam verschiedenen Freizeitinteressen nachzugehen, z.B. kulturelle Veranstaltungen zu besuchen, gemeinsam Sport zu treiben oder sich einfach zu unterhalten. Zu Beginn dieses Kapitels werden die Kriterien diskutiert, nach denen die Simulationsergebnisse strukturiert und ausgewertet wurden. Im zweiten Abschnitt werden die verwendeten Maßnahmen zur Verifikation der Programmregeln erläutert. Im nächsten Abschnitt wird ein Tool zur grafischen Verfolgung von Simulationsläufen vorgestellt, das die Intentionen und Überzeugungen, die den Verhandlungen der Agenten über die gemeinsam durchzuführende Gruppenhandlung zu Grunde liegen, visuell dargestellt. Durch manuelles oder automatisches Vorwärtsblättern lässt sich so die Entwicklung einer Gruppe im Lauf der Zeit verfolgen. Der letzte Abschnitt befasst sich mit der Auswertung von kumulierten Simulationsergebnissen: Im Einzelnen werden a) die Auswirkung der Erhöhung des Anteils gemeinsamer Intentionen und gegebenenfalls Überzeugungen auf die Gruppenstärke überprüft, b) eine Sensitivitätsanalyse am Beispiel des Parameters failure_rate durchgeführt und c) die Herausbildung von Mustern in der Gruppenentwicklung in Abhängigkeit von der verwendeten Regelmenge untersucht.
5.1 Kriterien für die Analyse von Simulationsergebnissen Die Verifikation und Validierung (V&V) von Simulationsergebnissen ist ein gerne diskutiertes Thema bei Simulationsstudien. Für eine kleine Menge von Eingabedaten kann ein Simulationsprogramm eine beträchtliche Menge von Ausgabedaten produzieren. Im Unterschied zu logischen Folgerungen, die aus den Axiomen der Theorie deduktiv abgeleitet werden können, kann sich die Bewertung von Simulationsergebnissen wesentlich komplizierter gestalten. Durch Einsatz von Zufallsgeneratoren wird dies zusätzlich erschwert. Mittler-
142
5 Simulationsergebnisse
weile wurde eine Reihe von Methoden und Techniken zur Bewertung von Simulationsergebnissen entwickelt, die sich nach zwei Problemkreisen klassifizieren lassen: Zum einen stellt sich die Frage, ob die Modelle den zu untersuchenden Ausschnitt der Realität gut abbilden, zum anderen ob die die Modellklassen charakterisierenden Programmregeln korrekt sind. Maßnahmen zur Feststellung, ob die Simulationsmodelle gute Modelle des Zielsystems sind, werden in der gängigen Simulationsliteratur als Validierung bezeichnet, Methoden und Hilfsmittel zur Überprüfung des korrekten Programmablaufs werden als Verifikation bezeichnet. In dem vorgestellten Simulationsprogramm gibt es eine Reihe von Parametern, die dazu dienen, die zu simulierende soziale Praxis genauer zu spezifizieren. Diese werden in der Parameterdatei definiert. Dazu zählen die Menge der Agenten I, die Menge der Handlungstypen ACT, die Prozentsätze für gemeinsame Intentionen und Überzeugungen percent_int/1 und percent_bel/1 oder mögliche Trigger für die Priorisierung oder Unterdrückung der Herausbildung der geteilten Absicht, eine Handlung vom Typ act durchzuführen. Im Prinzip könnten darüber viele verschiedene Arten von Kleingruppen wie Stammtische, Literatur- bzw. Kulturzirkel oder Freizeitsportgemeinschaften simuliert werden. Eine gängige Methode zur Untersuchung des Verhaltens von Simulationen ist, die Werte einer Grundmenge von Parametern konstant zu halten und nur die Werte einzelner Parameter zu variieren. Dieses Verfahren wurde auch in den folgenden Auswertungen angewendet. Die Menge der Handlungstypen, die die Art der sozialen Praxis festlegt, wurde in allen Simulationsläufen konstant gehalten (siehe Beispielparameterdatei in Anhang B). Durch den Parameter use_old_data/1 (vergleiche 4.3.3.1) kann festgelegt werden, ob die Menge initialer Einstellungen ATT0 vor jedem Simulationslauf neu generiert wird oder nicht. Da eine spezifische Gruppe durch die Menge der teilnehmenden Agenten I und die Menge der initialen Einstellungen ATT0, also Intentionen und gegebenenfalls Überzeugungen, definiert ist, kann der Parameter use_old_data/1 verwendet werden um 1.
2.
Äquivalenzklassen von Gruppen zu bilden und somit in einer Folge von Simulationsläufen das Verhalten von verschiedenen Gruppen mit der gleichen Anzahl von Agenten und dem gleichen Prozentsatz geteilter Intentionen und Überzeugungen zu simulieren, oder in einer Folge von Simulationsläufen verschiedene mögliche Entwicklungen der gleichen Gruppe zu simulieren.
5.1 Kriterien für die Analyse von Simulationsergebnissen
143
Die erste Einstellung eignet sich besonders dazu, das generelle Verhalten der Simulationen zu untersuchen. Mit kumulierten Auswertungen über eine Menge gleichartiger Gruppen sollen folgende Thesen überprüft werden:
Die Erhöhung des Prozentsatzes geteilter Intentionen und gegebenenfalls Überzeugungen erhöht die Wahrscheinlichkeit, dass eine Gruppe zusammenbleibt. Ebenso erhöht sich die Anzahl der beteiligten Agenten. Die Verringerung der akzeptablen Misserfolge erhöht die Wahrscheinlichkeit, dass eine Gruppe sich auflöst. Ebenso verringert sich die Anzahl der beteiligten Agenten.
Neben der initialen Gruppenkonfiguration ist für den Erfolg oder Misserfolg der sozialen Praxis auch die im Programm verwendete Regelmenge von Bedeutung, die mittels des Parameters rule_set/1 eingestellt werden kann. Daher werden diese Thesen für jede Regelmenge separat untersucht. Die zweite Einstellung, also die Untersuchung verschiedener möglicher Entwicklungen der gleichen Gruppe, erlaubt eine differenziertere Untersuchung des Verhaltens der Simulationen in Bezug auf die verwendete Regelmenge. Da die unterschiedlichen Regelmengen erst in der Kernsimulation angewendet werden (siehe 4.3.6.1), können mögliche Entwicklungen der gleichen Gruppe, d.h. mit der gleichen Menge initialer Einstellungen, mit verschiedenen Regelmengen simuliert werden. Somit kann untersucht werden, wie sich das Zusammenspiel von Parametern und Regelmenge auf die Gruppenentwicklung auswirkt. Am Ende dieses Kapitels wird die Gruppenentwicklung von zwanzig verschiedenen Gruppen aus einer Äquivalenzklasse mit der gleichen Anzahl von Agenten und dem gleichen Prozentsatz geteilter Intentionen und Überzeugungen untersucht. Insbesondere wird untersucht
welche Handlungen in der jeweiligen Gruppe ausgeführt werden und welche Agenten am Gruppenleben beteiligt sind.
Bei Simulationen mit der Regelmenge negotiate ist durch Definition von positiven und negativen Triggern eine Einschränkung der Auswahl von Handlungen bestimmter Handlungstypen an verschiedenen Zeitpunkten möglich. Die Auswirkung der Definition von Triggern auf Muster der Gruppenentwicklung soll zusätzlich untersucht werden.
144
5 Simulationsergebnisse
5.2 Maßnahmen zur Verifikation der Programmregeln In den Programmregeln des Simulationsprogramms SimSoP.pl werden wiederholt Zufallszahlen berechnet, um ein nicht-deterministisches Verhalten des Systems zu simulieren. Für die Berechnung des Initialwerts des Zufallszahlengenerators (Seed) wird die Systemzeit verwendet. Eine gängige Methode zur Verifikation der Programmregeln solcher Systeme ist es, den Seed nicht variabel zu berechnen, sondern einen festen Seed zu verwenden. In diesem Falle sollte eine Folge S von Simulationsläufen s1, ..., sn mit gleicher Parameterinitialisierung identische Ergebnisse liefern. Dieses wurde auch für die vorliegende Simulationsstudie untersucht. Die Klauselmenge zur Berechnung des Seeds mittels der Systemzeit wurde auskommentiert und durch die Klausel „asserta(rdm(1000))” ersetzt. %*********************************** % initialise random generator %*********************************** randomize: % time(1,(X1)), % asserta(helprdm(X1)), % helprdm((X2,X)), % retract(helprdm(X1)), % asserta(rdm(X)). asserta(rdm(1000)).
Bei dem Test wurden nur die Parameter zur Steuerung der verwendeten Regelmenge variiert. Die Menge ACT und die Menge der positiven und negativen Trigger war die in der Beispielparameterdatei angegebene. Die übrigen Laufzeitund Konfigurationsparameter waren in den Tests konstant wie folgt belegt: runs(10). periods(200). actors(10). percent_int(60). percent_bel(60). maxlev(1). failure_rate(0.4). subsequent_failures(10). min_agents(2). rate_s(90). rate_i(70). rate_ni(20).
% number of simulation runs % number of points in time % number of agents % percentage of shared intentions % percentage of shared beliefs % belief order % acceptable failure rate % acceptable number of subsequent failures % minimal number of agents % rate if suggested % rate if intended in principle % rate if previously not intended
145
5.2 Maßnahmen zur Verifikation der Programmregeln
Die zu verwendende Regelmenge wird durch den Fakt rule_set/1 festgelegt, für den folgende Belegungen möglich sind: (rule_set) {get_random, negotiate} Für die Belegung (rule_set) = negotiate, d.h. bei den überzeugungsbasierten Verhandlungen der Agentinnen über die durchzuführende Gruppenhandlung, kann mit dem Parameter update_belief/1 eingestellt werden, ob die Agentinnen bei eingehenden Vorschlägen ihre Überzeugungsbasis anpassen. Für update_belief/1 können folgende Belegungen gewählt werden: (update_belief) {yes, no} Bei Verwendung der Regelmenge get_random wird dieser Parameter nicht berücksichtigt. Somit erhält man die drei möglichen Regelmengen R1, R2 und R3. Schließlich wurde noch jede der drei Regelmengen mit und ohne Neugenerierung des Attitude-Sets getestet, d.h. (use_old_data) {yes, no} Wenn (use_old_data) = yes ist, dann gilt, dass in jedem Simulationslauf s1, ..., sn die gleiche Menge initialer Einstellungen ATT0 verwendet wird, d.h. für alle i, 1 i n gilt ATT0,1 = ATT0,i = ATT0,n. Wenn (use_old_data) = no ist, wird vor jedem Simulationslauf die Menge der initialen Einstellungen neu generiert. Normalerweise sind dann für jedes i, 1 i n die Mengen ATT0,1, ..., ATT0,n in den einzelnen Simulationsläufen s1, ..., sn der Folge S nicht identisch. Somit erhält man sechs mögliche Testeinstellungen: Tabelle 3: Testeinstellungen für die Verifikation der Programmregeln Testeinstellung T1 T2 T3 T4 T5 T6
rule_set/1 get_random negotiate negotiate get_random negotiate negotiate
update_belief/1 no yes no yes
use_old_data/1 Yes Yes Yes No No No
146
5 Simulationsergebnisse
Pro Testeinstellung Tj, 1 j 6 muss eine Folge S von Simulationen s1, ..., sn bei gleichem Seed die gleiche Ergebnismenge liefern. Da das Prädikat randomize/0 zur Initialisierung des Zufallszahlengenerators gleich zu Beginn des Prädikats start/0 ausgeführt wird, wird der Zufallszahlengenerator nur einmal pro Folge initialisiert. Daher können die Handlungsabläufe und die Gesamtheit der Einstellungen der Agentinnen in den einzelnen Simulationsläufen s1, ..., sn einer Folge S von Simulationen sehr wohl unterschiedlich sein. Bei wiederholten Starts von Folgen Sk, 1 k m mit gleicher Testeinstellung und gleicher Initialisierung des Seeds müssen die Handlungsabläufe und die Gesamtheit der Einstellungen der Agentinnen in allen Folgen gleich sein. Für den Vergleich der Ergebnisse wurden die Simulationsprotokolle verwendet. Die produzierten Dateien resultj,1, ..., resultj,m, sowie die für überzeugungsbasierte Simulationen zusätzlich erzeugten Dateien beliefj,1, ..., beliefj,m sind pro Testeinstellung Tj bei gleicher Seed-Zuweisung identisch. Dieses Verhalten wurde in jeweils 5 Simulationsfolgen pro Testeinstellung Tj nachgewiesen41. Es gilt für alle j, 1 j 6 und für alle k, 1 k 5 result1,1 = result1,k = result1,5 resultj,1 = resultj,k = resultj,5 result6,1 = result6,k = result6,5 Zusätzlich gilt in den Testeinstellungen T2, T3, T5, und T6 für alle k, 1 k 10 belief2,1 = belief2,k = belief2,10 belief3,1 = belief3,k = belief3,10 belief5,1 = belief5,k = belief5,10 belief6,1 = belief6,k = belief6,10 Neben einem Indiz für die Korrektheit der Programmregeln bietet die Zuweisung eines festen Seeds auch eine Möglichkeit, die Ergebnisse von Simulationsläufen nach verschiedenen Kriterien vergleichen und verifizieren zu können. Beispielsweise werden Intentionstrigger bei der Modellklasse get_random für die Generierung der Vorschläge der Agenten für die Gruppenhandlung nicht berücksichtigt. Insofern müssen die Ergebnisse von Simulationsläufen mit der Modellklasse get_random bei gleichem Seed und gleichen Parametereinstellungen identisch sein, unabhängig davon, ob in der Parameterdatei Trigger definiert sind oder nicht. Auch dies wurde in den Tests verifiziert. 41 Für den Vergleich der Dateien wurde das Freeware-Programm CSDiff v5.0 (Component Software) verwendet.
5.3 Grafische Verfolgung der Gruppenentwicklung
147
5.3 Grafische Verfolgung der Gruppenentwicklung Als Hilfsmittel für die Analyse von Simulationsergebnissen wurde das PrologProgramm DispSoP.pl entwickelt. DispSoP.pl stellt Simulationsergebnisse grafisch dar und ermöglicht somit, die Entwicklung einzelner Gruppen am Bildschirm zu verfolgen. Das Programm ist in SWI-Prolog geschrieben (siehe J. Wielemaker 2006), für die grafische Aufbereitung wurde die objektorientierte Bibliothek XPCE/Prolog verwendet (J. Wielemaker und A. Anjewierden 1997). DispSoP.pl verwendet die Ausgabedateien des Simulationsprogramms SimSoP.pl, deren Dateinamen und –pfad über die Parameter para_file/1, result_file/1 und belief_file/1 in der Parameterdatei des Simulationsprogramms SimSoP.pl festgelegt werden können (siehe 4.3.3.3 „Parameter für die AnalyseTools“). Das Programm DispSoP.pl entnimmt die Parameter einer Datei mit dem festen Dateinamen „dispfile”, die sich in dem Verzeichnis befinden muss, aus dem das Programm aufgerufen wird. Der Verzeichnispfad kann mit dem Parameter disp_file/1 in der Parameterdatei des Haupt-Simulationsprogramms eingestellt werden. Die anderen Ausgabedateien können sich in beliebigen Verzeichnissen befinden, in diesem Fall muss jedoch eine Pfadangabe im Dateinamen enthalten sein42. Das Programm DispSoP.pl bereitet die Ergebnisse, die in den Ausgabedateien des Programms SimSoP.pl gespeichert wurden, grafisch auf. Jedes Fenster stellt den Zustand der Gruppe zu einem bestimmten Zeitpunkt dar. Ein Diagramm zeigt die Intentionen der Agenten und ihre Überzeugungsbasis zu diesem Zeitpunkt. Durch das Blättern von einem Zeitpunkt zum nächsten werden die Änderungen der epistemischen Einstellungen der Agenten und der Handlungsablauf, den die Gruppe durchführt, angezeigt. Durch den Parameter continue/1 kann der Blättermodus in der Parameterdatei eingestellt werden. Die Belegung (continue) = yes bewirkt, dass das Programm automatisch das nächste Fenster anzeigt. Bei der Belegung (continue) = no wird ein OK-Button angezeigt. Der Benutzer kann durch Drücken des OK-Buttons manuell zum nächsten Zeitpunkt blättern. Diese Option wurde eingerichtet, um die Möglichkeit einer genaueren Überprüfung zu bieten. Wenn man bei der automatischen Weiterschaltung inte42 Bei umfangreichen Analysen empfiehlt es sich, die Namen der Ausgabedateien und gegebenenfalls auch die Namen der entsprechenden Zielverzeichnisse, die Bestandteil der Dateinamen sind, vor jeder Simulationsfolge in der Parameterdatei des Simulationsprogramms SimSop.pl zu verändern, um die Simulationsergebnisse gemeinsam auswerten, vergleichen und archivieren zu können. Darüber hinaus ist es sinnvoll, die Simulationsergebnisse über verschiedene Verzeichnisse systematisch zu gliedern (einzelne Gruppen oder Äquivalenzklassen von Gruppen mit gleichen Anteilen geteilter Intentionen und Überzeugungen etc). Solange Simulationsergebnisse nicht überschrieben oder gelöscht werden, können sie durch manuelle Bearbeitung der Datei „dispfile“ jederzeit wieder angezeigt werden.
148
5 Simulationsergebnisse
ressante Muster entdeckt, die einer genaueren Auswertung bedürfen, kann das Programm mit der Parameterbelegung (continue) = no nochmals gestartet werden. Das Diagramm wird so lange angezeigt, bis mit dem OK-Button weitergeblättert wird. Abbildung 14 zeigt den Zustand einer Gruppe mit zehn Agentinnen zum Zeitpunkt 1. Der Simulationslauf wurde mit der Regelmenge negotiate ohne definierte Trigger-Bedingungen durchgeführt. Wie in der ersten Überschriftszeile angegeben, werden auf der linken Seite die vordefinierten Handlungstypen angezeigt, die Quadrate im mittleren Abschnitt repräsentieren die Intentionen der einzelnen Agentinnen und auf der rechten Seite werden ihre Überzeugungen dargestellt. Bei Simulationen, die mit der Regelmenge get_random durchgeführt wurden, wird dieser Abschnitt nicht angezeigt. Die zweite Überschriftszeile markiert die Agentinnen: Jeder Agentin ist eine eindeutige Nummer von eins bis zehn zugeteilt. Unter der Nummer werden in einer senkrechten Linie ihre Intentionen angezeigt. Im Abschnitt auf der rechten Seite, der die Überzeugungen der Agentinnen enthält, wird jeder Agentin eine eigene Farbe zugeteilt. Die Überschriftszeilen werden dynamisch auf die in der Parameterdatei angegebene Anzahl von Agentinnen angepasst, es können maximal zehn Agentinnen in einem Diagramm angezeigt werden. Für höhere Werte würde das Diagramm zu unübersichtlich werden, die Ergebnisse solcher Läufe müssen ohne grafische Darstellung direkt über die Ausgabedateien der Simulation ausgewertet werden. In der Fußzeile wird die Nummer des Simulationslaufs, der aktuelle Zeitpunkt und die Handlung, die als Gruppenhandlung gewählt wurde, angezeigt. Bei der Parameterbelegung (continue) = no erscheint auf der rechten Seite der OKButton. Die Quadrate neben der Bezeichnung der Handlungstypen markieren die Intentionen der Agentinnen. Handlungen, die die Agentin zum aktuellen Zeitpunkt prinzipiell ausführen würde, sind durch ein blaues Quadrat markiert. Ein rotes Quadrat markiert die bevorzugte Handlung der Agentin, die sie als Gruppenhandlung vorgeschlagen hat. Die potentiellen Intentionen der Agentinnen zum aktuellen Zeitpunkt an einer Handlung des entsprechenden Typs teilzunehmen sind rechts neben der Bezeichnung des Handlungstyps waagrecht aufgelistet, z.B. wären die Agentinnen 4, 5, 6, 7 und 10 prinzipiell bereit, eine Handlung des Typs go_to_the_cinema zum Zeitpunkt 1 in Simulationslauf 1 auszuführen. Die potentiellen Intentionen einer Agentin sind senkrecht aufgelistet. Zum Beispiel wäre Agentin 1 prinzipiell bereit, an Handlungen des Typs discussion_about_art, go_to_the_pub, weiberfasching, make_masks usw. teilzunehmen. Ihr Vorschlag für die Gruppenhandlung ist eine Handlung vom Typ go_to_a_concert.
5.3 Grafische Verfolgung der Gruppenentwicklung
149
Abbildung 14: Initialzustand einer Gruppe mit zehn Agentinnen in Lauf 1
In der grafischen Darstellung der Überzeugungsbasis auf der rechten Seite ist jede Agentin durch eine unterschiedliche Farbe repräsentiert: Agentin 1 durch schwarz, Agentin 2 durch grün, Agentin 3 durch pink usw. Die Überzeugungen jeder Agentin werden senkrecht unter dem entsprechenden Farbbalken angezeigt, d.h. die Überzeugungen von Agentin 1 werden unterhalb des schwarzen Balkens angezeigt, die Überzeugungen von Agentin 2 unterhalb des grünen Balkens usw. Jedes Viereck zeigt die Überzeugungen einer Agentin, welche anderen Agentinnen die Absicht teilen, an einer Handlung eines bestimmten Typs teilzunehmen. Zum Beispiel glaubt Agentin 4 (gelb), dass Agentin 1 (schwarz), Agentin 4 (sie selbst – gelb), Agentin 5 (blau), Agentin 7 (rot), Agentin 9 (weiß) und Agentin 10 (violett) die Absicht teilen, ins Kino zu gehen. Dieses Diagramm ist eine Darstellung des „subjektiven“ epistemischen Zustands der Agentinnen. Es ist leicht zu erkennen, dass, obwohl Agentin 4 glaubt, dass Agentin 1 die Absicht teilt, gemeinsam ins Kino zu gehen, Agentin 1 nicht beabsichtigt, an einer solchen Handlung teilzunehmen, da go_to_the_cinema bei Agentin 1 nicht mit einem blauen Quadrat markiert ist. Dementsprechend sind auch keine Überzeugungen bei Agentin 1 über Handlungsabsichten anderer Agentinnen bezüglich
150
5 Simulationsergebnisse
go_to_the_cinema vorhanden. Wie bei den Intentionen werden alle Überzeugungen, die eine Agentin zum aktuellen Zeitpunkt hat, senkrecht angezeigt. Die Überzeugungen aller Agentinnen, die die Durchführung einer Handlung eines bestimmten Typs betreffen, werden waagrecht angezeigt. Mittels der grafischen Darstellung können die Auswirkungen der Regeln für die Ermittlung der gemeinsamen Handlung (siehe 4.3.6) visuell nachvollzogen werden. Die Handlungen, die von den Agentinnen als Gruppenhandlungen vorgeschlagen werden, sind zahlreich in der Überzeugungsbasis der Agentinnen repräsentiert. Besonders deutlich wird dies bei den Überzeugungen bezüglich Handlungen des Typs go_to_a_concert, die letztendlich zum Vorschlag für die Gruppenhandlung geführt haben. Sowohl Agentin 8 (türkis) als auch Agentin 4 (gelb) haben das Maximum ihrer Überzeugungen bei Handlungen des Typs go_to_a_concert. Agentin 8 glaubt, dass alle Agentinnen gerne ins Konzert gehen würden, Agentin 4 musste sich zwischen Handlungen des Typs go_to_a_concert und discussion_about_medicine, die mit jeweils neun Überzeugungen in ihrer Überzeugungsbasis repräsentiert sind, „entscheiden“ (vgl. 4.3.6.4)43. Bemerkenswert ist, dass Agentin 8 nicht bei ihrem Vorschlag für die Gruppenhandlung geblieben ist, sondern dem Vorschlag für go_to_the_disco gefolgt ist, den sie von Agentin 7 (rot) erhalten hatte. Diese wiederum ist einem Vorschlag von Agentin 9 (weiß) für eine bicycle_tour gefolgt. Abbildung 15 zeigt den Zustand der Gruppe zum Zeitpunkt 2. Agentin 7 hat die Gruppe verlassen, ihre Intentionen und Überzeugungen werden nicht mehr angezeigt. Da bei der Erfolgsbewertung die vergangenen Zeitpunkte einbezogen werden (vgl. 4.3.6.7), ist die Wahrscheinlichkeit hoch, dass eine Agentin die Gruppe verlässt, wenn die Gruppe zum ersten Zeitpunkt eine Handlung wählt, die die Agentin nicht intendiert. Agentin 10, die ebenfalls nicht beabsichtigte, eine Handlung des Typs go_to_a_concert auszuführen, ist noch vertreten. Scheinbar wurde sie doch noch überzeugt und das Konzert hat ihr gefallen. Durch die Einstellung einer Erfolgsrate von zwanzig Prozent für zuvor nicht intendierte Handlungen kann eine derartige Situation simuliert werden. Bei Agentin 10 wurde sowohl die Intention, die Handlung go_to_a_concert auszuführen, hinzugefügt als auch ihre entsprechende Überzeugung. Zusätzlich wurden die Überzeugungen hinzugefügt, dass die Agentinnen 4 und 8, von denen der Vorschlag kam, ins Konzert zu gehen, auch weiterhin beabsichtigen dies zu tun.
43 Der Algorithmus bevorzugt in diesem Fall die erste Handlung, die in der Liste der Überzeugungen gefunden wird. Die Reihenfolge der Handlungen in der Überzeugungsbasis ist jedoch durch den Einsatz der Zufallsauswahl bei der Generierung beliebig. Bei den Überzeugungen von Agentin 4 erscheinen die Überzeugungen bezüglich go_to_a_concert vor den Überzeugungen bezüglich discussion_about_medicine - (das letzte ‚e’ wurde in der Anzeige aus Platzgründen abgeschnitten).
5.3 Grafische Verfolgung der Gruppenentwicklung
151
Auch bei den anderen Agentinnen wurden die entsprechenden Überzeugungen für erhaltene Vorschläge hinzugefügt (siehe z.B. bicycle_tour bei Agentin 9 und 10). Abbildung 15: Gruppenentwicklung zum Zeitpunkt 2 in Lauf 1
Umgekehrt haben alle verbliebenen Agentinnen ihre Überzeugungen bezüglich der Agentin 7, die die Gruppe verlassen hat, revidiert. Trotz der Überzeugungsrevision sind bei den Agentinnen 4 und 9 nach wie vor die Überzeugungen bezüglich go_to_a_concert am stärksten in der Überzeugungsmenge repräsentiert (Agentin 4 hatte zuvor nicht geglaubt, dass Agentin 7 ins Konzert gehen möchte, aber dafür die Überzeugung bezüglich discussion_about_medicine revidiert, so dass die Überzeugungen bezüglich go_to_a_concert das Maximum bilden), so dass beide go_to_a_concert erneut als Gruppenhandlung vorschlagen. Der Vorschlag wird erneut von der Mehrheit der anderen Agentinnen angenommen.
152
5 Simulationsergebnisse
Abbildung 16: Initialzustand der Gruppe in Lauf 2
Im nächsten Lauf zeigt sich ein anderes Bild. Diesmal ist die Mehrheit der Agentinnen dem Vorschlag bicycle_tour von Agentin 9 und 10 gefolgt. Drei Agentinnen beabsichtigen nicht, diese Handlung durchzuführen: Agentin 1, 2 und 4. Bei einer Erfolgsrate von nur zwanzig Prozent besteht nun eine hohe Wahrscheinlichkeit, dass sie die Gruppe verlassen werden. Trotzdem hat in diesem Lauf nur Agentin 4 die Gruppe verlassen (siehe Abbildung 17). Die beiden anderen Agentinnen sind geblieben, obwohl die Wahrscheinlichkeit für dieses Ereignis nur 9,6 Prozent beträgt.44 Wiederum ergänzen alle verbliebenen Agentinnen bei erhaltenen Vorschlägen ihre Überzeugungen bezüglich der Intention derjenigen Agentin, von der der Vorschlag ausging.45 Die Überzeugungen bezüglich Agentin 4 werden revidiert. Dadurch ergibt sich bereits zu Beginn von Zeitpunkt 2 ein anderer Zustand als in 44 Bei einer Erfolgsrate von zwanzig Prozent und wenn drei Agentinnen zuvor nicht beabsichtigten, die Gruppenhandlung mitzumachen, betragen die Bernoulli-Wahrscheinlichkeiten dafür, dass n, 0 n 3, Agentinnen bei der Gruppe bleiben: p(0) = 51,2 %; p(1) = 38,4 %; p(2) = 9,6 %; p(3) = 0,8 %. 45 Die Vorschläge waren: Agentin 1 make_masks, 2 play_poker, 3 go_to_the_theatre, 4 nicht bekannt, 5 chat, 6 go_to_the_pub, 7 go_to_the_disco, 8 go_to_a_concert, 9 und 10 bicycle_tour.
5.3 Grafische Verfolgung der Gruppenentwicklung
153
Lauf 1. Statt Agentin 4 ist in Lauf 2 nun Agentin 7 weiter vertreten, die eigene Vorschläge bringt und andere Vorschläge befürwortet. Auch in den Überzeugungssätzen der anderen Agentinnen sind nun statt der Überzeugungen bezüglich Agentin 4 die Überzeugungen bezüglich Agentin 7 vorhanden, was zu einer anderen Priorisierung bei der Ermittlung von Vorschlägen führen kann. Es kommt zu einem anderen Handlungsablauf: die Gruppe entscheidet sich für die Handlung chat. In beiden Läufen fiel die Gruppenstärke durch die „milde“ Erfolgsbewertung überdurchschnittlich aus: In Lauf 1 waren zum Zeitpunkt 10 noch acht Agentinnen vertreten, in Lauf 2 waren es sieben. Abbildung 17: Gruppenentwicklung zum Zeitpunkt 2 in Lauf 2
Bereits durch die grafische Verfolgung der Gruppenentwicklung können allgemeine Trends in den Simulationen festgestellt werden: In Abhängigkeit von den Programmregeln und der Anwendung der Zufallsauswahl zeigen wiederholte Simulationsläufe mit der gleichen Menge initialer Daten unterschiedliche Handlungsabläufe. In aufeinanderfolgenden Simulationsläufen kann sogar die erste gewählte Gruppenhandlung variieren, da Agentinnen zufällig einen Vorschlag aus allen erhaltenen Vorschlägen auswählen, wenn sie unter den Vorschlägen
154
5 Simulationsergebnisse
kein maximales Element ermitteln können. Aufeinanderfolgende Läufe mit den gleichen initialen Daten zeigen unterschiedliche Muster der Gruppenentwicklung, eine unterschiedliche Dauer des Gruppenlebens und Unterschiede im Zusammenhalt der Gruppe. Besonders in aufeinander folgenden Läufen mit „schwachen” Gruppen, d.h. bei einem Anteil von fünfzig Prozent geteilter Intentionen oder weniger, kann es vorkommen, dass sich die Gruppe in einem Teil der Läufe bis zum Zeitpunkt zehn bereits aufgelöst hat, d.h. die minimale Anzahl von Agenten ist unterschritten. In anderen Läufen bleibt ein Teil der Gruppe bis Zeitpunkt 200 zusammen. In Abhängigkeit von den Einstellungen für die Erfolgsbewertung und der Zufallsauswahl besteht der Rest der Gruppe in aufeinander folgenden Simulationsläufen aus unterschiedlichen Gruppenmitgliedern, wenn Agentinnen die Gruppe verlassen haben. Ein kombinierter Effekt des Zusammenspiels von Programmparametern und –regeln ist die Bildung von Gruppenkernen. Aufeinander folgende Läufe mit den gleichen initialen Daten zeigen eine hohe Wahrscheinlichkeit dafür, dass bevorzugt bestimmte Agentinnen zusammenbleiben, während „schwächer integrierte” Agentinnen mit hoher Wahrscheinlichkeit die Gruppe verlassen. Dies geschieht meist bis Zeitpunkt 20, danach stabilisiert sich der Gruppenkern.
5.4 Kumulierte Simulationsergebnisse 5.4.1 Variation des Anteils geteilter Absichten und Überzeugungen Die folgende Auswertung fasst die Ergebnisse von 5000 Simulationsläufen mit der Regelmenge get_random und 15000 Simulationsläufen mit der Regelmenge negotiate zusammen. In den Tests wurde nur der Prozentsatz geteilter Intentionen percent_int/1 sowie bei überzeugungsbasierten Simulationen der Prozentsatz geteilter Überzeugungen percent_bel/1 variiert. Um Effekte einer Erhöhung des Prozentsatzes geteilter Überzeugungen percent_bel/1 deutlicher erkennen zu können, wurde (update_belief) = no gewählt, d.h. die Agenten revidieren ihre Überzeugungen nur bezüglich ihrer eigenen Einstellungen, der Versuch der Anpassung ihrer Überzeugungen an die Einstellungen der anderen Agenten findet nicht statt. Die restlichen Laufzeit- und Konfigurationsparameter waren konstant auf folgende Werte gesetzt: periods(20). actors(10). use_old_data(no).
% % % %
number of points in time number of agents no = generate new attitude set yes = use old attitude set
5.4 Kumulierte Simulationsergebnisse
155
% ================================================== % parameters for the success / threshold calculation % ================================================== failure_rate(0.4). % acceptable failure rate subsequent_failures(4). % acceptable number of subsequent failures min_agents(2). % minimal number of agents rate_s(90). % rate if suggested rate_i(70). % rate if intended in principle rate_ni(20). % rate if previously not intended
Die Menge ACT der Handlungstypen sowie die Menge der positiven Trigger ptrg/2 und negativen Trigger ntrg/2 wurde so gewählt, wie in der Beispielparameterdatei im Anhang B angegeben. Durch die Einstellung (use_old_data) = no wird vor jedem Simulationslauf die Menge der initialen Einstellungen ATT0 neu generiert. Pro Simulationsfolge S wurden 500 verschiedene Gruppen mit einer initialen Gruppenstärke von 10 Agenten über einen Zeitraum von 20 Zeitpunkten simuliert. Da sich die Anzahl der Gruppenmitglieder mit den oben genannten Parameterbelegungen nach 20 Zeitpunkten stabilisiert, wurde dieser Zeitraum für die Untersuchung der Auswirkung geteilter Intentionen und Überzeugungen auf die durchschnittliche Gruppenstärke als ausreichend erachtet. Für die Regelmenge get_random wurde die Parametereinstellung für den Prozentsatz zu generierender Intentionen percent_int/1 in jeder Folge Si, 1 i 10, in Zehnerschritten erhöht, so dass sich Äquivalenzklassen von Gruppen mit einem Anteil von 10%, 20%, 30%, …, 100% generierter Intentionen ergeben. Für die Belegung (percent_int) = 0 terminiert das Simulationsprogramm sofort, da in diesem Fall keine Einigung über eine gemeinsame Handlung erzielt werden kann. Abbildung 18 zeigt die Entwicklung der durchschnittlichen Gruppenstärke von jeweils 500 verschiedenen Gruppen pro Äquivalenzklasse für die Regelmenge get_random während der ersten 20 Zeitpunkte.46 Da für die Simulationen die idealisierte Annahme verwendet wird, dass keine neuen Agenten hinzukommen, nimmt die Anzahl der Agenten kontinuierlich ab. Wie leicht zu erkennen ist, stabilisiert sich die durchschnittliche Anzahl der Agenten bis zum Zeitpunkt 20. Je höher der Anteil generierter Intentionen ist, desto eher tritt die Stabilisierung ein. Am höchsten ist die durchschnittliche Gruppenstärke natürlich bei 46 Die durchgezogenen Linien in der Grafik sollen der optischen Darstellung und der Übersichtlichkeit dienen. Die Verbindungslinien zwischen den Zeitpunkten markieren keine Werte. Nur die Verdickungen des entsprechenden Musters bezeichnen die jeweiligen Werte für die durchschnittliche Gruppenstärke, die zu den an der x-Achse angegebenen Zeitpunkten pro Äquivalenzklasse erzielt wurden.
156
5 Simulationsergebnisse
einem Anteil von 100% gemeinsamer Intentionen. Hier bleiben fast alle Agenten zusammen (9,94). Diese Gruppenstärke stabilisiert sich nach Zeitpunkt 2. Da die Werte der Parameter für die Erfolgsbewertung für prinzipiell intendierte Handlungen rate_i/1 und auch für vorgeschlagene Handlungen rate_s/1 so gewählt sind, dass Handlungen als nicht erfolgreich betrachtet werden können, verlassen auch hier Agenten die Gruppe (vergleiche 4.3.6.7). Dies war jedoch nur in vierzehn der fünfhundert Gruppen der Fall. Alle Agenten, die die Gruppe verließen, taten dies bis Zeitpunkt drei. Abbildung 18: Gruppenstärke in Abhängigkeit von percent_int, Regelmenge get_random 12
10
Anzahl Agenten
8
6
4
2
0 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Zeitpunkte
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
Umgekehrt lässt sich erkennen, dass auch in den Äquivalenzklassen der Gruppen mit geringen Werten für percent_int/1 ( 20%) Gruppen nach dem zwanzigsten Zeitpunkt weiter bestehen, in diesem Fall allerdings meist nur in der für die Tests gewählten Mindestanzahl von Agenten (min_agents) = 2. Die Werte für die Gruppenstärke der 10%- und 20%-Gruppen liegen eng beieinander, wobei die Stärke der 20%-Gruppen sogar noch geringfügig unterhalb der der 10%-Gruppen liegt: bereits zum Zeitpunkt acht beträgt die durchschnittliche Gruppenstärke weniger als zwei Agenten. Bis zum Zeitpunkt 10 hat sich bereits ein beträchtlicher Teil der Gruppen aufgelöst. Bei einem Anteil generierter Intentionen von
157
5.4 Kumulierte Simulationsergebnisse
10% sind es hunderteinundsechzig Gruppen, bei einem Anteil generierter Intentionen von 20% sogar hundertneunzig Gruppen. Immerhin bestehen zum Zeitpunkt 20 immer noch 302 der 10%-Gruppen, davon 73 mit mehr als zwei Agenten, sowie 276 der 20%-Gruppen, davon 25 mit mehr als zwei Agenten (siehe Gruppenstärke zum Zeitpunkt 20 in Abhängigkeit von percent_int, Regelmenge get_random). Tabelle 4: Gruppenstärke zum Zeitpunkt 20 in Abhängigkeit von percent_int, Regelmenge get_random Prozent Int
Durchschnittl. Anzahl Agenten
Aktive Gruppen
Min. Agenten in akt. Gruppen
Gruppen > 2 Agenten
Max. Agenten in akt. Gruppen
10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
1,36 1,17 1,72 2,71 3,36 4,37 5,65 7,96 8,79 9,94
302 276 342 461 484 500 500 500 500 500
2 2 2 2 2 2 3 5 6 8
73 25 124 281 398 488 500 500 500 500
5 5 4 6 8 7 9 10 10 10
Ähnliche Ergebnisse liefert auch die Regelmenge negotiate. Bei überzeugungsbasierten Simulationen wurde zusätzlich zum Prozentsatz generierter Intentionen percent_int/1 auch der Prozentsatz generierter Überzeugungen percent_bel/1 variiert. Wie bei der Regelmenge get_random wurde die Parametereinstellung für den Prozentsatz generierter Intentionen percent_int/1 in Zehnerschritten erhöht, so dass sich Äquivalenzklassen von Gruppen mit einem Anteil von 10%, 20%, 30%, …, 100% gemeinsamer Intentionen ergeben. Zusätzlich wurde bei überzeugungsbasierten Simulationen innerhalb einer gebildeten Äquivalenzklasse von Gruppen mit gleichem Anteil generierter Intentionen zwischen Gruppen mit einem Anteil von 20%, 50% und 80% geteilten Überzeugungen unterschieden, so dass insgesamt 30 verschiedene Kombinationen der Parameter percent_int/1 und percent_bel/1 getestet wurden. In jeder Folge Si, 1 i 30, wurden 500 Simulationsläufe durchgeführt, wobei wie zuvor jedes Mal die Menge der initialen Einstellungen ATT0 neu generiert wurde. Es wurden also in jeder
158
5 Simulationsergebnisse
Folge fünfhundert verschiedene Gruppen simuliert. Die übrigen Parameter waren konstant auf die gleichen Werte gesetzt, wie sie bei der Regelmenge get_random zu Beginn des Abschnitts beschrieben sind (siehe S. 154). Abbildung 19: Gruppenstärke in Abhängigkeit von percent_int und percent_bel, Regelmenge negotiate 10
9
8
7
6
5
4
3
2
1 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Zeitpunkte
100 % / 80 % 80 % / 80 % 60 % / 80 % 40 % / 80 % 20 % / 80 %
100 % / 50 % 80 % / 50 % 60 % / 50 % 40 % / 50 % 20 % / 50 %
100 % / 20 % 80 % / 20 % 60 % / 20 % 40 % / 20 % 20 % / 20 %
90 % / 80 % 70 % / 80 % 50 % / 80 % 30 % / 80 % 10 % / 80 %
90 % / 50 % 70 % / 50 % 50 % / 50 % 30 % / 50 % 10 % / 50 %
90 % / 20 % 70 % / 20 % 50 % / 20 % 30 % / 20 % 10 % / 20 %
Wie bei Simulationen, die mit der Regelmenge get_random durchgeführt wurden (vergleiche Abbildung 18), zeigt sich auch bei überzeugungsbasierten Simulationen deutlich, dass sich eine Erhöhung des Prozentsatzes generierter Intentionen auf die Gruppenstärke auswirkt (siehe Abbildung 19). Jede Linie markiert die durchschnittliche Anzahl von Agenten von Zeitpunkt 1 bis Zeitpunkt 20 in fünfhundert Simulationsläufen pro Äquivalenzklasse von Gruppen mit gleichen Anteilen von geteilten Intentionen percent_int/1 und geteilten Überzeugungen percent_bel/1. Gruppen mit dem gleichen Anteil von Intentionen, aber unterschiedlichen Anteilen von geteilten Überzeugungen sind durch ein gemeinsames Linienmuster markiert, wobei die Linie für 20% generierte Überzeugungen immer gepunktet, die Linie für 50% generierte Überzeugungen immer gestrichelt, und die Linie für 80% generierte Überzeugungen immer durchgehend dargestellt ist. Die Linien mit dem gleichen Linienmuster liegen im Allgemeinen nahe beieinander. Dies ist in der Abbildung bei den Gruppen mit einem hohen Anteil (>
5.4 Kumulierte Simulationsergebnisse
159
80%) generierter gemeinsamer Intentionen und einem Anteil generierter gemeinsamer Intentionen von < 50% deutlich zu erkennen. Dagegen liegen bei den 80%- und 70%-Gruppen die Gruppenstärken relativ weit auseinander. Bei den Gruppen mit der Belegung (percent_int) = 80 ist jeweils ein Anstieg von ca. 0,7 bei Erhöhung des Anteils generierter Überzeugungen zu verzeichnen, bei den Gruppen mit der Belegung (percent_int) = 70 hat sich die durchschnittliche Gruppenstärke um 1,04 erhöht, allerdings liegt hier der Wert bei der Belegung (percent_bel) = 50 deutlich über dem Wert der Belegung (percent_bel) = 80. Insgesamt zeigt die Erhöhung des Prozentsatzes generierter Überzeugungen percent_bel/1 keine so deutliche Wirkung wie die Erhöhung des Prozentsatzes generierter Intentionen percent_int/1. Tabelle 5 liefert einen detaillierten Überblick über die in den Testläufen ermittelten Gruppenstärken zum Zeitpunkt 20. Zwar ist auch bei den Gruppen mit einem Anteil generierter gemeinsamer Intentionen von weniger als 70% ein Anstieg der durchschnittlichen Anzahl von Agenten zwischen den Gruppen mit 20% generierten gemeinsamen Überzeugungen und solche mit 80% generierten gemeinsamen Überzeugungen zu erkennen, jedoch gibt es auch hier Beispiele, in denen die durchschnittliche Gruppenstärke innerhalb einer Äquivalenzklasse von Gruppen mit gleichem Prozentsatz generierter initialer Intentionen bei Gruppen mit höherem Anteil generierter gemeinsamer Überzeugungen niedriger war als bei solchen mit einem geringeren Prozentsatz, z.B. liegt bei den Gruppen mit einem Anteil von 40% generierter Intentionen die durchschnittliche Gruppenstärke mit 3,42 bei den Gruppen mit nur 20% generierten initialen Überzeugungen über den Werten der 50%-Gruppen (3,06) und der 80%-Gruppen. Anhand von Tabelle 5 lassen sich folgende Phänomene beobachten:
Die Erhöhung des Prozentsatzes der generierten initialen Überzeugungen bei Gruppen mit einem Anteil generierter initialer Intentionen von weniger als 70% hat in der Regel eine geringe Auswirkung auf die durchschnittliche Gruppenstärke und den Zusammenhalt der Gruppe. Lediglich bei der maximalen Anzahl von Gruppenmitgliedern zum Zeitpunkt 20 ist tendenziell ein Anstieg zu verzeichnen. Ab einem Anteil von 60% generierter gemeinsamer Intentionen blieben alle Gruppen aktiv. Bei den Gruppen mit einem Anteil von 80% generierter initialer Intentionen ist der Unterschied in der durchschnittlichen Gruppenstärke zwischen den Simulationsfolgen mit unterschiedlichen Prozentsätzen initial generierter Überzeugungen mit einer Differenz von jeweils ca. 0,7 am höchsten.
160
5 Simulationsergebnisse
Tabelle 5: Gruppenstärke zum Zeitpunkt 20 in Abhängigkeit von percent_int und percent_bel, Regelmenge negotiate Prozent Int
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Prozent Beliefs
Durchschnittl. Anz. Agenten
20% 50% 80% 20% 50% 80% 20% 50% 80% 20% 50% 80% 20% 50% 80% 20% 50% 80% 20% 50% 80% 20% 50% 80% 20% 50% 80% 20% 50% 80%
1,66 1,86 1,57 1,93 2,35 2,70 2,40 2,82 2,92 3,42 3,06 3,14 3,60 3,61 3,54 3,83 3,85 3,99 4,71 5,75 5,25 5,80 6,58 7,34 7,68 8,10 8,23 9,51 9,30 9,64
Aktive Gruppen 333 317 317 373 421 428 472 457 433 498 499 500 500 499 496 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500
Min. Agenten in akt. Gruppen
Gruppen > 2
Max. Agenten in akt. Gruppen
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 3 3 3 4 4 5 7 6 6
130 188 120 157 203 289 135 303 168 369 305 342 405 386 408 455 449 433 499 500 490 500 500 500 500 500 500 500 500 500
4 4 4 6 7 5 5 6 6 6 7 7 7 8 7 7 7 8 8 9 10 9 9 10 10 10 10 10 10 10
5.4 Kumulierte Simulationsergebnisse
161
Bei den Gruppen mit über 80% generierter initialer Intentionen schwächt sich dieser Effekt wieder ab. Ist bei den Gruppen mit einem Anteil von 90% generierter initialer Intentionen die durchschnittliche Gruppenstärke bei den Gruppen mit 80% generierter Überzeugungen um 0,55 höher als bei den 20%-Gruppen, so liegen bei den Gruppen mit 100% generierter initialer Intentionen die entsprechenden Werte nahe beieinander (9,51 bei den Gruppen mit 20% generierter Überzeugungen, 9,64 bei den 80%-Gruppen, der Wert der 50%-Gruppen liegt mit 9,30 unter diesen Werten).
Zusammenfassend kann man feststellen, dass für die Erhöhung der Gruppenstärke und die Stabilität der Gruppen primär der Anteil der gemeinsamen Absichten von Bedeutung ist. Lediglich auf den Zusammenhalt der Gruppen hat sich die Erhöhung des Anteils generierter initialer Überzeugungen innerhalb der Äquivalenzklassen tendenziell positiv ausgewirkt: so ist die maximale Anzahl der Agenten in einer Äquivalenzklasse mit gleichen Anteilen generierter Intentionen entweder gleich, oder sie steigt zwischen den 20%-Gruppen und 80%-Gruppen kontinuierlich an. Lediglich die Gruppen mit 20% und 50% generierter initialer Intentionen fallen hier aus der Reihe. Bei dem Vergleich der Ergebnisse von Simulationsläufen mit der Regelmenge get_random (siehe Tabelle 4, S. 157) mit den Ergebnissen der Simulationsläufe mit der Regelmenge negotiate (siehe Tabelle 5, S. 160) lässt sich folgendes feststellen:
Bei Gruppen mit einem Anteil generierter initialer Intentionen von bis zu 50% ist sowohl die durchschnittliche Anzahl von Agenten als auch die Anzahl der aktiven Gruppen und die Anzahl der Gruppen mit mehr als zwei Agenten in allen Simulationsfolgen, die mit der Regelmenge negotiate durchgeführt wurden, höher als bei den Simulationsfolgen der entsprechenden Äquivalenzklasse, die mit der Regelmenge get_random durchgeführt wurden. Lediglich die maximale Anzahl von Agenten liegt bei den Gruppen mit 10% generierter initialer Intentionen bei den Gruppen der Regelmenge get_random mit einem Wert von 5 über den entsprechenden Werten der Gruppen der Regelmenge negotiate (4). Bei den Gruppen mit einem Anteil ab 60% generierter initialer Intentionen liegt die durchschnittliche Anzahl von Agenten bei den Gruppen der Regelmenge get_random normalerweise höher als bei den Gruppen aus der entsprechenden Äquivalenzklasse der Regelmenge negotiate. Lediglich bei den Gruppen mit 70% generierter initialer Intentionen und 50% generierter Überzeugungen gibt es eine Ausnahme. Fast alle Werte sind relativ ausgeglichen, lediglich bei der minimalen Anzahl von Agenten liegen die Ergeb-
162
5 Simulationsergebnisse
nisse der Regelmenge get_random über den Ergebnissen der Regelmenge negotiate: bei get_random haben bereits alle Gruppen mit 70% initialer Intentionen mehr als zwei Agenten, bei negotiate gilt dies erst ab 80%. Zusammenfassend lässt sich feststellen, dass für den Zusammenhalt einer Gruppe bzw. die Aufrechterhaltung einer sozialen Praxis primär der Prozentsatz generierter Intentionen maßgeblich ist. In beiden Regelmengen gilt: je höher dieser Prozentsatz ist, desto höher ist a) die Wahrscheinlichkeit, dass Gruppen zusammenbleiben, und b) die durchschnittliche Anzahl der beteiligten Agenten. Auffällig ist, dass die Simulationen, die mit der Regelmenge negotiate durchgeführt wurden, bei den Gruppen mit einem Anteil von bis zu 50% geteilten Intentionen höhere Werte erzielen, als Simulationen von äquivalenten Gruppen, die mit der Regelmenge get_random durchgeführt wurden. Bei den Gruppen mit einem Anteil von 60% geteilten Intentionen und darüber ist es genau umgekehrt, hier liegen die Simulationsergebnisse der Regelmenge get_random über den Ergebnissen der Simulation mit der Regelmenge negotiate. Hierbei sollte jedoch auch der Einfluss von anderen Einstellungen, die im Parameterfile gemacht werden können, berücksichtigt werden. Nur bei der Regelmenge negotiate benutzen die Agentinnen definierte positive und negative Trigger bei der Auswahl der Vorschläge für die Gruppenhandlung. Wenn ein positiver Trigger zu einem Zeitpunkt definiert ist, werden Agenten, die nicht beabsichtigen, die getriggerte Handlung durchzuführen, diesem Vorschlag nicht folgen. Falls die Gruppe beschließt, diese Handlung trotzdem durchzuführen, besteht bei diesen Agenten ein hohes Risiko, dass sie die Gruppe verlassen, insbesondere dann, wenn wie in der Beispielparameterdatei (siehe Anhang B) bereits zu Beginn der sozialen Praxis getriggerte Handlungen definiert sind. Am stärksten wirkt sich dies bei den Gruppen mit einem Anteil von 60% generierten Intentionen aus. Bei Gruppen mit einem geringeren Anteil generierter Intentionen tritt dieser Einfluss wieder in den Hintergrund: Hier steigt die Wahrscheinlichkeit, dass Handlungen trotz positiver Trigger nicht gewählt werden, weil die Mehrzahl der Agenten nicht beabsichtigt, die Handlung durchzuführen, je geringer der Anteil generierter Intentionen ist. Andererseits könnten sich Trigger hier auch positiv auswirken: Falls tatsächlich einige Agenten beabsichtigen, eine positiv getriggerte Handlung durchzuführen, tun sie sich leicht, diese unter ihren wenigen gemeinsamen Absichten herauszufinden. Auch Einstellungen anderer Parameter haben Auswirkungen auf Gruppenstärke und -zusammenhalt. Dies soll im nächsten Abschnitt für den Parameter failure_rate/1 überprüft werden.
163
5.4 Kumulierte Simulationsergebnisse
5.4.2 Sensitivitätsanalyse am Beispiel des Parameters failure_rate Ein Parameter, dessen Variation sich signifikant auf das Ergebnis einer Simulation auswirkt, wird als sensitiver Parameter bezeichnet (vgl. E. Chattoe et al. 1999). Im Folgenden werden die Simulationsergebnisse in Abhängigkeit von dem Parameter failure_rate/1 genauer untersucht. Failure_rate/1 definiert die Rate der akzeptablen Fehler in Bezug auf die vergangenen Zeitpunkte (siehe 4.3.6.7.1). Sie dient einer Agentin als ein mögliches Kriterium bei der Entscheidung, wann sie die Gruppe verlassen soll: Wenn der Anteil derjenigen Handlungen, die für die Agentin nicht erfolgreich waren, die Fehlerrate übersteigt, verlässt die betreffende Agentin die Gruppe. Um nur den Einfluss des Programmparameters failure_rate/1 zu testen, wurde das zweite Kriterium subsequent_failures/1 „ausgeschaltet”, d.h. der Parameter subsequent_failures/1 wurde auf die Anzahl der zu durchlaufenden Zeitpunkte gesetzt. Für den in den Tests verwendeten Zeitraum von 20 Zeitpunkten wurde (subsequent_failures) = 20 gewählt. In den Tests wurde nur der Wert des Programmparameters failure_rate/1 variiert. Der Prozentsatz generierter Intentionen wurde in allen Testläufen mit (percent_int) = 60 instantiiert. Bei überzeugungsbasierten Simulationen war der Prozentsatz generierter Überzeugungen mit (percent_bel) = 60 belegt. Die anderen Laufzeit- und Konfigurationsparameter wurden in den Simulationsläufen konstant auf die folgenden Werte gesetzt: periods(20). actors(10). percent_int(60). percent_bel(60). use_old_data(no).
% % % % % % %
number of points in time number of agents percentage of shared intentions percentage of shared beliefs no = generate new attitude set yes = use old attitude set update_belief(no). update belief about other agents' wants from proposals % ================================================== % parameters for the success / threshold calculation % ================================================== subsequent_failures(20). % acceptable subsequent failures min_agents(2). % minimal number of agents rate_s(90). % rate if suggested rate_i(70). % rate if intended in principle rate_ni(20). % rate if previously not intended
Die Menge ACT der Handlungstypen sowie die Menge der positiven Triggerbedingungen ptrg/2 und negativen Triggerbedingungen ntrg/2 wurde so gewählt,
164
5 Simulationsergebnisse
wie in der Beispielparameterdatei in Anhang B angegeben. Die Parametereinstellung des Parameters failure_rate/1 wurde innerhalb des Definitionsbereichs von 0 bis 1 in Schritten von 0,2 erhöht, so dass sich Äquivalenzklassen von Gruppen mit einer akzeptablen Fehlerrate von 0, 0,2, 0,4, 0,6, 0,8 und 1 ergeben (vgl. 4.3.6.7). Jede der sechs Parameterbelegungen wurde sowohl mit der Regelmenge get_random, als auch mit der Regelmenge negotiate getestet, so dass insgesamt zwölf Simulationsfolgen durchgeführt wurden. In jeder Folge Si, 1 i 12, wurden zweihundertundfünfzig Simulationsläufe durchgeführt. Durch die Einstellung (use_old_data) = no wird vor jedem Simulationslauf die Menge der Einstellungen neu generiert. Somit wurden in jeder Folge Si von Simulationsläufen si,j, 1 j 250, zweihundertfünfzig unterschiedliche Gruppen mit einer initialen Gruppenstärke von 10 Agenten über einen Zeitraum von 20 Zeitpunkten simuliert. Abbildung 20 zeigt den Einfluss der Belegung des Parameters failure_rate/1 auf die durchschnittliche Gruppenstärke über die ersten zwanzig Zeitpunkte. Jede Linie entspricht der durchschnittlichen Gruppenstärke von fünfzig Gruppen mit gleicher Belegung des Parameters failure_rate/1 und des Parameters rule_set/1. Bei Belegung des Parameters (rule_set) = get_random ist die Linie hell und durchgezogen gezeichnet, bei (rule_set) = negotiate dunkel und gepunktet. Bei gleicher Belegung des Parameters failure_rate/1 sind die Linien mit dem gleichen Linienmuster markiert. Es ist deutlich zu erkennen, dass die Gruppenstärke zunimmt, je höher der Wert des Parameters failure_rate/1 im Intervall zwischen 0 und 1 gewählt wird. Am höchsten ist die Gruppenstärke bei der Belegung (failure_rate) = 1. Diese Belegung bewirkt, dass die Agentinnen, auch wenn Handlungen nicht erfolgreich waren, niemals die Gruppe verlassen können (vgl. check_threshold/3), da die Anzahl der nicht erfolgreichen Handlungen nie größer sein kann, als die Anzahl der vergangenen Zeitpunkte (multipliziert mit 1). Bei beiden Regelmengen bleiben alle zehn Agentinnen über den Zeitraum von zwanzig Zeitpunkten zusammen. Obwohl diese Einstellung als einziges Kriterium für die Erfolgsbewertung in Bezug auf real existierende soziale Praktiken sicherlich nicht sinnvoll ist – den Agentinnen wird damit die Möglichkeit genommen, die Gruppe zu verlassen, unabhängig davon, was die Gruppe unternimmt –, zeigt das Verhalten der Simulation, dass die Programmregeln auch für diesen Wert korrekt funktionieren. In Kombination mit dem Parameter subsequent_failures/1 kann diese Einstellung jedoch durchaus sinnvoll sein. Die Erfolgsbewertung könnte dann ausschließlich mit einer passenden Belegung des Parameters subsequent_failures/1, z.B. (subsequent_failures) = 4, durchgeführt werden.47 47 Da bei dieser Einstellung der Bezug zur Dauer des Gruppenlebens verloren geht, ist dies m. E. für Gruppen von der Art der simulierten Beispielsgruppen nicht sinnvoll. Bei anderen Formen sozialer
165
5.4 Kumulierte Simulationsergebnisse
Abbildung 20: Sensitivitätsanalyse am Beispiel von failure_rate 12
10
8
6
4
2
0 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Zeitpunkte failure_rate 1 random failure_rate 0.6 random failure_rate 0.2 random
failure_rate 1 negotiate failure_rate 0.6 negotiate failure_rate 0.2 negotiate
failure_rate 0.8 random failure_rate 0.4 random failure_rate 0 random
failure_rate 0.8 negotiate failure_rate 0.4 negotiate failure_rate 0 negotiate
Tabelle 6 zeigt die durchschnittliche Gruppenstärke zu Zeitpunkt 20 für die einzelnen Werte von failure_rate/1. Die Werte für die durchschnittliche Gruppenstärke in den Simulationsfolgen, die mit einer Fehlerrate von 0,8 bzw. 0,6 durchgeführt wurden, liegen eng beisammen. Zu Zeitpunkt 20 ist die durchschnittliche Gruppenstärke in den Simulationsläufen, die mit einer akzeptablen Fehlerrate von 0,8 der Regelmenge negotiate durchgeführt wurden, mit 7,33 etwas geringer als in den Simulationsläufen der Regelmenge get_random (7,52), bei der sich dieser Wert bereits nach Zeitpunkt 2 stabilisiert hat. Auch bei einer akzeptablen Fehlerrate von 0,6 liegt der Wert für die Regelmenge get_random geringfügig über dem Wert, der bei der Regelmenge negotiate erzielt wurde.
Praktiken, bei denen z.B. die Menge der Handlungstypen von vornherein relativ beschränkt ist, die Agenten jedoch über einen hohen Anteil geteilter Intentionen verfügen, könnte dies durchaus angewendet werden, so z.B. auf einen lockeren Verbund von Freizeitsportlern, der sich wöchentlich im Park trifft, um eine Mannschaftssportart wie Fußball, Volleyball, Basketball etc. durchzuführen. Der Frustrationsgrund, dass die Gruppe eine Handlung durchführt, die nicht intendiert ist, kann in diesem Fall ausgeschlossen werden, da jemand, der nicht beabsichtigt, Fußball zu spielen, wohl nicht zum Fußballspielen in den Park gehen würde.
166
5 Simulationsergebnisse
Tabelle 6: Gruppenstärke zum Zeitpunkt 20 in Abhängigkeit der Belegung des Parameters failure_rate failure_rate
1 0,8 0,6 0,4 0,2 0
Regelmenge get_random Standard( Anzahl abweichung Agenten 10 0 7,52 1,32 6,58 1,43 4,79 1,49 1,40 1,27 0,10 0,44
Regelmenge negotiate Standard( Anzahl abweichung Agenten 10 0 7,33 1,24 6,40 1,42 4,02 0,88 2,36 1,21 0,81 0,99
Bei einer akzeptablen Fehlerrate von 0,4 sinkt bei beiden Regelmengen die durchschnittliche Anzahl von Agenten zum Zeitpunkt 20 auf unter 50% (4,79 bei der Regelmenge get_random, 4,02 bei der Regelmenge negotiate). Dass die Werte bei beiden Regelmengen über den vergleichbaren Werten aus der Auswertung des Einflusses einer Erhöhung des Prozentsatzes für die initial generierten Intentionen und ggf. Überzeugungen liegt (4,37 bei einem Anteil von 60% geteilter Intentionen, Regelmenge get_random, und zwischen 3,83 und 3,99 in der entsprechenden Äquivalenzklasse der Regelmenge negotiate, vgl. Tabelle 4, S. 157, und Tabelle 5, S. 160), hängt damit zusammen, dass der zweite Parameter zur Steuerung der Erfolgsbewertung subsequent_failures/1 durch die Belegung (subsequent_failures) = 20 „ausgeschaltet“ wurde, um nur die Sensitivität des Parameters failure_rate/1 zu testen. Dass ein kombinierter Einfluss beider Parameter auf die Erfolgsbewertung entsteht, wird durch diesen Vergleich deutlich. Bei der Belegung (failure_rate) = 0,4 liegt die durchschnittliche Anzahl der Agenten bei der Regelmenge get_random am deutlichsten über der Anzahl der Agenten bei der Regelmenge negotiate. Wie bereits im vorigen Abschnitt erwähnt, kann dies auch durch kombinierte Effekte bedingt sein, die sich durch die Definition von Triggern bei den Simulationen mit der Regelmenge negotiate ergeben. Gruppen, deren Mitglieder über eine geringe Fehlertoleranz bzw. Frustrationsschwelle verfügen ( 0,2), haben eine geringe „Überlebenschance“. Hier ist die durchschnittliche Gruppenstärke bei den Simulationen mit der Regelmenge negotiate sogar geringfügig höher als bei der Regelmenge get_random. Selbst bei einer akzeptablen Fehlerrate von 0, die bewirkt dass die Agentinnen beim ersten Misserfolg die Gruppe verlassen, gibt es Gruppen, die bis zum Zeitpunkt
5.4 Kumulierte Simulationsergebnisse
167
20 zusammenbleiben, in diesem Fall jedoch nur in der Ausprägung mit zwei oder drei Agentinnen. Zusammenfassend lässt sich feststellen, dass die Wahl für die Belegung des Parameters failure_rate/1 durchaus eine signifikante Auswirkung auf das Simulationsergebnis hat. Bei der gewählten Testeinstellung (percent_int) = 60 und (percent_bel) = 60 pendelt sich die durchschnittliche Gruppenstärke für beide Regelmengen auf Werte nahe ((failure_rate) * 10) ein. Dass bei anderen Einstellungen der Parameter percent_int/1 und percent_bel/1 andere Werte erreicht werden, zeigt sich in den Auswertungen in 5.4.1 „Variation des Anteils geteilter Absichten und Überzeugungen“, bei denen (failure_rate) = 0,4 gewählt wurde. Jedoch gilt für alle Einstellungen der Parameter percent_int/1 und percent_bel/1, dass bei einer Erhöhung der akzeptablen Fehlerrate die durchschnittliche Gruppenstärke steigt. Durch „Ausschalten“ der Parameter für die individuelle Schwellenbewertung, d.h. (failure_rate) = 1 und (subsequent_failures) = max_time, kann man auch alle Agenten von Gruppen mit einem Anteil von nur zehn Prozent gemeinsamen Intentionen und entsprechenden Überzeugungen dazu zwingen, „lebenslänglich“ zusammenzubleiben. Dies sollte allerdings eher zum Bereich der Verifikation der Programmregeln als zu den sinnvollen Simulationsexperimenten gezählt werden. 5.4.3 Muster der Gruppenentwicklung Die bisherigen Auswertungen haben relativ ähnliche Ergebnisse für beide Regelmengen produziert. Für beide Regelmengen konnte gezeigt werden, dass sich die Erhöhung des Anteils der initial generierten Intentionen auf die durchschnittliche Anzahl der beteiligten Agenten und die Lebensdauer der Gruppen auswirkt und somit auf den Erfolg der sozialen Praxis. Die Simulationen beider Regelmengen verhielten sich gegenüber dem Parameter failure_rate/1 sensitiv. In diesem Abschnitt soll nun gezielt untersucht werden, welche Unterschiede bei Simulationen mit verschiedenen Regelmengen auftreten. Wie in Abschnitt 4.3.3.1 beschrieben, kann mittels der Belegung des Parameters use_old_data/1 festgelegt werden, ob 1.
eine Folge von Simulationen S1, ..., Sn mit der gleichen Parametermenge gestartet werden soll, um die mögliche Entwicklung gleichartiger Gruppen zu simulieren, z. B. Gruppen mit gleichen Anteilen initial generierter Intentionen und gegebenenfalls Überzeugungen, oder
168 2.
5 Simulationsergebnisse
eine Folge von Simulationen S1, ..., Sn mit der gleichen Parametermenge und der gleichen Menge initialer Einstellungen ATT0 gestartet werden soll, um mögliche Entwicklungen einer bestimmten Gruppe zu simulieren.
Die bisher in diesem Kapitel präsentierten Auswertungen beziehen sich auf Simulationsfolgen des ersten Typs. Nun sollen mittels der Parameterbelegung (use_old_data) = yes mögliche unterschiedliche Entwicklungen von Gruppen untersucht werden. Insbesondere soll hier der Einfluss der verwendeten Regelmenge auf die Gruppenentwicklung getestet werden, d.h. es wird nur die verwendete Regelmenge durch die unterschiedliche Belegung des Parameters rule_set/1 variiert. Für die Auswertungen wird von folgender Eigenschaft in der Ablaufsteuerung der Simulationen Gebrauch gemacht: Bei der Parameterbelegung (use_old_data) = yes kann in einer Simulationsfolge S1, die mit der Regelmenge get_random durchgeführt wird, die gleiche Menge initialer Einstellungen ATT0 benutzt werden wie in einer Simulationsfolge S2, die mit der Regelmenge negotiate durchgeführt wird. Bei Ablauf der Folge S1 wird auf die generierten Überzeugungen, die sich in der Datei beliefs.int befinden, nicht zugegriffen. Um den Einfluss von definierten positiven und negativen Triggern für Gruppenhandlungen auf die Gruppenentwicklung zu untersuchen, wurde bei Simulationen mit der Regelmenge negotiate eine Simulationsfolge ohne definierte Trigger sowie eine Simulationsfolge mit definierten Triggern durchgeführt, so dass für jede Menge ATTi, 1 i 3 folgende drei Simulationsfolgen durchgeführt wurden:
S1, (rule_set) = get_random, S2, (rule_set) = negotiate, TRG = ( S3, (rule_set) = negotiate, TRG (
In den Simulationsfolgen S1, S2 und S3 wurden je 50 Simulationsläufe durchgeführt, jeder Lauf über einen Zeitraum von 200 Zeitpunkten. Bei einer Gruppe, die sich ungefähr einmal pro Monat trifft, entspricht dies schon einem Zeitraum von mehr als sechzehn Jahren. Insgesamt wurde mit zwanzig verschiedenen Mengen initialer Einstellungen ATT0 getestet, d.h. es wurde die Entwicklung von zwanzig verschiedenen Gruppen in drei Ausprägungen simuliert. Die Menge TRG der definierten positiven und negativen Trigger war bei allen triggerbasierten Simulationsfolgen die in der Beispielparameterdatei in Anhang B angegebene. Die Menge der sonstigen Parameter war bei allen Tests konstant auf folgende Werte gesetzt:
169
5.4 Kumulierte Simulationsergebnisse
runs(50). periods(200). actors(10).
% number of simulation runs % number of points in time % number of agents
% ========================================================== % parameters for the generation and maintenace of the attitude set % ========================================================== percent_int(60). % percentage of shared intentions percent_bel(60). % percentage of shared beliefs maxlev(1). % belief order use_old_data(yes). % no = generate new attitude set % yes = use old attitude set update_belief(yes). % update belief about other agents' wants from proposals % ================================================== % parameters for the success / threshold calculation % ================================================== failure_rate(0.4). % acceptable failure rate subsequent_failures(12). % acceptable number of subsequent failures min_agents(2). % minimal number of agents rate_s(90). % rate if suggested rate_i(70). % rate if intended in principle rate_ni(20). % rate if previously not intended
Um Muster in der Gruppenentwicklung zu identifizieren wurden die Simulationsergebnisse aller Regelmengen nach folgenden Kriterien untersucht und verglichen:
Anzahl und Häufigkeit der durchgeführten Handlungen: Wenn die Gruppe in allen fünfzig Simulationsläufen einer Folge S bis zum Zeitpunkt 200 zusammenbleibt, werden insgesamt 10000 Gruppenhandlungen durchgeführt. Es soll untersucht werden, ob Handlungen eines bestimmten Typs in einer Folge S bevorzugt ausgeführt werden, oder ob die Handlungen mit gleicher Häufigkeit ausgeführt werden. Anzahl der beteiligten Agenten und Häufigkeit ihrer Beteiligung: Wie viele Handlungen eine Gruppe durchführt, sagt noch nichts darüber aus, wie viele Agenten daran beteiligt waren, d.h. wie erfolgreich das Gruppenleben war. Potentiell können an einer Handlung zwei bis zehn Agenten beteiligt sein. Jeder Agent könnte sich in allen fünfzig Simulationsläufen an maximal 10000 Gruppenhandlungen beteiligen. Dass dies bei einer Gruppe
170
5 Simulationsergebnisse
mit 60% geteilter Intentionen und Überzeugungen selbst bei einzelnen Agenten sehr unwahrscheinlich ist, geht bereits aus der Analyse der Variation des Anteils geteilter Absichten und Überzeugungen in Abschnitt 5.4.1 hervor. Im Folgenden soll untersucht werden, wie viele und welche Agenten sich an Gruppenhandlungen beteiligt haben. Insgesamt haben sich in der Simulation der zwanzig Gruppen unterschiedliche Muster in der Gruppenentwicklung herausgebildet, nicht nur bei der Simulation der gleichen Gruppe mit verschiedenen Regelmengen, sondern auch im Vergleich verschiedener Gruppen, die mit der gleichen Regelmenge simuliert wurden. Pro Regelmenge lassen sich jedoch einige typische Merkmale identifizieren. Diese sollen zunächst am Beispiel der Gruppe G13 erläutert werden, deren Entwicklung eine Reihe typischer Merkmale aufweist. 5.4.3.1
Zufallsbasierte Auswahl von Handlungen
Abbildung 21: Häufigkeit der Handlungen von G13 in S1
25
Häufigkeit
20
15
10
5
0 1
3
5
7
go_to_the_cinema go_to_the_theatre play_poker brunch drum_session
9
11
13
15
17
skiing go_to_the_pub go_to_the_disco reading_evening afro_dancing
19
21
23 25 27 29 Simulationslauf
bicyle_tour weiberfasching fitness_studio go_to_a_concert belly_dancing
31
33
35
37
39
41
43
45
discuss_about_medicine make_masks visit_the_museum walpurgisnacht_party
47
49
discuss_about_art make_campfire hike_in_the_mountains chat
Abbildung 21 zeigt die Häufigkeit der Handlungen, die die Gruppe G13 in der Folge S1, (rule_set) = get_random, in 50 Simulationsläufen ausgeführt hat. Da jeder Simulationslauf s1,i, 1 i 50 über einen Zeitraum von 200 Zeitpunkten
171
5.4 Kumulierte Simulationsergebnisse
durchgeführt wurde, ist die Summe der Häufigkeiten aller Handlungen in s1,i gleich 200, wenn die Gruppe über den gesamten Zeitraum zusammengeblieben ist. Dies war in 48 der 50 Testläufe der Fall. In Lauf 18 löste sich die Gruppe nach 197 Zeitpunkten auf, in Lauf 39 nach 168 Zeitpunkten. Die Kurve im Vordergrund markiert die Häufigkeit der Handlung go_to_the_cinema, abgekürzt cinema.48 Die Handlung go_to_the_cinema wurde am häufigsten in Simulationslauf 42 ausgeführt, in 200 Zeitpunkten insgesamt zweiundzwanzig Mal. In den Läufen 8, 9 und 48 wurde die Handlung kein einziges Mal durchgeführt. Die Kurven für die anderen Handlungen lassen ähnliche Schwankungen erkennen. Es ist deutlich zu erkennen, dass die Häufigkeit der Handlungen in den einzelnen Simulationsläufen variiert. Mit fünfundzwanzig Ausführungen der Handlung play_poker in Simulationslauf 4 wurde die höchste Anzahl von Ausführungen einer bestimmten Handlung in einem Lauf der Gruppe G13 mit der Regelmenge get_random erreicht. Abbildung 22: Relative Häufigkeit der Handlungen von G13 in S1
6,62; 3%
6,68; 3%
9,14; 5% 8,4; 4%
9,26; 5% 9,14; 5% 9,54; 5% 9,34; 5% 8,26; 4% 9,22; 5% 8,78; 4% 8,82; 4% 8,48; 4% 9,16; 5% 6,98; 4% 8,52; 4% 9,36; 5% 8,28; 4% 8,62; 4% 8,1; 4%
9; 5% 10,08; 5%
9,52; 5%
go_to_the_cinema skiing bicyle_tour discuss_about_medicine discuss_about_art go_to_the_theatre go_to_the_pub weiberfasching make_masks make_campfire play_poker go_to_the_disco fitness_studio visit_the_museum hike_in_the_mountains brunch reading_evening go_to_a_concert walpurgisnacht_party chat drum_session afro_dancing belly_dancing
Betrachtet man die relative Häufigkeit der ausgeführten Handlungen in der Gesamtheit der Simulationsläufe der Folge S1, so lässt sich feststellen, dass die Werte relativ ausgeglichen sind (siehe Abbildung 22). 48 Aus Platzgründen wurden die Bezeichnungen der Handlungstypen in den Grafiken abgekürzt.
172
5 Simulationsergebnisse
Am häufigsten wurde die Handlung go_to_the_disco ausgeführt, im Durchschnitt 10,08 Mal über 200 Zeitpunkte, was ungefähr 5% entspricht. Die Handlung afro_dancing wurde mit durchschnittlich 6,62 Ausführungen über 200 Zeitpunkte am seltensten ausgewählt. Abbildung 23: Beteiligung der Agentinnen an Handlungen in S1
200 180 160 140
5
Ag en t
49
47
43
45
9
39
8
41
7
37
6
35
4
31
3
33
25
23
2
29
1
27
19
21
15
17
11
13
7
9
5
1
200 200200200 200 200 200 200 200 200 200 200 200200 200 200200 200200 200 200200 200 200200 187 200 200200 200 200 200 200 200 200 200200 200 200 200200 200 200 200 200 200 200200 200 200 200 200 00 197 2200 00 200 200 200 200 200 200 200 200200 100 200 200200 22 00 200 2 00 200 197 200 200 2200 00 2 00 200 00 2200 00 2 00 200 200 200 200 2200 00 200 200 200 2176 00 2200 00 2200 200200 200200200 200 200200 200 167 200 200200 200 00 200 200 200 2200 200 00200 200 200 200 200 200200 200 2200 00 200 200 2200 002200 200 200 200 200200 200 200 200 200 200 200200 200 200 200200 200 200 171 200 200 200200 191 187 200 200 200 200 2200 00 200 200 80 200 200 200 200 200 191 168 200 164 200 200 200 149 177 200 200 200 200200200 168 119 166 147 132 60 132 87 79 117 157 86 92 106 141 137107 77 40 57 107 79 127 86 101 2236 37 107 71 62 92 51 22 51 20 12 21 12 12 1 2 2 2 4 2 1 2 4 2 62 12 4 1 16 4 2111 11 1 1 21142 1 11 1 1 2 112 1 1 121 411221 2 1112 2121921 1112 1 2 27 7 17 27 9 1 0 1 212 14 2 6 111 1 11 17 7 111119 12 1 2 1 21 1 14 124 12224 1 12 1 64 44 19 2 2 234 1 4 2 412 2 1 21 211 2 1 1 2 2 1 16 1 9 2224 2 2 1 4 1 12 2 2 1 1 17 2 11 1 71 1 11 1 1 11 4172 2 1 2 1 1 1 12 21 2 2 1 34 1 4 2 2 7 11 1 22 21 249 11 21 2 1 6 341 7 1 21 4 2129 2 1 6 2112 1 9 1 1 1 21 1 11 721 1 1 612 21 22 1 2 1 122 12 21 221 21 1 1 7 1 1 1 1 1 5 1 1 1 1 1 Simulationslauf 2 1 21 1
3
Zeitpunkt
120
10
Abbildung 23 zeigt die Häufigkeit der Beteiligung der Agentinnen an Gruppenhandlungen in 50 Simulationsläufen. Da die Dauer der Testläufe auf 200 Zeitpunkte begrenzt war, endet die Aufzeichnung bei diesem Wert. Im Vordergrund der Grafik ist die Häufigkeit der Beteiligung von Agentin 1 an Gruppenhandlungen abgebildet. Agentin 1 beteiligte sich in 18 der 48 Simulationsläufe, in denen die Gruppe G13 zusammenblieb, bis Zeitpunkt 200 am Gruppenleben, z.B. in Lauf 1, 2, 7, 8, usw. In den meisten der anderen Simulationsläufe verließ Agentin 1 bereits zu Beginn des Gruppenlebens die Gruppe, davon in 23 Läufen bereits bis zum Zeitpunkt 2 und in weiteren 5 Läufen bis zum Zeitpunkt 12. Lediglich in vier von diesen Läufen verließ die Agentin die Gruppe zu einem späteren Zeitpunkt: in Lauf 16 zum Zeitpunkt 86, in Lauf 23 zum Zeitpunkt 166, in Lauf 35 zum Zeitpunkt 92 und in Lauf 40 zum Zeitpunkt 157. Ähnliche Ergebnisse wurden bei den anderen Agentinnen erzielt (in der Abbildung nur noch teilweise
173
5.4 Kumulierte Simulationsergebnisse
sichtbar bei Agentin 2): Im Durchschnitt beteiligte sich eine Agentin in 17,3 von 50 Simulationsläufen bis zum Zeitpunkt 200 am Gruppenleben (Standardabweichung 2,45). In 21,5 Läufen verließ sie die Gruppe bis zum Zeitpunkt 2 (Standardabweichung 3,55), in weiteren 5,2 Läufen bis zum Zeitpunkt 20 (Standardabweichung 1,07) und in 6,3 Läufen nach Zeitpunkt 20 (Standardabweichung 2,57). Insgesamt beteiligten sich zum Zeitpunkt 200 in 4 Simulationsläufen nur noch zwei der zehn Agentinnen an der Gruppenhandlung, in 21 Simulationsläufen waren dies drei Agentinnen, in 16 Simulationsläufen vier Agentinnen, in 5 Simulationsläufen fünf Agentinnen und in je einem Simulationslauf sechs bzw. sieben Agentinnen. In zwei Fällen hatte sich die Gruppe vorzeitig aufgelöst. Abbildung 25: Anzahl der Beteiligungen zum Zeitpunkt 200 in S1
Abbildung 24: Durchschnittliche Beteiligung an Handlungen in S1
14
83,46
72,6 67,88
76,64
93,9
66,92 86,3
3
21 17
87,16
2
17 17
91,44
1
18
16
4
14 17
98 5
6
7
8
9
10
1
2
3
4
22
5
6
7
8
9
10
Sowohl die durchschnittliche Anzahl der Beteiligungen von Agentinnen an Gruppenhandlungen (siehe Abbildung 24) als auch die Anzahl der Beteiligungen von Agentinnen am Gruppenleben zum Zeitpunkt 200 (siehe Abbildung 25) ist relativ ausgeglichen. In beiden Fällen liegen die Werte zwischen acht und dreizehn Prozent. Da die Agentinnen, falls sie die Gruppe verließen, dies überwiegend bereits zu Beginn des Gruppenlebens taten und sich folglich in den anderen Fällen mehrheitlich bis zum Zeitpunkt 200 an den Handlungen beteiligten, entsprechen sich die Anteile in beiden Auswertungen weitgehend. Geringfügige Abweichungen im Bereich von einem Prozent haben sich ergeben, wenn Agentinnen sich lange an einer Gruppe beteiligten, die sich vorzeitig auflöste, wie z.B. Agentin 7 und 10, die in Lauf 39 bis zum Zeitpunkt 168 zusammenblieben, nachdem der Rest die Gruppe gleich am Anfang verlassen hatte, oder wenn eine Agentin überproportional häufig die Gruppe erst spät verließ, wie Agentin 8, die die Gruppe insgesamt elf Mal nach dem Zeitpunkt 20 verließ, darunter zwei Mal erst zum Zeitpunkt 187 und ein Mal zum Zeitpunkt 191.
174
5 Simulationsergebnisse
5.4.3.2
Überzeugungsbasierte Auswahl von Handlungen ohne Trigger
Abbildung 26: Häufigkeit der Handlungen von G13 in S2
140 120
Häufigkeit
100 80 60 afro_dancing
40
hike_in_the_mountains 20
weiberfasching go_to_the_cinema
0 1
3
5
7
9
go_to_the_cinema go_to_the_theatre play_poker brunch drum_session
11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 Simulationslauf
skiing go_to_the_pub go_to_the_disco reading_evening afro_dancing
bicyle_tour weiberfasching go_to_the_fitness_studio go_to_a_concert belly_dancing
discussion_about_medicin make_masks visit_the_museum walpurgisnacht_party
discussion_about_art make_campfire hike_in_the_mountains chat
Abbildung 26 zeigt die Häufigkeit der Handlungen, die die Gruppe G13 in der Folge S2, (rule_set) = negotiate, in 50 Simulationsläufen ausgeführt hat. Die Anzahl der Zeitpunkte pro Simulationslauf war wiederum auf 200 begrenzt. Bei den Simulationen waren weder positive noch negative Trigger-Bedingungen definiert, somit war in jedem Simulationslauf s2,i, 1 i 50, zu jedem Zeitpunkt t2,i,j, 1 j 200, wie zuvor bei der Regelmenge get_random eine Handlungen jedes beliebigen Handlungstyps actk, 1 k 23, wählbar. In der Simulationsfolge S2 blieb Gruppe G13 in 49 von 50 Testläufen zusammen, in Lauf 32 löste sich die Gruppe nach 195 Zeitpunkten auf. Die Kurve im Vordergrund markiert wieder die Häufigkeit der Handlung go_to_the_cinema, abgekürzt cinema. Im Vergleich zur entsprechenden Grafik der Simulationsfolge S1 (siehe Abbildung 21, S. 170), die mit der Regelmenge get_random durchgeführt wurde, wurde die Handlung go_to_the_cinema wesentlich seltener gewählt. In immerhin 37 von 50 Simulationsläufen wurde die Handlung kein einziges Mal ausgeführt. Wie bei der Regelmenge get_random variiert die Häufigkeit, in der die einzelnen Handlungen in den Simulationsläufen s2,1 bis s2,50 ausgeführt werden. Die Spitzenwerte liegen bei der Regelmenge negotiate jedoch deutlich höher als bei der Regel-
175
5.4 Kumulierte Simulationsergebnisse
menge get_random: Die Handlung hike_in_the_mountains wurde in Lauf 13 einhunderteinunddreißig Mal und in Lauf 35 einundsiebzig Mal ausgeführt, die Handlung chat in Lauf 27 neunundachtzig Mal und in Lauf 37 fünfundsechzig Mal, die Handlung make_masks in Lauf 48 achtundsiebzig Mal. Abbildung 27: Relative Häufigkeit der Handlungen von G13 in S2 2,5; 1% 1,48; 1% 6,8; 3%
2,1;3,14; 1% 2% 14,7; 7%
16,4; 8% 9,72; 5% 4,86; 2% 6,42; 3%
16,94; 8% 14,72; 7%
3,1; 2% 4,44; 2% 6,1; 3% 7,82; 4%
16,94; 8%
9,72; 5%
6,62; 3%
11,4; 6% 12,62; 6% 11,02; 6%
10,32; 5%
go_to_the_cinema skiing bicyle_tour discuss_about_medicine discuss_about_art go_to_the_theatre go_to_the_pub weiberfasching make_masks make_campfire play_poker go_to_the_disco fitness_studio visit_the_museum hike_in_the_mountains brunch reading_evening go_to_a_concert walpurgisnacht_party chat drum_session afro_dancing belly_dancing
Diese Ergebnisse wirken sich auf die relative Häufigkeit der ausgeführten Handlungen in der Gesamtheit der Simulationsläufe der Folge S2 aus (siehe Abbildung 27), die Anteile variieren zwischen zwei und acht Prozent. Handlungen bestimmter Handlungstypen werden somit bevorzugt ausgeführt, Handlungen anderer Handlungstypen werden dafür eher selten gewählt. Am stärksten vertreten sind die Handlungen der Typen hike_in_the_mountains und go_to_a_concert mit durchschnittlich 16,94 Ausführungen, gefolgt von chat mit durchschnittlich 16,4 Ausführungen, go_to_the_theatre mit durchschnittlich 14,72 Ausführungen und bicycle_tour mit durchschnittlich 14,7 Ausführungen. Vergleicht man Initialzustand einer Gruppe mit zehn Agentinnen in Lauf 1, S. 149, die den Initialzustand der Gruppe G13 darstellt, mit diesen Ergebnissen, so fällt auf, dass dies genau die Handlungen sind, die stark in der Überzeugungsmenge einiger Agentinnen repräsentiert sind. Auch die beiden Handlungen hike_in_the_mountains und chat, die in einzelnen Läufen Spitzenwerte erzielt
176
5 Simulationsergebnisse
haben, sind hier vertreten. Prüfungen in den Daten haben jedoch kein auffälliges Muster ergeben. Die Handlungen wurden einfach überproportional häufig gewählt. Manchmal wurden sie innerhalb einer Zeitperiode mehrmals nacheinander ausgeführt. Dazwischen wurden aber auch andere Handlungen ausgeführt, so dass auch in diesen Läufen die Handlungen bis zum Schluss variiert wurden. In den entsprechenden Simulationsläufen waren zwischen drei und sieben Agentinnen bis zum Zeitpunkt 200 beteiligt.49 Abbildung 28: Beteiligung der Agentinnen an Handlungen in S2
200 180 160
9
47
49
45
41
43
8
37
7
39
6
35
5
33
4
29
3
31
23
2
27
1
25
19
21
15
17
1
0
13
20
9
40
11
60
5
80
7
100
200 200 200 200 200 200 200 200 200 200 200 200 200 200 200200 200 200 200 200200 200 200 200 200200 200 200 200 200 200 200 200 200200 200 200 191 200200 200 200 200 200 200 200 200 00 200 200200 200 200 200 2200 00 200 200200 200 200200 2200 200 200 200 179 200 200 200 2200 00 200200 200 200 200 200 200 200200 200 200 200 200 2184 00 200 200 200200 200 200200 200 200 00 200200 200 00 200 200 200 2200 00 200 2200 200 200 2200 2200 00 00 200200 200 200 200 200 200 200 2200 00 194 2200 171 200 200 196 200 200 152 2200 00200 200200 200 200 200 200 200 176 200 200 200 200 200 200 146 200 194 200 200200 200 200 200 200 200 200 200 193 200 200 2200 00 200 200 200 2 00 200 200 200 200200200 200 200 200 162 200 200 200 200 200 200 00 2002200 200200 00 2200 154 153 200 200 2 00 164 142 133 138 162 164 134 138 137 87 126 135 84 94 96 66 74 54 122 79 62 46 75 79 86 101 36 61 57 119 7 37 32 32 12 2 321 1 1 21 2 57 4 4 6 1 57 1 27 56 1 14 471 2 61 1 221 221 62 36 22 121 2 1 1 52 121 4471 2 2 2 1 2219 14 7 2 2 1 1 12 6 1 12 1 1 1 2 429 1 11 22 17 1 1 12 1426 6 16 1 6 121 211621 16 2 12 1 17 2 1 2 71 1 1 223412 22 1 2 1 2 2 1 2 4 1 2 2 2 2 1 14 2 2 7 4 1 14 26 1 1 7 1 212 32 1 1 1 72 1 2 2 21 2 2 61 1 1 11221 411 221 2 214 1 1 94 2 61 71922311 24 2 22244 414 2 1 62 21 21 2 322271 72 1422 2 6 11 11 11 24 1 4411 4 127 1219 1 2 1 2 4 72 1 1 9 16 1 1 7 2 2 2 2 2 5 2 1 21 2 61 1 2 71 4 1 12 1 72 1 1 Simulationslauf 1 1 3
Zeitpunkt
120
Ag en t
140
10
Abbildung 28 zeigt die Häufigkeit der Beteiligung von Agentinnen an den Gruppenhandlungen in 50 Simulationsläufen mit der Regelmenge negotiate ohne Trigger. Im Vergleich zu Abbildung 23, die die Häufigkeit der Beteiligung von Agentinnen an den Handlungen der Gruppe G13 in der Folge S1 darstellt, die mit 49 Die Tatsache, dass gerade Handlungen der Handlungstypen, die zu Beginn und am Ende der Liste stehen, schwach repräsentiert sind, ist ein untypisches Merkmal der Gruppe G13. In jeder Gruppe gibt es bei Simulationen mit der Regelmenge negotiate zwar Handlungstypen, die mit einem Anteil von zwei Prozent oder weniger ausgeführten Handlungen sehr schwach vertreten sind, es können jedoch beliebige Handlungstypen davon betroffen sein (siehe Anhang).
177
5.4 Kumulierte Simulationsergebnisse
der Regelmenge get_random durchgeführt wurde, fällt bereits bei Betrachtung der Häufigkeit der Beteiligung von Agentin 1 an Gruppenhandlungen auf, dass sich Agentin 1 hier seltener an Gruppenhandlungen beteiligt hat. Agentin 1 war in nur zwölf der 49 Simulationsläufe, in denen die Gruppe G13 bis Zeitpunkt 200 zusammenblieb, über den gesamten Zeitraum beteiligt; in sechsundzwanzig Läufen verließ sie die Gruppe bereits vor Zeitpunkt 3, in neun weiteren Läufen bis Zeitpunkt 26 und in drei Läufen zu einem späteren Zeitpunkt. Agentin 3 war hingegen häufig vertreten, wie die hohen Balken in Abbildung 28 erkennen lassen. In vierunddreißig Läufen beteiligte sie sich bis zum Ende des simulierten Zeitraums am Gruppenleben, in fünf Läufen verließ sie die Gruppe bereits vor Zeitpunkt 3, in weiteren fünf Läufen bis Zeitpunkt 20 und in sechs Fällen zu einem späteren Zeitpunkt. Abbildung 30: Anzahl der Beteiligungen zum Zeitpunkt 200 in S2
Abbildung 29: Durchschnittliche Beteiligung an Handlungen in S2 55,46
55,28
11
56,2
12
11
27
128,86 146,66
34 23
109,4 66,74
19
94,3
1
2
3
4
14
7
35,08
28
141,62
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
Diese Schwankungen schlagen sich auch in der durchschnittlichen Beteiligung der Agentinnen an Gruppenhandlungen insgesamt (siehe Abbildung 29) nieder, sowie in der durchschnittlichen Anzahl der Beteiligungen der Agentinnen am Gruppenleben zum Zeitpunkt 200 (Abbildung 30). Die Werte für die durchschnittliche Gesamt-Beteiligung liegen hier zwischen 35,08 (Agentin 7) und 146,66 (Agentin 3). Die Anzahl der Beteiligungen an Gruppenhandlungen zum Zeitpunkt 200 lag in den neunundvierzig Simulationsläufen, in denen die Gruppe bis dahin zusammenblieb zwischen sieben Beteiligungen (Agentin 7) und vierunddreißig Beteiligungen (Agentin 3). Die Agentinnen 3, 5, 8 und 9 sind häufig vertreten. Die Beteiligung der Agentinnen 4 und 6 liegt in dem Bereich, der bei der Regelmenge get_random erreicht wurde, während die Agentinnen 1, 2, 7 und 10 schwach vertreten sind. In sechs Läufen beteiligten sich zum Zeitpunkt 200
178
5 Simulationsergebnisse
zwei Agentinnen an der Gruppenhandlung, in neunzehn Läufen waren dies drei Agentinnen, in elf Läufen vier Agentinnen, in acht Läufen fünf Agentinnen und in je einem Simulationslauf sieben bzw. acht Agentinnen. In einem Fall hatte sich die Gruppe vorzeitig aufgelöst. Im Durchschnitt beteiligte sich eine Agentin in 18,6 von 50 Simulationsläufen bis zum Zeitpunkt 200 am Gruppenleben. Dieser Wert ist hauptsächlich für den Vergleich mit dem Referenzwert der Regelmenge get_random (17,3) interessant. Die Standardabweichung liegt mit einem Wert von 8,55 deutlich über dem entsprechenden Wert der Regelmenge get_random (2,45). 5.4.3.3 Überzeugungsbasierte Auswahl von Handlungen mit Triggern Abbildung 31 zeigt die Häufigkeit der Handlungen:, die die Gruppe G13 in der Folge S3, (rule_set) = negotiate, in 50 Simulationsläufen ausgeführt hat. Die Anzahl der Zeitpunkte pro Simulationslauf war wiederum auf 200 begrenzt. Im Gegensatz zur Simulationsfolge S2 waren in S3 bei einigen Handlungstypen positive und bei anderen Handlungstypen negative Trigger definiert. Durch die Parameterbelegung (meetings_per_year) = 12 wurde ein Zeitintervall definiert, in dem in jeder Iteration zwölf Zeitpunkte durchlaufen werden. Dies bewirkt, dass in jedem Simulationslauf s3,i, 1 i 50, zu jedem Zeitpunkt t3,i,j, 1 j 200, an dem für die Berechnung t3,i,j % 12 ein positiver Trigger definiert ist, die Ausführung einer Handlung dieses Typs von allen Agentinnen präferiert wird, die intendieren, diese Handlung auszuführen. Umgekehrt wird zu allen Zeitpunkten, zu denen für die Berechnung t3,i,j % 12 ein negativer Trigger definiert ist, die Auswahl einer Handlung dieses Typs unterdrückt. In den Testläufen war der Handlungstyp make_masks zum ersten Zeitpunkt des Zeitintervalls mit einem positiven Trigger belegt, der Handlungstyp weiberfasching zum zweiten Zeitpunkt und der Handlungstyp walpurgisnacht_party zum vierten Zeitpunkt. Der Handlungstyp go_skiing war von Zeitpunkt 5 bis Zeitpunkt 11 des Zeitintervalls mit negativen Triggern belegt, die Handlungstypen bicycle_tour und hike_in_the_mountains von Zeitpunkt 1 bis 4 sowie zu den Zeitpunkten 11 und 12 und der Handlungstyp make_campfire von Zeitpunkt 1 bis 4 und zu Zeitpunkt 12 (siehe Beispielparameterdatei im Anhang B). Wie in der Simulationsfolge S2, die mit der Regelmenge negotiate ohne definierte Triggerbedingungen durchgeführt wurde, blieb die Gruppe G13 in neunundvierzig von fünfzig Testläufen zusammen, in Lauf 34 löste sich die Gruppe nach einhundertundsiebzig Zeitpunkten auf. Auch in S3 liegen die Spitzenwerte in einzelnen Läufen deutlich höher als bei der Regelmenge get_random: die Handlung go_to_the_fitness_studio wurde in Lauf 37 achtundsiebzig Mal ausge-
179
5.4 Kumulierte Simulationsergebnisse
führt, die Handlung go_to_the_disco in Lauf 41 sechsundsiebzig Mal und die Handlung chat in Lauf 20 fünfzig Mal und in Lauf 32 fünfundfünfzig Mal. Mit einundfünfzig Ausführungen von hike_in_the_mountains in Lauf 22 ist bei den Spitzenwerten sogar eine Handlung vertreten, die mit einem negativen Trigger belegt ist. Abbildung 31: Häufigkeit der Handlungen von G13 in S3
80 70
Häufigkeit
60 50 40 30 afro_dancing 20
hike_in_the_mountains
10
weiberfasching go_to_the_cinema
0 1
3
5
7
9
go_to_the_cinema go_to_the_theatre play_poker brunch drum_session
11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 Simulationslauf
skiing go_to_the_pub go_to_the_disco reading_evening afro_dancing
bicyle_tour weiberfasching go_to_the_fitness_studio go_to_a_concert belly_dancing
discussion_about_medicin make_masks visit_the_museum walpurgisnacht_party
discussion_about_art make_campfire hike_in_the_mountains chat
Wie in den Simulationsläufen der Folge S2 (siehe Abbildung 27), werden Handlungen bestimmter Handlungstypen bevorzugt ausgeführt, Handlungen anderer Handlungstypen werden dafür eher selten gewählt. In Folge S3 variieren die Anteile zwischen null und zwanzig Prozent (siehe Abbildung 32). Die häufig gewählten Handlungstypen haben sich etwas verändert: Am häufigsten gewählt wurden Handlungen des Typs go_to_the_disco mit durchschnittlich 19,02 Ausführungen pro Simulationslauf. Mit durchschnittlich 17,4 Ausführungen von chat folgt ein Handlungstyp, der bereits in Simulationsfolge S2 häufig gewählt wurde.
180
5 Simulationsergebnisse
Abbildung 32: Relative Häufigkeit der Handlungen von G13 in S3 0,64; 0% 4,86; 2% 4,08; 2%
3,08; 2%0% 0,92; 6,7; 3% 12,34; 6%
17,4; 9%
1,84; 1%
12,06; 6%
12,64; 6% 11,38; 6% 5,78; 3% 7,02; 4%
8,9; 4%
12,52; 6%
8,78; 4%
12,34; 6%
13,82; 7%
4,24; 2% 3,76; 2%
15,28; 8% 19,02; 10%
go_to_the_cinema skiing bicyle_tour discuss_about_medicine discuss_about_art go_to_the_theatre go_to_the_pub weiberfasching make_masks make_campfire play_poker go_to_the_disco fitness_studio visit_the_museum hike_in_the_mountains brunch reading_evening go_to_a_concert walpurgisnacht_party chat drum_session afro_dancing belly_dancing
Mit durchschnittlich 12,34 bzw. 12,52 Ausführungen sind auch die positiv getriggerte Handlungstypen make_masks und weiberfasching stark vertreten. Bei maximal 16 möglichen Ausführungen pro Simulationslauf wurden sie an der Mehrzahl der möglichen Zeitpunkte ausgewählt. Handlungen des Typs walpurgisnacht_party (durchschnittlich 1,84 Ausführungen pro Lauf) wurden hingegen trotz eines positiven Triggers selten gewählt, was zeigt, dass auch positiv getriggerte Handlungen nicht gewählt werden, wenn die Mehrheit der Gruppe nicht beabsichtigt, sie auszuführen: Betrachtet man Abbildung 14, die den Initialzustand der Gruppe G13 darstellt – allerdings in dieser Abbildung in einem Simulationslauf, der ohne Trigger durchgeführt wurde –, so fällt auf, dass in der generierten Menge von Intentionen jeweils fünf Agentinnen beabsichtigen, die Handlung make_masks bzw. walpurgisnacht_party auszuführen, jedoch nur eine Agentin beide Handlungen durchführen möchte. Die Intention die Handlung weiberfasching auszuführen ist bei sieben Agentinnen vorhanden. In den meisten Fällen setzt sich die Fraktion, die die getriggerte Handlung make_masks zu Zeitpunkt 1 ausführen möchte, durch. Bei vier der fünf Agentinnen, die die Handlung walpurgisnacht_party durchführen möchten, besteht nun eine hohe Wahrscheinlichkeit, dass sie die Gruppe verlassen haben, bevor es zur Ausführung dieser Handlung kommt. Die getriggerte Handlung wird daher in den meisten Fällen nicht ausgeführt.
181
5.4 Kumulierte Simulationsergebnisse
Abbildung 33: Beteiligung der Agentinnen an Handlungen in S3 200 180 160 140
Zeitpunkt
120
200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 00 200 00 200 200 2200 00 2200 200 200 200 2200 200 200 200 2200 00200 200 200 200 200 200 200 00 200 00 2200 00 00 200 200 200 2200 00 100 200 200 2200 200 2200 200200 200 200 2200 00 200 200 200 200 2200 00 200 200 2200 00 200 200 200200 200200 2200 200 200 200 2200 00 200 200 200 00 200 2200 00 00 200 2200 200 200 200 200 2200 2200 00200 200 200 00 200 200 200 2 00 200 200 2200 200 00 200 200 200 200 2200 00 138 2200 200 200 200 200 200 170 80 200 200 200 200 200 200 200 200 200 2200 00 200 191 2 00 200 200 200 200 200200200200 170 60 104 57
40
59 37 7 7 21 111 1 1 6 11 9 1 1 1 1 1 1 1 37 12 1 1212 2 1111 1 1 1 1 6 222 222 2161211 7 2 4 12 11111111 11 411 1111 1 1111 71 121 7 21 1 2 1 6 0 1 1212 71 12122122176 21241 11211211111111 21 211111 11 11 1 1 71 9 1 1 1 12 12 2 22 21 1 2 11 11 11 11 1 1 11 1 1 1 6 9 61 4 9 1 2 2 12 22 22 261 21 21 211211 111111 11 111211 11 11 1 1 1 12 1 1 1 1 2 2 2 22 2 21 1 1 611 2 11 1 1 11 1 7 1 1 6 1 2 1 1 1 2 2 1 6 2 1 2 1 1 61121 111111 1 211 211 1 11 11 9 1 1 12 12 22 22 22 21 19 1 1 1 12 2 42 22 2 21 21 211 12 1 5 2 2 2 1 71 1 4 1 12 12 Simulationslauf 1
9
Ag en t
49
45
47
43
8
41
7
37
6
39
5
35
31
4
33
3
27
23
2
29
1
25
19
21
15
17
11
13
7
9
5
1
3
20
10
Abbildung 33 zeigt die Häufigkeit der Beteiligung von Agentinnen an den Gruppenhandlungen in fünfzig Simulationsläufen mit der Regelmenge negotiate mit Trigger-Bedingungen. An der Kurve im Vordergrund, die die Beteiligung von Agentin 1 an Gruppenhandlungen zeigt, fällt auf, dass diese nun, im Gegensatz zu Simulationsfolge S2 (siehe Abbildung 28), in der Mehrzahl der Simulationsläufe in Folge S3 an Gruppenhandlungen beteiligt war. Agentin 1 war in neununddreißig von fünfzig Simulationsläufen, in denen die Gruppe G13 bis Zeitpunkt 200 zusammenblieb, über den gesamten Zeitraum beteiligt. In acht Läufen verließ sie die Gruppe zwischen Zeitpunkt 6 und Zeitpunkt 22, in zwei Läufen verließ sie die Gruppe zu einem späteren Zeitpunkt, darunter auch in dem Lauf in dem sich die Gruppe nach Zeitpunkt 170 auflöste. Agentin 3 war hingegen wesentlich seltener vertreten als in Simulationsfolge S2: In nur zwölf Läufen beteiligte sie sich bis zum Ende des simulierten Zeitraums. In 37 Läufen verließ sie die Gruppe bereits vor Zeitpunkt 3 und in einem Lauf zu Zeitpunkt 11. Wie bereits in Simulationsfolge S2 sind auch in Simulationsfolge S3 die Schwankungen in der durchschnittlichen Beteiligung der Agentinnen an Gruppenhandlungen insgesamt (siehe Abbildung 34), sowie in der durchschnittlichen Anzahl der Beteiligungen der Agentinnen am Gruppenleben zum Zeitpunkt 200 (siehe Abbildung 35) wesentlich höher als bei der Simulationsfolge S1 mit der
182
5 Simulationsergebnisse
Regelmenge get_random. Die Beteiligung liegt zwischen 5,18 (Agentin 6) und 164,32 (Agentin 9) bei der durchschnittlichen Beteiligung an Gruppenhandlungen in 50 Simulationsläufen und zwischen einer Beteiligung (Agentin 6) und vierzig Beteiligungen (Agentin 9) an Gruppenhandlungen in 50 Simulationsläufen zum Zeitpunkt 200. Die Gruppe der häufig vertretenen Agentinnen ist nun eine andere als bei der Simulationsfolge S2: Die Agentinnen 1, 9 und 10 sind nun besonders häufig vertreten, in der Simulationsfolge S2 waren es die Agentinnen 3, 5, 8 und 9. Zum Zeitpunkt 200 beteiligten sich in sieben Simulationsläufen zwei Agentinnen an der Gruppenhandlung, in dreiundzwanzig Simulationsläufen waren dies drei Agentinnen, in siebzehn Simulationsläufen vier Agentinnen und in zwei Simulationsläufen fünf Agentinnen. Die durchschnittliche Beteiligung einer Agentin am Gruppenleben bis zum Zeitpunkt 200 liegt mit 16,1 von 50 Simulationsläufen unter den Referenzwerten von Folge S1 (17,3) und Folge S2 (18,6). Die Standardabweichung ist hier mit einem Wert von 15,42 am höchsten. Abbildung 35: Anzahl der Beteiligungen zum Zeitpunkt 200 in S3
Abbildung 34: Durchschnittliche Beteiligung an Handlungen in S3
163,54
164,1
39
39
29,24 7 49,7 164,32
12
26,12 28,68 25,28
40
6
5,18 6
21,44
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
51
6
6
7
8
9
10
5.4.3.4 Typische Muster der Gruppenentwicklung Abbildung 36 gibt einen Überblick über die Handlungen pro Handlungstyp, die die Gruppe G13 in den Simulationsfolgen S1, S2 und S3 durchschnittlich ausgeführt hat. Der linke Balken markiert die Handlungen pro Handlungstyp, die in der Simulationsfolge S3, Regelmenge negotiate mit definierten TriggerBedingungen, durchschnittlich ausgeführt wurden, der mittlere Balken markiert dies für die Simulationsfolge S2, Regelmenge negotiate ohne definierte TriggerBedingungen und der rechte Balken für die Simulationsfolge S1, Regelmenge
183
5.4 Kumulierte Simulationsergebnisse
get_random. In den Simulationsfolgen S2 und S3 ist die Gruppe in neunundvierzig von fünfzig Läufen bis zum Zeitpunkt 200 zusammengeblieben. Bei Simulationsfolge S2 beziehen sich die Werte auf 9994 von insgesamt 10000 möglichen Handlungen, bei Folge S3 auf 9970. In der Simulationsfolge S1 hatte sich die Gruppe in zwei Läufen vorzeitig aufgelöst, daher wurden bei Folge S1 nur 9965 ausgeführte Handlungen erfasst. In der Gegenüberstellung ist deutlich zu erkennen, dass in den Simulationsfolgen, die mit der Regelmenge negotiate durchgeführt wurden, die Varianz höher ist, als bei Folge S1. Durchschnittlich wurde eine Handlung pro Lauf zwischen 8,66 mal (S1) und 8,69 mal ausgeführt, die Varianz in S1 betrug 0,77 (Standardabweichung 0,88), in S2 23,91, (Standardabweichung 4,89) und in S3 27,25 (Standardabweichung 5,22). Abbildung 36: Durchschnittlich ausgeführte Handlungen pro Typ in G13 20 18
Durchschnittliche Anzahl
16 14 12 10 8 6 4 2
pu ca b m ak rniv a e_ m l as ca ks m p pl ay fire _p ok er fit ne dis c ss _s o tu di o m us eu m hi ki ng br un c re h ad in g w al con pu ce rg rt is na ch t dr um ch _s at af ess ro _d ion be an c lly _d ing an ci ng
ci ne m
a sk b i di i sc icy ng us le_ s_ to u m ed r i ci di n sc us e s_ ar th t ea tre
0
Negotiate incl. Trigger
Negotiate excl. Trigger
Random
Die in den überzeugungsbasierten Simulationsfolgen gewählte Parameterbelegung (percent_bel) = 60 bewirkt, dass die Agentinnen nicht glauben, dass alle anderen Agentinnen ihre Interessen teilen. Bestimmte Handlungstypen sind stark in der Überzeugungsmenge repräsentiert, andere Handlungstypen dafür kaum. Jede Agentin schlägt bevorzugt die Handlungen vor, von der sie glaubt, dass viele andere Agentinnen die Absicht teilen, die Handlung auszuführen. Wird der Vorschlag angenommen, und war die Handlung erfolgreich, bleiben die Über-
184
5 Simulationsergebnisse
zeugungen bestehen. Wie bereits festgestellt, sind in dieser Gruppe die häufig gewählten Handlungen go_to_a_concert, hike_in_the_mountains, chat, go_to_the_disco und bicycle_tour stark in der Überzeugungsmenge einiger Agentinnen vertreten (vergleiche hierzu Abbildung 14 in Abschnitt 5.3). Bei den meisten Handlungstypen gibt es starke Abweichungen in der durchschnittlichen Anzahl der ausgeführten Handlungen zwischen der triggerbasierten und der nicht getriggerten Simulationsfolge der Regelmenge negotiate. Lediglich bei Handlungen des Typs chat sind die Werte ausgeglichen. Dies ist durch die Bildung unterschiedlicher Gruppenkerne bei den Simulationsfolgen S2 und S3 bedingt. Abbildung 37: Beteiligungen an Handlungen zum Zeitpunkt 200 in G13
45
40
35
Anzahl Beteiligungen
30
25
20
15
10
5
0 1
2
3
4
5
6
7
8
9
10
Agentin
Negotiate incl. Trigger
Negotiate excl. Trigger
Random
Abbildung 37 zeigt eine Gegenüberstellung der Anzahl der Beteiligungen der Agentinnen an Gruppenhandlungen zum Zeitpunkt 200 in den Simulationsfolgen S1, S2 und S3. Der linke Balken markiert die Anzahl von Beteiligungen, die eine Agentin in der Simulationsfolge S3, Regelmenge negotiate mit definierten Trigger-Bedingungen, erreicht hat, der mittlere Balken markiert die Anzahl von Beteiligungen, die in der Simulationsfolge S2, Regelmenge negotiate ohne definier-
185
5.4 Kumulierte Simulationsergebnisse
te Trigger-Bedingungen erreicht wurde, und der rechte Balken die Anzahl von Beteiligungen, die in der Simulationsfolge S1, Regelmenge get_random, erreicht wurde. Es ist deutlich zu erkennen, dass die höchsten Werte in Folge S3 erreicht wurden. Agentin 1 und Agentin 10 waren achtunddreißig Mal bis zum Ende des simulierten Zeitraums vertreten, Agentin 9 sogar vierzig Mal. Auch in Folge S2 hatte sich ein so genannter Gruppenkern gebildet, der diesmal jedoch aus den Agentinnen 3, 5, 8 und 9 bestand, die alle zwischen dreiundzwanzig und vierunddreißig Mal vertreten waren. Agentin 6, die in Simulationsfolge S3 nur einmal vertreten war, kann mit neunzehn Beteiligungen noch zum erweiterten Kern gezählt werden. Bei der Regelmenge get_random hingegen war die Beteiligung der Agentinnen relativ ausgeglichen, die Agentinnen waren zwischen vierzehn und zweiundzwanzig Mal bis zum Ende des simulierten Zeitraums vertreten. Die Definition von Triggern schränkt die Wahlfreiheit der Handlungen ein. Wenn diese, wie bei Gruppe G13 am Anfang des Gruppenlebens ungünstig fallen, nimmt die Anzahl der beteiligten Agentinnen bereits zu Beginn des Gruppenlebens stark ab. Der verbleibende Kern, der nun auf wenige Agentinnen beschränkt war, zeigte sich jedoch erstaunlich stabil. Dieses Phänomen ist auch bei anderen Gruppen zu beobachten. Die durchschnittliche Anzahl von Beteilungen an Gruppenhandlungen ist bei trigger-basierten Simulationsfolgen generell geringer als bei Simulationsfolgen, die ohne definierte Trigger durchgeführt wurden. Die durchschnittliche Anzahl von Beteiligungen der Agentinnen am Gruppenleben zum Zeitpunkt 200 ist jedoch bei beiden Simulationsfolgen, die mit der Regelmenge negotiate durchgeführt wurden, höher als bei der Regelmenge get_random (siehe Tabelle 7). Tabelle 7: Vergleich der Ergebnisse der Simulationsfolgen S1, S2 und S3
S1 S2 S3
( Beteiligung an Handlungen (20 Gruppen) 81,59 87,40 79,36
( Anzahl Agenten zum Zeitpunkt 200 (20 Gruppen) 3,52 3,75 3,75
( Beteiligung an Handlungen G13 82,43 88.96 67,76
( Anzahl Agentinnen zum Zeitpunkt 200 G13 3,46 3,72 3,22
Die Entwicklung der Gruppe G13 weist einige typische Merkmale auf: Die Bildung von Gruppenkernen, die aus drei bis fünf Agentinnen bestehen, ist das am häufigsten vertretene Muster bei Simulationsfolgen mit der Regelmenge negotiate. In den meisten Fällen ist dieses Muster bei den Folgen mit definierten Hand-
186
5 Simulationsergebnisse
lungs-Triggern am stärksten ausgeprägt. Die – bewusst gewählte – „unfaire“ Belegung von je einer Handlung zu den Zeitpunkten 1, 2 und 4 mit einem positiven Trigger bewirkt zusammen mit den Einstellungen für die Erfolgsbewertung, dass die Agentinnen, die nicht intendieren diese Handlungen auszuführen, die Gruppe mit einer hohen Wahrscheinlichkeit verlassen, falls die Mehrheit den Trigger-Bedingungen folgt. Mit jeder Agentin, die die Gruppe verlässt, wird auch die Menge ihrer Einstellungen gelöscht, sozusagen ihre „individuellen“ Interessen. Dies führt gleich zu Beginn des Gruppenlebens zur Beschränkung der vorhandenen Interessen und damit zur Verringerung der generierten Vorschläge. Aus der geringeren Menge der Vorschläge können die verbliebenen Gruppenmitglieder ihren gemeinsamen Anteil einfacher herausfinden. Wenn, wie bei Gruppe G13, die Interessen bei den getriggerten Handlungen ungünstig verteilt sind, ist das Muster der Kernbildung besonders deutlich ausgeprägt. Die Bildung des Gruppenkerns wird bereits zu Beginn des Gruppenlebens entscheidend beeinflusst: In Gruppe G13 intendieren nur die Agentinnen 1, 9 und 10 beide anfänglich getriggerten Aktionen auszuführen. Diese Agentinnen bilden den Kern der Gruppe. Andere Agentinnen gesellen sich dazu, wenn sie die ursprünglich nicht intendierte Handlung positiv bewertet haben – die gewählte Testeinstellung beinhaltet hierfür immerhin eine Wahrscheinlichkeit von zwanzig Prozent ((rate_ni) = 20). Alleine die Tatsache, die ungünstigen Bedingungen zu Beginn des Gruppenlebens überstanden zu haben, reicht nicht aus. Auch die restlichen Interessen müssen zu den Interessen der anderen Agentinnen passen, die den Gruppenkern bilden. Immerhin hat sich Agentin 3, die ebenso wie Agentin 4 zwar intendiert, die mit einem Trigger für Zeitpunkt 1 versehene Handlung make_masks auszuführen, jedoch nicht intendiert, die für Zeitpunkt 2 getriggerte Handlung weiberfasching auszuführen, mit einer durchschnittlichen Beteiligung an 49,12 Handlungen fast doppelt so oft an Gruppenhandlungen beteiligt wie Agentin 4 mit durchschnittlich 26,12 Beteiligungen. In zwölf Läufen war Agentin 3 bis zum Zeitpunkt 200 vertreten, Agentin 4 nur in sechs. Die Agentinnen 2, 5, 7 und 8, die nicht beabsichtigen, die erste getriggerte Handlung auszuführen, dafür jedoch die zweite, befinden sich trotz schlechterer Startbedingungen im Bereich von Agentin 4. Agentin 6, die keine der beiden getriggerten Handlungen ausführen möchte, hat schlechte Chancen, in der Gruppe Fuß zu fassen. Auch in der Simulationsfolge S2 mit der Regelmenge negotiate ohne Trigger, hat sich bei Gruppe G13 ein Gruppenkern gebildet, der jedoch nicht so deutlich ausgeprägt ist wie bei der Simulationsfolge S3. Diesmal bilden ihn die Agentinnen 3, 5, 8 und 9, die jeweils zwischen dreiundzwanzig und vierunddreißig Mal bis zum Ende des simulierten Zeitraums vertreten sind. Agentin 6, die in S3 nur einmal vertreten war, kann nun mit neunzehn Beteiligungen zum erweiterten
5.4 Kumulierte Simulationsergebnisse
187
Kern gezählt werden. Die anderen Agentinnen sind mit sieben (Agentin 7) bis vierzehn Beteiligungen (Agentin 14) stärker vertreten, als die entsprechende Rest-Gruppe in der triggerbasierten Simulationsfolge. Ungünstige Startbedingungen können die Gruppenentwicklung, wie auch den Verlauf von sozialen Praktiken insgesamt, maßgeblich beeinflussen. Im Vergleich der Ergebnisse von Folge S2 und S3 lässt sich feststellen, dass sowohl die Anzahl als auch die Zusammensetzung der am Kern beteiligten Agenten unterschiedlich ist. Ob eine derart strenge Vorgabe des Handlungsablaufs wie in den Simulationsexperimenten gerade zu Beginn des Gruppenlebens für eine Gruppe des intendierten Bereichs wirklich sinnvoll ist, kann sicherlich bezweifelt werden. Andererseits sind bestimmte äußere Bedingungen manchmal einfach gegeben. Eine OutdoorFreizeitsportgruppe hat sicherlich schlechtere „Überlebenschancen“, wenn sie dieses Vorhaben in einem Sommer beginnt, der sich später als verregnet herausstellen wird, als wenn sie das gleiche Projekt in der gleichen personellen Zusammensetzung in einem Jahrhundertsommer begonnen hätte. Eine Kernbildung wie in Gruppe G13 ist das am häufigsten zu beobachtende Muster der Gruppenentwicklung (siehe Anhang C). Typischerweise ist das Muster in den triggerbasierten Simulationsfolgen aufgrund des selektiven Zusammenspiels zwischen Trigger-Definitionen und Erfolgsbewertung am deutlichsten ausgeprägt (siehe z.B. G3, G7 und G18), es gibt aber auch Gruppen bei denen das Muster bei Folgen mit der Regelmenge negotiate ohne Trigger deutlicher ausgeprägt ist (siehe G11 und G15). Die geringste Streuung wird in Simulationsfolgen mit der Regelmenge get_random erreicht. In einigen Gruppen bestehen die Gruppenkerne, ähnlich wie in Gruppe G13, mehrheitlich aus unterschiedlichen Agentinnen, je nachdem ob eine Simulationsfolge der Regelmenge negotiate mit oder ohne Trigger simuliert wird (z.B. bei der Gruppe G19). In anderen Gruppen sind mehrere Agentinnen in beiden Simulationsfolgen am Gruppenkern beteiligt, z.B. Agentin 4 und Agentin 6 in Gruppe G16 oder Agentin 3 und 6 in Gruppe G10, wobei hier Agentin 6 sogar in allen drei Regelmengen überproportional häufig vertreten ist. Ein weiteres zu beobachtendes Muster der Gruppenentwicklung bei Simulationsfolgen mit der Regelmenge negotiate ist das Muster der „Anführerinnen“, d.h. das Muster der Kernbildung ist nicht so stark ausgeprägt, dafür sind ein oder zwei Agentinnen besonders stark vertreten. Auch dieses Muster ist in triggerbasierten Simulationsfolgen am deutlichsten ausgeprägt: In Gruppe G20 ist Agentin 8 in achtundvierzig von fünfzig Simulationsläufen bis zum Zeitpunkt 200 vertreten, gefolgt von Agentin 10, die immerhin achtunddreißig Mal vertreten war. Die durchschnittliche Beteiligung aller Agentinnen liegt mit 85,96 Beteiligungen in Regelmenge negotiate im Mittelfeld. In Gruppe G14 gibt es bei Simulationsfolge S3 mit Agentin 1 (zweiundvierzig Beteiligungen) und Agentin 4
188
5 Simulationsergebnisse
(dreiundvierzig Beteiligungen) zwei Anführerinnen, wobei hier Agentin 4 auch in Simulationsfolge S2 gemeinsam mit Agentin neun stark vertreten war, allerdings ist mit jeweils dreiunddreißig bzw. sechsunddreißig Beteiligungen das Muster nicht so ausgeprägt, wie bei Folge S3. Mit Gruppe G5 findet sich schließlich ein Beispiel, in dem das Muster in beiden Simulationsfolgen mit der Regelmenge negotiate stark ausgeprägt ist. Agentin 4 ist in Simulationsfolge S2 in zweiundvierzig Simulationsläufen bis zum Zeitpunkt 200 vertreten und Agentin 6 ist dies in Simulationsfolge S3, wobei sie mit dreiunddreißig Beteiligungen auch schon in Folge S2 stark vertreten war. Seltener vertreten ist das Muster der „Fraktionsbildung“. Bei den untersuchten Gruppen trat es bei Simulationsfolgen mit der Regelmenge negotiate einmal in einer triggerbasierten Folge und einmal in einer abgeschwächten Form in einer Simulationsfolge der Regelmenge negotiate, die ohne Trigger durchgeführt wurde, auf. Charakteristisch ist bei diesem Muster, dass ein Teil der Agentinnen einen Kern bildet, während ein anderer Teil der Agentinnen gleich zu Beginn gemeinsam die Gruppe verlässt. In diesem Fall wäre theoretisch vorstellbar, dass die Agentinnen, die die Gruppe verlassen haben, ebenfalls eine eigene, kleinere Gruppe bilden, die gemeinsam handelt, die jedoch in der Simulation nicht mehr verfolgt wird. Besonders deutlich ist dieses Muster in Gruppe G17 in Simulationsfolge S3 ausgeprägt. Die Agentinnen 1, 5, und 8 haben sich kein einziges Mal bis zum Zeitpunkt 200 beteiligt. Prüfungen in den Daten haben ergeben, dass diese Agentinnen in allen Läufen spätesten bis zum Zeitpunkt 7 die Gruppe verlassen haben, häufig taten sie dies gemeinsam zum Zeitpunkt 2. Dafür gibt es in Gruppe G17 zwei Anführerinnen, Agentin 6 mit sechsundvierzig Beteiligungen und Agentin 7 mit sechsunddreißig Beteiligungen, die manchmal noch von Agentin 9 (zwanzig Beteiligungen) und Agentin 10 (fünfundzwanzig Beteiligungen) begleitet wurden. Bei Agentin 2, 3 und 4 mit jeweils 11 bzw. zwölf Beteiligungen könnte man sich vorstellen, dass diese sich in anderen Läufen zu der anderen Fraktion gesellt haben. Abgeschwächt tritt dieses Muster auch bei der Gruppe G15 in Simulationsfolge S2 auf, die bereits unter den Gruppen mit deutlicher Kernbildung für die Regelmenge negotiate aufgeführt wurde. In Gruppe G2 schließlich findet sich ein Beispiel, wo eine einzelne Agentin, Agentin 6, in der Gruppe nicht Fuß fassen konnte. In Simulationsfolge S3 war hier natürlich wieder die ungünstige Konstellation der Absichten bezüglich der getriggerten Handlungen zu Beginn des Gruppenlebens ausschlaggebend, aber auch in Simulationsfolge S2 war sie mit nur zehn Beteiligungen bis zum Zeitpunkt 200 nur schwach integriert. Abschließend sei noch auf ein – untypisches – Muster eingegangen, das sich bei der Wahl der Handlungen gezeigt hat. In zwei Gruppen wurden bestimmte Handlungen überproportional häufig ausgeführt. In G1 war dies die Handlung
5.4 Kumulierte Simulationsergebnisse
189
discussion_about_medicine, die von Gruppe G1 in der Simulationsfolge S2 durchschnittlich 41,3 Mal pro Simulationslauf durchgeführt wurde, in Gruppe G6 war es die Handlung play_poker, die in Simulationsfolge S2 durchschnittlich 33,0 Mal pro Lauf durchgeführt wurde, und in Simulationsfolge S3 32,3 Mal. In Gruppe G6 war der Handlungstyp play_poker sowohl in den Absichten, als auch in den Überzeugungen der Agentinnen stark vertreten, in G1 galt dies für discussion_about_medicine. Die Beteiligung der Agentinnen am Gruppenleben lag im durchschnittlichen Bereich: In G1 gab es durchschnittlich 92,01 Beteiligungen pro Agentin an Gruppenhandlungen in Simulationsfolge S2 (94,4 durchschnittliche Beteiligungen bei allen Gruppen), in G6 gab es durchschnittlich 99,2 Beteiligungen in S2 und 82,14 Beteiligungen in Simulationsfolge S3 (79,36 durchschnittliche Beteiligungen insgesamt).
Die Auswertungen haben gezeigt, dass die Muster bei überzeugungsbasierten Simulationen wesentlich stärker ausgeprägt sind, als bei den zufallsbasierten Simulationen. Am deutlichsten zeigen sie sich in den triggerbasierten Simulationsfolgen. Auch wenn hier in den Simulationsexperimenten die positiven Trigger besonders „unfair“ verteilt wurden, sind auslösende und hindernde Bedingungen für Handlungen ein Teil der sozialen Realität. Welche Regelmenge nun „besser“ zur Simulation sozialer Praktiken geeignet ist, wird vom Untersuchungsgegenstand abhängen. Wenn man nur Trends untersuchen möchte, kann ein intentionsbasiertes Simulationsexperiment ausreichend sein. Wenn man jedoch an der tatsächlichen Zusammensetzung einer Gruppe oder Gemeinschaft interessiert ist, erzeugt eine überzeugungsbasierte Simulation ein Abbild der Realität, das meines Erachtens plausibler erscheint. Ein ähnliches Ergebnis wurde bereits in S. Hofmann et al. 2002 erzielt. Sicherlich bietet die vorliegende Simulationsstudie noch eine Reihe von Erweiterungsmöglichkeiten. In den Simulationen ist es bisher nicht vorgesehen, dass neue Agenten nachträglich zur Gruppe dazustoßen können. Diese idealisierte Annahme führt dazu, dass die Zahl der an der sozialen Praxis beteiligten Agenten in der Regel kontinuierlich abnimmt. Für eine Simulation von Klein- und Freitzeitgruppen ist dies sicherlich noch vertretbar. Da bei solchen Gruppen auch freundschaftliche Bindungen eine große Rolle spielen, ist die Fluktuation eher gering. Auch ist es unwahrscheinlich, dass derartige Gruppen von jüngeren Mitgliedern übernommen und weitergeführt werden, in der Regel bestehen die Gruppen aus Gleichaltrigen, die gegebenenfalls im Laufe der Zeit ihr Handlungsspektrum verändern. Eher wahrscheinlich ist, dass in der nächsten Generation eigene Gruppen gegründet werden, die eigene Handlungsspektren entwickeln. Für andere soziale
190
5 Simulationsergebnisse
Praktiken, insbesondere Praktiken, an denen eine große Anzahl von Agenten beteiligt ist, wie z. B. Modeerscheinungen oder Sitten und Bräuche wäre die Beschränkung auf die initialen Agenten sicherlich zu schwach. Die Dynamik solcher Praktiken besteht gerade darin, dass ein Teil der Agenten die Praxis aufgibt, während andere Agenten neu dazustoßen. Dies führt dazu, dass die Praxis nicht nur weiter besteht, sondern sich durch die Ideen und Impulse der neuen Agenten auch verändert. Die vorliegende Simulationsstudie bewegt sich auf der Ebene eines Gedankenexperiments. Zwar wurden zur Formulierung der Programmregeln persönliche Erfahrungen mit Gruppen aus der Umgebung, zu denen die simulierten Gruppen eine gewisse Ähnlichkeit aufweisen, herangezogen, empirische Daten über das Gruppenleben von Freizeitgruppen wurden jedoch nicht erhoben bzw. verwendet. Ein interessantes Vorgehen zur Validierung auch derartiger Simulationsstudien findet sich in T. Chmura und T. Pitz 2007: Simulationsdaten werden mit Daten abgeglichen, die in Laborexperimenten mit Testpersonen gewonnen werden, die das simulierte Phänomen, in diesem Fall also das Gruppenleben einer Freizeitgruppe, „spielen“.50
Mit diesen Anmerkungen sind wir am Ende unseres Programms angekommen, das an dieser Stelle noch einmal kurz rekapituliert werden soll. Basierend auf einem gegebenen formalen Rahmen wurde ein Simulationsprogramm entwickelt. Als Grundlage für die Modellierung der gemeinsamen Handlungen der Agenten dienten philosophische Konzepte kollektiver Intentionalität. Anhand eines relativ einfachen und intuitiv nachvollziehbaren Beispiels – des Gruppenlebens von Freizeitgruppen – wurde das Verhalten künstlicher Gemeinschaften von Agenten untersucht und durch systematische Variation von Parametern getestet. Ausgehend von diesem Thema sollte der Prozess der Durchführung einer Simulationsstudie veranschaulicht werden und damit ein Beispiel für die Anwendung einer neuen quasi-empirischen sozialwissenschaftlichen Methode gegeben werden. Dennoch besteht natürlich die Hoffnung, dass die Ergebnisse dieser Simulationsstudie auch für zukünftige empirische Untersuchungen der sozialen Praxis des Gruppenlebens von Freizeitgruppen von Nutzen sein können. Reale soziale Prozesse werden normalerweise auf Grund von Beobachtungen analysiert, die tatsächlichen Beweggründe für die Handlungen der Agenten sind für den Beobachter nicht sichtbar. Die Simulation erlaubt es, die „innere Welt“ der künstlichen 50 Allerdings muss hier angemerkt werden, dass auch bei Laborexperimenten ähnliche Probleme auftreten können, wie bei der Untersuchung eines realen sozialen Systems (vgl. die Diskussion in Abschnitt 1.2). Die Menge von Personen, die sich für derartige Experimente zur Verfügung stellen, ist meist begrenzt, so dass manche Personen mehrfach an den Experimenten teilnehmen. Dies könnte zu Lerneffekten führen, die wiederum Einfluss auf die Ergebnisse des Experiments haben.
5.4 Kumulierte Simulationsergebnisse
191
Agenten sichtbar zu machen. Diese hat im vorliegenden Fall gezeigt, dass für das Zustandekommen gemeinsamer Handlungen primär ein gewisser Anteil gemeinsamer Interessen bzw. gleicher potentieller Absichten vorhanden sein muss. Eine Modellierung auf der Grundlage des philosophischen Konzepts der geteilten Absicht, das nicht nur die jeweiligen Absichten der Agenten, sondern auch die Annahmen über die Absichten der anderen Agenten einbezieht, produzierte plausiblere Muster. Ein weiterer wichtiger Aspekt ist das individuelle Erfolgs- bzw. Befriedigungsgefühl, das bei der Durchführung der Handlung erzielt wurde. Hier hat die Simulation gezeigt, dass die Interaktion mit und das Feedback von anderen Agenten ein wichtiger Faktor ist. Die Agenten, deren Vorschläge häufig berücksichtigt wurden, hatten – bei gleichen Parametereinstellungen zur Generierung der initialen Absichten und Überzeugungen für alle Agenten - eine wesentlich höhere Erfolgswahrscheinlichkeit, als die Agenten, deren Interessen seltener berücksichtigt wurden. Diese Effekte konnten sowohl durch die Visualisierung einzelner Simulationsläufe als auch durch die statistische Auswertung von Massendaten nachgewiesen werden. Auch wenn dies den Erwartungen entsprach und die Parameterbelegung für die Erfolgsbewertung den Effekt begünstigt hatte, haben die Simulationsergebnisse die Erwartungen bestätigt. Für empirische Untersuchungen können diese Ergebnisse als Anhaltspunkte dafür dienen, auf welche Parameter besonders zu achten ist.
Anhang
A - Quellcode des Simulationsprogramms SimSoP.pl %*********************************************************** % simsop.pl - simulation of a particular social practice % files: para.int - parameter file % data.int - initially generated intentions and beliefs % beliefs.int - protocol of belief dynamics % results.int - result of simulation run(s) %*********************************************************** %----------------------------------------------------------% main hook used when running this program as a stand-alone application %----------------------------------------------------------simsop_main_hook :start, abort. %----------------------------------------------------------% abort hook used when running this program as a stand-alone application %----------------------------------------------------------simsop_abort_hook :halt(0). %*************************************************** % % predicates to launch a sequence of simulation runs % %*************************************************** %----------------------------------------------------% initialize and perform a sequence of simulation runs %----------------------------------------------------start :- nofileerrors, dynamic(equal_list/1), randomize,
194
Anhang
load_files('para.int',[all_dynamic(true)]), check_parameter, ini_graph_para, begin, retractall(fact(X)), % close output files for graphic trace / statistics result_file(RF), belief_file(BF), close(RF), close(BF). %-------------------------------------% perform a sequence of simulation runs %-------------------------------------begin:runs(RR), periods(TT), ( between(1,RR,R), get_data, mainloop(R,TT), fail; true ),!. %---------------------------% generate a new attitude set %---------------------------get_data :use_old_data(X), X = no, !, gen_intentions, gen_belief_level(1), write_data, !. %-----------------------% use an old attitude set %-----------------------get_data :use_old_data(X), X = yes, !, consult_file('beliefs.int'), consult_file('data.int').
A – Quellcode des Simulationsprogramms SimSoP.pl
195
%*********************************************************** % % generation of the agent's initial attitudes % - intentions and beliefs % %*********************************************************** %-------------------------------% generate the initial intentions %-------------------------------gen_intentions :actors(AS), bagof(Y,fact(act(Y)),L), % get list of action types length(L,N), ini_individual(1,AS,N,L). %--------------------------------------------------------% generate recursively the initial attitudes of all agents % I - agent % A - maximal number of agents % N - number of defined action types % L - list of defined action types %--------------------------------------------------------ini_individual(I,A,N,L):(I =< A, percent_int(PI), M is N - (N / 100 * PI), % calculate the resting facts ( gen_int_facts(I,N,M,L) % generate I's initial intentions ; I1 is I + 1, ini_individual(I1,A,N,L))) % initialize the next agent ; true. %-----------------------------------------------% generate recursively I's initial intentions % I - agent % N - number of selectable action types % M - recursion terminator, remaining facts in L % L - list of selectable action types %-----------------------------------------------gen_int_facts(I,N,M,L):N > M, random(N,R),
196 member(ACT,L,R),!, assertz(fact(0,0,int([I,t,ACT]))), assertz(bel([1,I,t,ACT])), removeall(ACT,L,L1), N1 is N - 1, gen_int_facts(I,N1,M,L1). %-----------------------------------------% generate recursively higher order beliefs % L - belief level to generate %-----------------------------------------gen_belief_level(L):(maxlev(ML), L =< ML, L1 is L + 1, gen_individual(1,L), gen_belief_level(L1)) ; true. %----------------------------------------------------% generate recursively beliefs of a certain order % I - agent % L - belief level to generate %----------------------------------------------------gen_individual(I,L):(actors(MI), I =< MI, I1 is I + 1, gen_beliefs(1,I,L), gen_individual(I1,L)) ; true. %----------------------------------------------------% generate recursively agent I’s higher order beliefs % pertaining to other agents % J - agent % I - agent % L - belief level to generate %----------------------------------------------------gen_beliefs(J,I,L):(actors(MI), J =< MI, J1 is J + 1,
Anhang
A – Quellcode des Simulationsprogramms SimSoP.pl
197
get_bel_predicates(J,I,L), gen_beliefs(J1,I,L)) ; true. %-------------------------------------------------------% generate recursively agent I's own higher order beliefs % agent I believes all own predicates of lower level % J - agent % I - agent % L - belief level to generate %-------------------------------------------------------get_bel_predicates(J,I,L):J == I, L1 is L + 1, forall(bel([L,I,W,R]), assertz(bel([L1,I,t,bel([L,I,W,R])]))). %----------------------------------------------------------% generate recursively agent I's higher order beliefs pertaining to agent J % agent I believes that agent J believes percent_bel % percent of own believes of lower level, too % J - agent % I - agent % L - belief level to generate %----------------------------------------------------------get_bel_predicates(J,I,L):J =\= I, L1 is L + 1, bagof([W|[R]],bel([L,I,W,R]),R1), length(R1,N), percent_bel(PB), M is N - (N / 100 * PB), % calculate the resting facts (gen_other_beliefs(N,J,I,L1,t,M,R1) ; true).
198
Anhang
%----------------------------------------------------------% generate I's beliefs of level L pertaining to agent J's beliefs % N = number of entries of I's belief base of lower level % J = other actor % I = actor to generate % L = level / belief order % W = truth value % M = maximum for resting beliefs %----------------------------------------------------------gen_other_beliefs(N,J,I,L,W,M,X1):M < N, L1 is L - 1, random(N,R), member(X,X1,R),!, L1 is L - 1, append([L1,J],X,X2), assertz(bel([L,I,W,bel(X2)])), removeall(X,X1,New), N1 is N - 1, gen_other_beliefs(N1,J,I,L,W,M,New). %----------------------------------------------------------% start a simulation run of the social practice of the group % life of a leisure group % R - simulation run % TT - points in time to process %----------------------------------------------------------mainloop(R,TT) :ini_facts_for_run(R),!, ( between(1,TT,T), continue_practice(yes), write_dynamic_belief(R,T), write_results(R,T), kernel(R,T), told, fail; true ), do_retract, !. %-----------------------------------------------% initialize the fact base for the simulation run % R - simulation run %-----------------------------------------------ini_facts_for_run(R):asserta(continue_practice(yes)), findall(X,fact(0,0,X),L),
A – Quellcode des Simulationsprogramms SimSoP.pl
199
length(L,E), ( between(1,E,Z), member(FACT,L,Z), retract(fact(0,0,FACT)), asserta(fact(R,1,FACT)), fail; true ), asserta(hist(actor_left([R,0,0]))). retract_facts :- ( fact(X,Y,Z), retract(fact(X,Y,Z)), fail ; true ). %----------------------------------------% perform a pattern of the social practice % - rule set negotiate % R - run % T - point in time %----------------------------------------kernel(R,T) :- rule_set(negotiate), actors(AS), findall(I,between(1,AS,I),L), gen_actor_list(R,L), continue_practice, ( between(1,AS,N), check_intention(R,T,N), fail ; true ), ( between(1,AS,N), suggest_action(R,T), fail; true ), choose_action(R,T,ACT), common_action(R,T,ACT), ( between(1,AS,N), evaluate_action(R,T,N,ACT), fail ; true ), retract(actor_list(L1)), retract_pref_act, !. %----------------------------------------% perform a pattern of the social practice % rule set get_random % R - run % T - point in time %----------------------------------------kernel(R,T) :- rule_set(get_random), actors(AS), findall(I,between(1,AS,I),L), gen_actor_list(R,L), continue_practice, actor_list(L1), length(L1,AC), ( between(1,AC,N), get_rdm_intention(R,T), fail ;
200
Anhang
true), choose_action(R,T,ACT), common_action(R,T,ACT), ( between(1,AS,N1), evaluate_action(R,T,N1,ACT), fail ; true), retract(actor_list(L2)), retract_pref_act, !. %----------------------------------------% remove non-active agents from actor list % R - run % L - actor list %----------------------------------------gen_actor_list(R,L) :findall(A,hist(actor_left([R,_,A])),LX), length(LX,E), asserta(actor_list(L)), (between(1,E,N), member(A1,LX,N), delete_from_actor_list(A1), fail ; true). %----------------------------------------% delete an agent from the actor-list % A - agent %----------------------------------------delete_from_actor_list(A) :actor_list(L), removeall(A,L,L1), /* delete(L,A,L1) */ retract(actor_list(L)), asserta(actor_list(L1)),!. %----------------------------------------------------% check whether the social practice shall be continued % A - agent %----------------------------------------------------continue_practice:actor_list(L), length(L, L1), min_agents(M), (M =< L1
A – Quellcode des Simulationsprogramms SimSoP.pl
201
; retract(continue_practice(yes)), !, asserta(continue_practice(no)), fail). %---------------------------------------------% generate the suggestions for the group action % R - run % T - point in time %---------------------------------------------suggest_action(R,T) :- actor_list(L), length(L,E), E > 0, random(E,R1),Y is R1, member(A,L,Y), activate(R,T,A), removeall(A,L,L1), retract(actor_list(L)), asserta(actor_list(L1)),!. %--------------------------------------------------% generate agent A's suggestion for the group action % R - run % T - point in time % A - agent %---------------------------------------------activate(R,T,A) :( check_mail(R,T,A,L), % check the personal mailbox gen_common_action(R,T,A,L) ; true). %-------------------------------------------------% perform random selection of the agent's proposals % - rule set get_random % R - run % T - point in time %-------------------------------------------------get_rdm_intention(R,T) :actor_list(L1), length(L1,E), E > 0, random(E,R1),member(A,L1,R1), findall(int([A,B,C]),fact(R,T,int([A,B,C])),L), length(L,N), random(N,R2), member(int([A1,B,ACT]),L,R2),!, out_action(R,T,A,ACT), removeall(A,L1,L2), retract(actor_list(L1)), asserta(actor_list(L2)),!. %----------------------------------------------------------% generate proposals for the group action
202
Anhang
% - rule_set negotiate % R - run % T - point in time % A - agent %----------------------------------------------------------check_intention(R,T,A) :findall(int([A,B,C]),fact(R,T,int([A,B,C])),L), ( check_int_trg(R,T,A,L),! % check triggered intentions ; do_max_calc(R,T,A,L)). %-------------------------------------------------------% search positive trigger for the current point in time % R - run % T - point in time % A - agent % L - list that contains A's potentially intended actions %-------------------------------------------------------check_int_trg(R,T,A,L) :fact(meetings_per_year(MP)), MP > 0, M is T mod MP, fact(ptrg(M,ACT)), member(int([A,B,ACT]),L), !, findall(bel([1,A2,B,ACT]), bel([2,A,B2,bel([1,A2,B,ACT])]),L1), length(L1,E1), E1 > 1, retractall(mail(A,_,_)), forall(member(bel([1,A3,_,ACT]),L1), assertz(mail(A,A3,trg(ACT)))). %----------------------------------------------------------% search the intention that agent A believes most of the % others will share % R - run % T - point in time % A - agent % L - list that contains A's potentially intended actions %----------------------------------------------------------do_max_calc(R,T,A,L) :assert(tmpcnt(0)), length(L,E), ( between(1,E,Z), member(int([A1,B,C]),L,Z),
A – Quellcode des Simulationsprogramms SimSoP.pl
203
findall(bel([1,A2,B,C]), bel([2,A1,B2,bel([1,A2,B,C])]),L2), length(L2,E2), tmpcnt(E1), E2 > E1, not check_neg_trg(T,C), retract(tmpcnt(E1)), assert(tmpcnt(E2)), retractall(mail(A,_,_)), forall(member(bel([1,A3,_,ACT]),L2), assertz(mail(A,A3,trg(ACT)))), fail; true ), retract(tmpcnt(X)),!. %----------------------------------------------------------% check negative trigger – the performance of the action is % not possible at the current point in time % R - run % ACT - action %----------------------------------------------------------check_neg_trg(T,ACT):fact(meetings_per_year(MP)), MP > 0, M is T mod MP, (fact(ptrg(TT,ACT)), TT =\= M ; fact(ntrg(M,ACT))),!. %-------------------------------------------------------% check the mail in the personal mailboxes of the agent % R - run % T - point in time % A - agent % L - list that contains A's potentially intended actions %-------------------------------------------------------check_mail(R,T,A,L) :% assert corresponding beliefs? (update_belief(yes), forall(mail(A1,A,trg(ACT)), expand_belief(A1,A,ACT)) ; true), findall(trg(ACT),mail(A1,A,trg(ACT)),L1), length(L1,E),
204
Anhang
( between(1,E,Z), check_mail_int(R,T,A,L1,Z), fail ; true), findall(trg(ACT),mail(A1,A,trg(ACT)),L), retractall(mail(_,A,_)). /* clean mail of actor */ %-------------------------------------------------------% check the mail in the personal mailboxes of the agent % R - run % T - point in time % A - agent % L - list that contains A's potentially intended actions %-------------------------------------------------------check_mail_int(R,T,A,L,Z) :member(trg(ACT),L,Z), ( fact(R,T,int([A,t,ACT])),! ; retract(mail(A1,A,trg(ACT)))). %-------------------------------------------------------% expand the receivers belief from received proposals % A1 - sender % A - receiver % ACT - proposed action %-------------------------------------------------------expand_belief(A1,A,ACT) :bel([2,A,t,bel([1,A1,t,ACT])]) ; assertz(bel([2,A,t,bel([1,A1,t,ACT])])). %----------------------------------------------------------% generate the A's suggestion for the common action % R - run % T - point in time % A - agent % L - list that contains proposals in A's personal mailbox %----------------------------------------------------------gen_common_action(R,T,A,L) :get_preferred_action(L,ACT), out_action(R,T,A,ACT). %----------------------------------------------------------% select a preferred action from a personal mailbox % L - list that contains the proposals in a personal mailbox
A – Quellcode des Simulationsprogramms SimSoP.pl
205
% ACT - selected action %----------------------------------------------------------get_preferred_action(L,ACT):% find maximum of proposals sort(L,L1,[]), asserta(max_elem_list(1)), asserta(max_list([])), (max_elem(trg(ACT),L1), (ground(ACT) ; default_action(ACT)) ; % bei keinem eindeutigen Maximum Zufallsauswahl length(L,E), random(E,R1), member(trg(ACT),L,R1)), retractall(max_elem_list(X)), retractall(equal_list(Y)), retract(max_list(Y1)). %----------------------------------------------------------% calculate the trigger for the group action % R - run % T - point in time % ACT - triggered group action %----------------------------------------------------------choose_action(R,T,ACT):findall(ACT1, preferred_action(R,T,X,ACT1),L), sort(L,L1,[]), asserta(max_elem_list(1)), asserta(max_list([])), (max_elem(ACT,L1), ACT \== no_action % bei keinem eindeutigen Maximum Zufallsauswahl unter % den meisten Vorschlägen ; max_list(L2), removeall(no_action, L2, L3), length(L3,E), E > 0, random(E,R1), member(ACT,L3,R1)), retractall(max_elem_list(Y1)), retractall(equal_list(Y2)), retract(max_list(L2)). %--------------------------------------------------------% put agent A's proposal for the group action
206
Anhang
% to the public board and make an entry to the result file % R - run % T - point in time % A - agent % ACT - action %--------------------------------------------------------out_action(R,T,A,ACT):assertz(preferred_action(R,T,A,ACT)), write(preferred_action(R,T,A,ACT)),write('.'), nl. %-------------------------% simulate the group action % R - run % T - point in time % ACT - action %-------------------------common_action(R,T,ACT):write(common_action(R,T,ACT)),write('.'), nl. %************************************************* % % predicates for the success/threshold calculation % %************************************************* %--------------------------------------------------------% calculate the success of the action % R - run % T - point in time % A - agent % ACT - performed group action %--------------------------------------------------------evaluate_action(R,T,A,ACT):success_level(R,T,A,ACT), gen_next_ints(R,T,A), !. %--------------------------------------------------------% calculate success if the action was the agents' preferred % action % R - run % T - point in time % A - agent % ACT - performed group action %--------------------------------------------------------success_level(R,T,A,ACT):-
A – Quellcode des Simulationsprogramms SimSoP.pl
207
preferred_action(R,T,A,ACT1), ACT == ACT1, rate_s(RS), /* get success rate for suggested actions */ random(100,R1), !, (R1 > RS, retract_act(A,ACT) ; true). %--------------------------------------------------------% calculate success if the action wasn't the agents' % preferred action % R - run % T - point in time % A - agent % ACT - performed group action %--------------------------------------------------------success_level(R,T,A,ACT):preferred_action(R,T,A,ACT2), ACT \== ACT2, /* does the agent intend the action ? */ ( fact(R,T,int([A,Y,ACT])), rate_i(RI), /* get success rate */ random(100,R1), !, (R1 > RI, retract_act(A,ACT) ; true) ; % get success rate for previously not intended actions rate_ni(RN), random(100,R1),!, (R1 =< RN, assertz(fact(X,T1,int([A,t,ACT]))), assertz(bel([2,A,t,bel([1,A,t,ACT])])) ; no_success(R,T,A,ACT), check_threshold(R,T,A))). %---------------------------------------------------------% initialize agent A's intention for the next point in time % R - run % T - point in time % A - agent %---------------------------------------------------------gen_next_ints(R,T,A):findall(Z0, fact(X0,T,int([A,Y0,Z0])),L), length(L,L1), (L1 > 0, T1 is T + 1, forall(fact(X,T,int([A,Y,Z])), assertz(fact(X,T1,int([A,Y,Z])))),
208
Anhang
forall(fact(X,T,int([A,Y,Z])), retract(fact(X,T,int([A,Y,Z])))) ; assertz(hist(actor_left([R,T,A])))). %--------------------------------------------% retract attitudes for an unsuccessful action % A - agent % ACT - action %--------------------------------------------retract_act(A,ACT):(ACT \== no, retract(fact(X,T,int([A,_,ACT])))), retract(bel([2,A,t,bel([1,A,t,ACT])])) ; true. %--------------------------------------------% add history entry for an unsuccessful action % R - run % T - point in time % A - agent %--------------------------------------------no_success(R,T,A,ACT):assertz(hist(no_success([R,T,A,ACT]))), write(no_success(R,T,A,ACT)),write('.'), nl. %--------------------------------------------------------% check threshold for an agent to leave the group % R - run % T - point in time % A - agent %--------------------------------------------------------check_threshold(R,T,A):failure_rate(FR), findall(X,hist(no_success([R,X,A,_])),L), length(L,L1), % does the agent leave the group ? (L1 > T * FR, retract_att(R,T,A) ; check_subsequent_failures(R,T,A)). %-----------------------------% calculate subsequent failures % R - run
A – Quellcode des Simulationsprogramms SimSoP.pl
209
% T - point in time % A - agent %-----------------------------check_subsequent_failures(R,T,A):subsequent_failures(SF), (get_subsequent_failures(R,T,A,SF), retract_att(R,T,A) ; true). get_subsequent_failures(R,T,A,SF):SF > 0, hist(no_success([R,T,A,_])), !, T1 is T - 1, SF1 is SF - 1, get_subsequent_failures(R,T1,A,SF1). get_subsequent_failures(R,T,A,SF):SF == 0. %--------------------------------------------------------% retract attitudes of agent that leaves the group % R - run % T - point in time % A - agent %--------------------------------------------------------retract_att(R,T,A):% intentions of the agent retractall(fact(R,T1,int([A,Y,Z]))), % beliefs of agent A about other agents retractall(bel([2,A,t,bel([1,A1,t,ACT1])])), % beliefs of other agents about agent A retractall(bel([1,A,t,ACT2])), retractall(bel([2,A2,t,bel([1,A,t,ACT2])])), assertz(hist(actor_left([R,T,A]))). %-------------------------------------% retract facts after a simulation run %-------------------------------------do_retract:retractall(continue_practice(P)), retractall(actor_list(AL)), retractall(mail(A1,A2,A3)), retractall(bel(B)),
210
Anhang
retractall(fact(D1,D2,D3)), retractall(preferred_action(E1,E2,E3,E4)), retractall(hist(X)). retractmail:forall(mail(X,Y,Z),retract(mail(X,Y,Z))). retractint:forall(int(X),retract(int(X))). retractbel:forall(bel(X),retract(bel(X))). retractfact:forall(fact(X),retract(fact(X))), forall(fact(X,Y,Z),retract(fact(X,Y,Z))). retract_pref_act:forall(preferred_action(X,Y,Z,A), retract(preferred_action(X,Y,Z,A))). %---------------------------------% write new intention file data.int %---------------------------------write_data:del_file('data.int'), tell('data.int'), forall(fact(0,0,int(X)),out_int(0,0,X)), told, write_belief. out_int(R,T,X):write(fact(R,T,int(X))),write('.'),nl. %-------------------------------------------% write new belief file belief.int %-------------------------------------------write_belief:del_file('beliefs.int'), tell('beliefs.int'), forall(bel(X),out_bel(X)), told. out_bel(X):-
A – Quellcode des Simulationsprogramms SimSoP.pl
write(bel(X)),write('.'),nl. %----------------------------------------% write protocol of the simulation results %----------------------------------------write_results(R,T):result_file(RF), open(RF,append), bagof(X,fact(R,T,X),L), length(L,E), ( between(1,E,Z), member(FACT,L,Z), tell(RF), write(fact(R,T,FACT)), write('.'), nl, fail; true ), tell(RF),nl,!. %---------------------------------% write protocol of the belief base %---------------------------------write_dynamic_belief(R,T) :rule_set(get_random). write_dynamic_belief(R,T) :rule_set(negotiate), belief_file(BF), open(BF,append), tell(BF), forall(bel(X),out_dyn_bel(R,T,X)), told. out_dyn_bel(R,T,X):write(belfact(R,T,bel(X))),write('.'),nl. %-------------------------------------------% write parameter file for the analysis tools % - graphical trace and statistics %-------------------------------------------ini_graph_para :write_disp_file, para_file(PF), ( del_file(PF) ; true), tell(PF), continue(C),
211
212
Anhang
write(continue(C)),write('.'),nl, runs(R), write(runs(R)),write('.'),nl, periods(P), write(cycles(P)),write('.'),nl, actors(A), write(actors(A)),write('.'),nl, percent_int(PI), write(percent_int(PI)),write('.'),nl, percent_bel(PB), write(percent_bel(PB)),write('.'),nl, rate_s(RS), write(rate_s(RS)),write('.'),nl, rate_i(RI), write(rate_i(RI)),write('.'),nl, rate_ni(RNI), write(rate_ni(RNI)),write('.'),nl, failure_rate(FR), write(failure_rate(FR)),write('.'),nl, subsequent_failures(SF), write(subsequent_failures(SF)),write('.'),nl, rule_set(RUL), write(rule_set(RUL)),write('.'),nl, use_old_data(UOD), write(use_old_data(UOD)),write('.'),nl, update_belief(UB), write(update_belief(UB)),write('.'),nl, forall(fact(X),out_disp_fact(X)), told. %---------------------------------------% write input file for the analysis tools % - graphical trace and statistics %---------------------------------------write_disp_file :disp_file(DF), ( del_file(DF) ; true), tell(DF), result_file(RF), write(result_file),write('('), writeq(RF),write(')'),write('.'),nl, belief_file(BF), write(belief_file),write('('), writeq(BF),write(')'),write('.'),nl,
A – Quellcode des Simulationsprogramms SimSoP.pl
213
para_file(PF), write(para_file),write('('), writeq(PF),write(')'),write('.'),nl, stat_file(SF), write(stat_file),write('('), writeq(SF),write(')'),write('.'),nl, told, ( % delete old result file, if it exists del_file(RF) ; true), ( % delete protocol of belief base, if it exists. del_file(BF) ; true). out_disp_fact(X):write(fact(X)),write('.'),nl. %--------------------------------------------------------% check validy of values of input parameters from para.int %--------------------------------------------------------check_parameter:rate_s(P1), (P1 =< 100 ; print('invalid parameter value rate_s '),!,print(P1), nl, !, fail ), (P1 >= 0 ; print('invalid parameter value rate_s '),print(P1), nl, !, fail), rate_i(P2), (P2 =< 100 ; print('invalid parameter value rate_i '),print(P2), nl, !, fail), (P2 >= 0 ; print('invalid parameter value rate_i '),print(P2), nl, !, fail), rate_ni(P3), (P3 =< 100 ; print('invalid parameter value rate_ni '),print(P3), nl, !, fail),
214
Anhang
(P3 >= 0 ; print('invalid parameter value rate_ni '),print(P3), nl, !, fail). %********************* % % auxiliary predicates % %********************* %=========================== % % predicates for file access % %=========================== %---------------------% delete file if exists %---------------------del_file(X):(exists_file(X), del(X)) ; true. %---------------------% check if file exists %---------------------exists_file(X):% check whether file already exists absolute_file_name(X,[access(read)],Y). %---------------------------------------------------% load all predicates in a file as dynamic predicates %---------------------------------------------------consult_file(X):load_files(X,[all_dynamic(true)]). %================================= % % predicates for random processing % %=================================
A – Quellcode des Simulationsprogramms SimSoP.pl
215
%----------------------------------% initialize the random generator %----------------------------------randomize:time(1,(X1)), asserta(helprdm(X1)), helprdm((X2,X)), % take only number of milliseconds retract(helprdm(X1)), % from time structure asserta(rdm(X)). %-----------------------% calculate random number %-----------------------random(Max,R):Max > 0, retract(rdm(S)), R is (S mod Max) + 1, NewSeed is (125 * S + 1) mod 4096, asserta(rdm(NewSeed)),!. %---------------------------------------------------% get the element, which occures in a list most often %---------------------------------------------------max_elem(X, []). max_elem(X,L):max_elem_list(N), member(Y,L,1), occurence(Y, L, N1), N1 > N, length(L,LEN), retract(max_elem_list(N)), asserta(max_elem_list(N1)), retract(max_list(ML)), % Update list of equal maxima append([Y],[],ML1), !, asserta(max_list(ML1)), (N1 > LEN / 2, copy_term(Y,X), ! ; removeall(Y, L, L2), (max_elem(X, L2), ! ; not equal_list(N1), copy_term(Y,X))). max_elem(X1,L):max_elem_list(N),
216
Anhang
member(X,L,1), occurence(X, L, N1), N1 < N, length(L,LEN), (N1 > LEN / 2, !, fail ; removeall(X, L, L2), max_elem(X1, L2)). max_elem(X1,L):max_elem_list(N), member(X,L,1), occurence(X, L, N1), N1 =:= N, asserta(equal_list(N1)), retract(max_list(ML)), append([X],ML,ML1), !, asserta(max_list(ML1)), length(L,LEN), (N1 > LEN / 2, !, fail ; removeall(X, L, L2), max_elem(X1, L2)), max_elem_list(N2), (N2 > N, retract(equal_list(N1)),! ; fail). %***************************** % % various auxiliary predicates % %***************************** between(X,Y,Z):integer(Z), X =< Z, Z =< Y,!. between(_,_,Z):integer(Z),!,fail. between(X,Y1,Z):var(Z), X1 is X + 1, X1 =< Y1,
A – Quellcode des Simulationsprogramms SimSoP.pl
between(X1,Y1,Z1), Z is Z1 - 1. between(X,Y,Y). memnum(N,[X|_],X) :N = 1,!. memnum(N,[_|R],X) :!,N2 is N-1, memnum(N2,R,X). occurence(X,L,N):collect(X,L,L1), length(L1,N). collect(X,L,[X|R1]):append([X|R1], [Y|L1], L), X \== Y, !. collect(X,L,[X|R1]):append([X|R1],[], L), !. quicksort([X|Xs],Ys) :partition(Xs,X, Littles, Bigs), quicksort(Littles, Ls), quicksort(Bigs, Bs), append(Ls, [X|Bs], Ys). quicksort([],[]). partition([X|Xs], Y, [X|Ls], Bs):X =< Y, partition(Xs, Y, Ls, Bs). partition([X|Xs], Y, Ls, [X|Bs]):X > Y, partition(Xs, Y, Ls, Bs). partition([], Y, [], []).
217
218
Anhang
B - Beispiel einer Parameterdatei % ======================================================= % File 'para' (parameters of social practices simulation) % ======================================================= rule_set(negotiate). % negotiate / get_random runs(50). % number of simulation runs periods(20). % number of points in time actors(10). % number of agents % =========================================================== % par. for the generation / maintenace of the attitude set % =========================================================== percent_int(60). % percentage of shared intentions percent_bel(50). % percentage of shared beliefs maxlev(1). % belief order use_old_data(no). % no = generate new attitude set % yes = use old attitude set default_action(no_action). update_belief(yes). % update belief about other % agents' wants from proposals % ================================================== % parameters for the success / threshold calculation % ================================================== failure_rate(0.4). % acceptable failure rate subsequent_failures(4). % acceptable number of % subsequent failures min_agents(2). % minimal number of agents rate_s(90). % rate if suggested rate_i(70). % rate if intended in principle rate_ni(20). % rate if previously not intended % ============ % action types % ============ fact(act(go_to_the_cinema)). fact(act(skiing)). fact(act(bicyle_tour)). fact(act(discussion_about_medicin)). fact(act(discussion_about_art)). fact(act(go_to_the_theatre)). fact(act(go_to_the_pub)).
B – Beispiel einer Parameterdatei
fact(act(weiberfasching)). fact(act(make_masks)). fact(act(make_campfire)). fact(act(play_poker)). fact(act(go_to_the_disco)). fact(act(go_to_the_fitness_studio)). fact(act(visit_the_museum)). fact(act(hike_in_the_mountains)). fact(act(brunch)). fact(act(reading_evening)). fact(act(go_to_a_concert)). fact(act(walpurgisnacht_party)). fact(act(chat)). fact(act(drum_session)). fact(act(afro_dancing)). fact(act(belly_dancing)). % ================================= % time slice for trigger conditions % ================================= fact(meetings_per_year(12)). % =========================== % positive intention triggers % =========================== fact(ptrg(1,make_masks)). fact(ptrg(2,weiberfasching)). fact(ptrg(4,walpurgisnacht_party)). % =========================== % negative intention triggers % =========================== fact(ntrg(5,skiing)). fact(ntrg(6,skiing)). fact(ntrg(7,skiing)). fact(ntrg(8,skiing)). fact(ntrg(9,skiing)). fact(ntrg(10,skiing)). fact(ntrg(11,skiing)). fact(ntrg(11,bicyle_tour)). fact(ntrg(12,bicyle_tour)). fact(ntrg(1,bicyle_tour)). fact(ntrg(2,bicyle_tour)). fact(ntrg(3,bicyle_tour)). fact(ntrg(4,bicyle_tour)).
219
220 fact(ntrg(12,make_campfire)). fact(ntrg(1,make_campfire)). fact(ntrg(2,make_campfire)). fact(ntrg(3,make_campfire)). fact(ntrg(4,make_campfire)). fact(ntrg(11,hike_in_the_mountains)). fact(ntrg(12,hike_in_the_mountains)). fact(ntrg(1,hike_in_the_mountains)). fact(ntrg(2,hike_in_the_mountains)). fact(ntrg(3,hike_in_the_mountains)). fact(ntrg(4,hike_in_the_mountains)). % =================================== % parameters for the simulation tools % =================================== continue(no). disp_file('d:/simsop/negotiate/dispfile'). result_file('d:/simsop/negotiate/rest/results_60_50'). belief_file('d:/simsop/negotiate/rest/belief_60_50'). para_file('d:/simsop/negotiate/rest/para_60_50'). stat_file('d:/simsop/negotiate/rest/stat_60_50'). % ============== % display colors % ============== fact(colour([0,0,0])). fact(colour([0,65500,0])). fact(colour([65000,0,65000])). fact(colour([65500,65500,0])). fact(colour([0,30000,65500])). fact(colour([40000,40000,40000])). fact(colour([65000,30000,30000])). fact(colour([20000,55000,55000])). fact(colour([65000,65000,65000])). fact(colour([45000,20000,45000])).
Anhang
221
C – Muster der Gruppenentwicklung
C - Muster der Gruppenentwicklung Kernbildung Anzahl der Beteiligungen an Handlungen zum Zeitpunkt 200 in 50 Simulationsläufen - Gruppe G3 45
40
Anzahl Beteiligungen
35
30
25
20
15
10
5
0 1
2
3
4
5
6
7
8
9
10
Agentin
Negotiate incl. Trigger
Negotiate excl. Trigger
Random
Anzahl der Beteiligungen an Handlungen zum Zeitpunkt 200 in 50 Simulationsläufen - Gruppe G7 45
40
Anzahl Beteiligungen
35
30
25
20
15
10
5
0 1
2
3
4
5
6
7
8
Agentin
Negotiate incl. Trigger
Negotiate excl. Trigger
Random
9
10
222
Anhang
Durchschnittliche Anzahl der Beteiligung an Gruppenhandlungen in 50 Simulationsläufen über 200 Zeitpunkte - G18 200 180 160
Anzahl Handlungen
140 120 100 80 60 40 20 0 1
2
3
4
5
6
7
8
Negotiate excl. Trigger
Random
9
10
9
10
Agentin
Negotiate incl. Trigger
Durchschnittliche Anzahl der Beteiligung an Gruppenhandlungen in 50 Simulationsläufen über 200 Zeitpunkte - G11 160
140
Anzahl Handlungen
120
100
80
60
40
20
0 1
2
3
4
5
6
7
8
Negotiate excl. Trigger
Random
Agentin
Negotiate incl. Trigger
223
C – Muster der Gruppenentwicklung
Anzahl der Beteiligungen an Handlungen zum Zeitpunkt 200 in 50 Simulationsläufen - Gruppe G15 40
35
Anzahl Beteiligungen
30
25
20
15
10
5
0 1
2
3
4
5
6
7
8
9
10
Agentin
Negotiate incl. Trigger
Negotiate excl. Trigger
Random
Anzahl der Beteiligungen an Handlungen zum Zeitpunkt 200 in 50 Simulationsläufen - Gruppe G19 50 45 40
Anzahl Beteiligungen
35 30 25 20 15 10 5 0 1
2
3
4
5
6
7
8
Agentin
Negotiate incl. Trigger
Negotiate excl. Trigger
Random
9
10
224
Anhang
Kerne mit gleichen Agenten in verschieden Regelmengen Anzahl der Beteiligungen an Handlungen zum Zeitpunkt 200 in 50 Simulationsläufen - Gruppe G16 40
35
Anzahl Beteiligungen
30
25
20
15
10
5
0 1
2
3
4
5
6
7
8
9
10
Agentin
Negotiate incl. Trigger
Negotiate excl. Trigger
Random
Anzahl der Beteiligungen an Handlungen zum Zeitpunkt 200 in 50 Simulationsläufen - Gruppe G10 50 45 40
Anzahl Beteiligungen
35 30 25 20 15 10 5 0 1
2
3
4
5
6
7
8
Agentin
Negotiate incl. Trigger
Negotiate excl. Trigger
Random
9
10
225
C – Muster der Gruppenentwicklung
Anführerinnen Anzahl der Beteiligungen an Handlungen zum Zeitpunkt 200 in 50 Simulationsläufen - Gruppe G20 60
Anzahl Beteiligungen
50
40
30
20
10
0 1
2
3
4
5
6
7
8
9
10
Agentin
Negotiate incl. Trigger
Negotiate excl. Trigger
Random
Anzahl der Beteiligungen an Handlungen zum Zeitpunkt 200 in 50 Simulationsläufen - Gruppe G14 50 45 40
Anzahl Beteiligungen
35 30 25 20 15 10 5 0 1
2
3
4
5
6
7
8
Agentin
Negotiate incl. Trigger
Negotiate excl. Trigger
Random
9
10
226
Anhang
Anzahl der Beteiligungen an Handlungen zum Zeitpunkt 200 in 50 Simulationsläufen - Gruppe G5 45
40
Anzahl Beteiligungen
35
30
25
20
15
10
5
0 1
2
3
4
5
6
7
8
Agentin
Negotiate incl. Trigger
Negotiate excl. Trigger
Random
9
10
227
C – Muster der Gruppenentwicklung
Fraktionsbildung Anzahl der Beteiligungen an Handlungen zum Zeitpunkt 200 in 50 Simulationsläufen - Gruppe G17 50 45 40
Anzahl Beteiligungen
35 30 25 20 15 10 5 0 1
2
3
4
5
6
7
8
9
10
Agentin
Negotiate incl. Trigger
Negotiate excl. Trigger
Random
Isolation Anzahl der Beteiligungen an Handlungen zum Zeitpunkt 200 in 50 Simulationsläufen - Gruppe G2 45
40
Anzahl Beteiligungen
35
30
25
20
15
10
5
0 1
2
3
4
5
6
7
8
Agentin
Negotiate incl. Trigger
Negotiate excl. Trigger
Random
9
10
228
Anhang
Spezialistinnen Durchschnittlich ausgeführte Handlungen pro Handlungstyp in 50 Simulationsläufen über 200 Zeitpunkte - Gruppe G1 45 40
Durchschnittliche Anzahl
35 30 25 20 15 10 5
_s
ss fit ne
pl
tu di o m us eu m hi ki ng br un ch re ad in g co w nc al pu er rg t is na ch t dr c um ha t _s es af s io ro n _d be anc in lly g _d an ci ng
r ke
ay _
di
sc o
ire
po
ks
m pf ca
l
m as
di
sc
us s
m ak
e_
b
ni va
pu
ca r
_m r ed ic in di e sc us s_ ar t th ea tre
g
to u
le _
sk iin
bi cy
ci
ne m
a
0
Negotiate incl. Trigger
Negotiate excl. Trigger
Random
Durchschnittliche Anzahl der Beteiligung an Gruppenhandlungen in 50 Simulationsläufen über 200 Zeitpunkte - G1 180 160
Anzahl Handlungen
140 120 100 80 60 40 20 0 1
2
3
4
5
6
7
8
Negotiate excl. Trigger
Random
Agentin
Negotiate incl. Trigger
9
10
229
C – Muster der Gruppenentwicklung
Durchschnittlich ausgeführte Handlungen pro Handlungstyp in 50 Simulationsläufen über 200 Zeitpunkte - Gruppe G6 35
Durchschnittliche Anzahl
30
25
20
15
10
5
ki ng br un ch re ad in g co w nc al pu er rg t is na ch t dr c um ha t _s es af s io ro n _d be anc in lly g _d an cin g
s_ es fit n
pl
hi
di
ay _
st ud io m us eu m
r ke
sc o
ire
po
ks
m pf ca
l va
m as
rn i m ak
e_
pu b
ca
in bi g sc cyle us _t o s_ ur m ed ic in di e sc us s_ ar t th ea tre di
sk i
ci ne
m a
0
Negotiate incl. Trigger
Negotiate excl. Trigger
Random
Durchschnittliche Anzahl der Beteiligung an Gruppenhandlungen in 50 Simulationsläufen über 200 Zeitpunkte - G6 180 160
Anzahl Handlungen
140 120 100 80 60 40 20 0 1
2
3
4
5
6
7
8
Negotiate excl. Trigger
Random
Agentin
Negotiate incl. Trigger
9
10
Literatur
Axelrod, Robert (1997a): The Complexity of Cooperation. Chichester: Princeton University Press Axelrod, Robert (1997b): Advancing the Art of Simulation in the Social Sciences. In: Conte et al (1997): 21-40. Balzer, Wolfgang (1993): Soziale Institutionen. Berlin, New York: de Gruyter Balzer, Wolfgang (1997): Die Wissenschaft und ihre Methoden - Grundsätze der Wissenschaftstheorie. Freiburg, München: Verlag Karl Alber Balzer, Wolfgang (2000): SMASS: A Sequential Multi-Agent System for Social Simulation. in Suleiman et al. (2000): 65-82. Balzer, Wolfgang: Searle on Social Institutions: A Critique. In: dialetica 56. 2002. 195-211. Balzer, Wolfgang, Karl R. Brendel und Solveig Hofmann: Bad Arguments in the Comparison of Game Theory and Simulation in Social Studies. In: Journal of Artificial Societies and Social Simulation 4 (2). 2001. Balzer, Wolfgang, C. Ulises Moulines und Joseph D. Sneed (1987): An Archetectonic for Science. Dortrecht: D. Reidel. Balzer, Wolfgang / Tuomela, Raimo (1997a): A Fixed Point Approach to Collective Attitudes. In: Holmström-Hintikka/Tuomela (1997): 115-142. Balzer, Wolfgang / Tuomela, Raimo (1997b): The Structure and Verification of Plan-Based Joint Intentions. In: International Journal of Cooperative Information Systems 6. 1997: 3-26. Balzer, Wolfgang / Tuomela, Raimo (2001): Social Institutions, Norms and Practices. In Conte/Dellorcas: (2001): Social Order In Multiagent Systems. Dordrecht: Kluwer Academic Publishers. Balzer, Wolfgang / Tuomela, Raimo (2003): Collective Intentions and the Maintenance of Social Practices. In: Autonomous Agents and Multi-Agent Systems 6 (1). 2003: 7-33. Benninghaus, Hans (1982): Deskriptive Statistik. Stuttgart: B. G. Teubner Benninghaus, Hans (2001): Einführung in die sozialwissenschaftliche Datenanalyse. München: Oldenbourg Bourdieu, Pierre (1980): The Logic of Practice. Cambridge: Cambridge University Press Bourdieu, Pierre (1987): Sozialer Sinn, Kritik der theoretischen Vernunft.. Frankfurt am Main, Suhrkamp Bourdieu, Pierre (1997): Selection from the Logic of Practice. In: Schrift (1997): 190-230. Bowen, Kenneth C. (1978): Research Games - An approach to the study of decision processes. London: Taylor & Francis Brassel, Kai-H., Michael Möhring, Elke Schumacher und Klaus G. Troitzsch (1997): Can Agents Cover All the World. In: Conte et al. (1997): 55-72 Bratman, Michael E. (1987): Intention, Plans and Practical Reason. Cambridge, Massachusetts, London, England: Harvard University Press Bratman, Michael E. (1993): Shared Intention. In: Ethics 104. 1993: 97-113.
232
Literatur
Bratley, Paul, Bennett L. Fox und Linus E.E. Schrage (1987): A Guide to Simulation, 2nd Edition. New York: Springer-Verlag Carnap, Rudolf (1939): Foundations of Logics and Mathematics. In: International Encyclopedia of Unified Science, vol. 1, no. 3. Chicago: The University of Chicago Press Carnap, Rudolf (1948): Meaning and Necessity. Chicago: The University of Chicago Press Casti, John L. (1997): Would-be Worlds - How Simulation is Changing the Frontiers of Science. New York, Chichester, Brisbane, Toronto, Singapore, Weinheim: John Wiley & Sons, Inc. Chattoe Edmund, Nicole J. Saam und Michael Möhring: Sensitivity Analysis in the Social Sciences: Problems and Prospects. In: Suleiman et al. (2000): 243-273. Chellas, Brian F. (1980): Modal Logic. New York, New Rochelle, Melbourne, Sydney: Cambridge University Press
Chmura Thorsten / Pitz Thomas (2007): An Extended Reinforcement Algorithm for Estimation of Human Behaviour in Experimental Congestion Games. In: Journal of Artificial Societies and Social Simulation 10(2)1, 2007. Clocksin, William F. / Mellish, Christopher S. (1987): Programming in Prolog, 3rd Edition. Berlin, Heidelberg, New York: Springer-Verlag Cohen, Philip R., Jerry Morgan und Matha E. Pollack (Hrsg.) (1990): Intentions in Communication. Cambridge, London: The MIT Press Conte, Rosaria / Dellorcas, Chrysantos (Hrsg.) (2001): Social Order In Multiagent Systems. Dordrecht: Kluwer Academic Publishers. Conte, Rosaria, Nigel Gilbert und Jaime S. Sichman (1998): MAS and social simulation: A Suitable Commitment. In Sichman et al. (1998): 1-9 Conte, Rosaria, Rainer Hegselmann und Pietro Terna (Hrsg.) (1997): Simulating Social Phenomena. Berlin, Heidelberg, New York: Springer-Verlag, 1997. Darwiche, Adnan / Pearl, Judea (1996): On the logic of iterated belief revision. Artificial Intelligence 89, Elsevier, 1996. Doran, Jim (2000): Questions in the Methodology of Artificial Sciences. In: Suleiman et al. (2000): 17 – 25. Doyle, Jon, Erik Sandewall und Pietro Torasso (Hrsg.) (1994): Proceedings of the 4th International Conference on Principles of Knowledge Representation and Reasoning (KR'94). May 24-27, 1994. Bonn, Germany: Morgan Kaufmann Ellis, Brian (1979): Rational Belief Systems. Oxford, Basil Blackwell. Engel, Andreas / Möhring, Michael (1995): Der Beitrag der sozialwissenschaftlichen Informatik zur sozialwissenschaftlichen Modellbildung und Simulation. In: Gsänger /Klawitter (1995): 38-59 Fagin, Ronald, Joseph Y. Halpern, Yoram Moses und Moshe Y.Vardi (1996): Reasoning about knowledge. Cambridge, Massachusetts, London, England: The MIT Press Fagin, Ronald / Halpern Joseph Y.: Belief, Awareness, and Limited Reasoning (1987) Artificial Intelligence 34. 1987. 39 - 76 Forrester, Jay W. (1980): Principles of Systems 2nd preliminary edition, Cambridge, Massachusetts, London, England, The MIT Press Forrester, Jay W. (1971): Counterintuitive Behaviour of Social Systems. Technology Review 733. 1971, Updated March 1995. 52-68 Gabbay, Dov. M., Christopher J. Hogger und John A. Robinson (Hrsg.) (1995): Handbook of Logic in Artificial Intelligence and Logic Programming 4. Oxford: Clarendon Press Gärdenfors, Peter (1988): Knowledge in Flux: Modeling the Dynamics of Epistemic States. Cambridge, Massachusetts, London, England: The MIT Press
Literatur
233
Gärdenfors, Peter / Rott, Hans (1995): Belief revision. In Gabbay et al. (1995) Georgeff, Michael, Barney Pell, Martha Pollack, Milind Tambe und Michael Wooldridge (1991): The Belief-Desire-Intention Model of Agency. In: Müller et al (1991). Giddens, Anthony (1984): The Constitution of Society. Cambridge: Polity Press. Gilbert, Margaret (1992): On Social Facts. Princeton, New Jersey: Princeton University Press Gilbert, Margaret (2000): Sociality and Responsibility: New Essays in Plural Subject Theory. Lanham: Rowman & Littlefield Gilbert, Nigel (1996): Holism, Individualism and Emergent Properties: An Approach from the Perspective of Simulation. In: Hegselmann et al. (1996). Gilbert, Nigel / Troitzsch, Klaus G. (2005): Simulation for the Social Scientist - second edition. Maidenhead: Open University Press. Gilbert, Nigel / Troitzsch, Klaus G. (1999): Simulation for the Social Scientist. Buckingham, Philadelphia Open University Press Goldspink, Chris: Methodological Implications of Complex Systems Approaches to Sociality: Simulation as a foundation for knowledge. In: Journal of Artificial Societies and Social Simulation 5(1)3. 2002. Goldszmith, Moises / Pearl, Judea: Qualitative Probabilities for Default Reasoning. In: Artificial Intelligence 84. 1996. 57-112. Gsänger, Matthias / Klawitter, Jörg (Hrsg.) (1995): :Modellbildung und Simulation in den Sozialwissenschaften.Dettelbach: Verlag Dr. Josef H. Röll Halpern, Joseph Y. (1995): Reasoning about knowledge: a survey: in Gabbay, et al. (1995): 1-34. Halpern, Joseph Y. / Moses, Yoram: A guide to completeness and complexity for modal logics of knowledge and belief. Artificial Intelligence 54 (3). 1992. 319-379. Hansson, Sven O. (1994): A Textbook of Belief Dynamics. Uppsala: Selbstverlag. Hartmann, Stephan (1996): The World as a Process – Simulations in the Natural and Social Sciences. In Hegselmann et al. (1996). Hegselmann, Rainer, Ulrich Mueller und Klaus G. Troitzsch (Hrsg.) (1996): Modelling and Simulation in the Social Sciences from the Philosophy of Science Point of View. Dordrecht: Kluwer Academic Publishers Hindriks, Frank (2002): Social Ontology, Collective Intentionality and Ockhamian Skepticism. In: Meggle (2002a): 125-149 Hintikka, Jaakko (1962): Knowledge and Belief. Ithaca, New York: Cornell University Press Hörz, Herbert, Rolf Löther und Siegfied Wollgast (Hrsg) (1978): Philosophie und Naturwissenschaften - Wörterbuch zu den Philosophischen Fragen der Naturwissenschaften. Berlin: Dietz Verlag Hofmann, Solveig (1997): Maschinelle Erzeugung und Ableitung von Überzeugungssystemen. München: München: Magisterarbeit an der Ludwig-Maximilians-Universität Hofmann, Solveig (2002): The Social Practice of a Women’s Group: A First Simulation. In Meggle (2002a): 151-165. Hofmann, Solveig, Pekka Mäkelä, Thomas Pitz und Thorsten Chmura (2002): How Can We Avoid Traffic Jams? - Simulating the Social Practice of Joint Ride. In Urban (2002): 5054. Holmström-Hintikka, Ghita / Tuomela, Raimo (Hrsg.) (1997): Contemporary Action Theory 2. Dordrecht: Kluwer Academic Publishers. Horton, Graham (Hrsg.) (2004): Networked simulations and simulated networks (18th European simulation multiconference, Magdeburg, Germany, 13th- 16th June 2004). Erlangen: SCS Publishing House
234
Literatur
Jennings, Nicholas R., Katia Sycara und Michael Wooldrige: A Roadmap of Agent Research and Development. In: Journal of Autonomous Agents and Multi-Agent Systems 1 (1). 1998. 736. Katsuno, Hirofumi / Mendelzon, Albert O.: Propositional Knowledge, Base Revision and Minimal Change, AI 52,1991, S.264-296. Klein, Ernest (1967): A Comprehensive Etymology Dictionary of the English Language. Amsterdam, London, New York: Elsevier Publishing Compagny Klügl, Franziska (2001): Multiagentensimulation: Konzepte, Werkzeuge, Anwendungen. München: Addison-Wesley Verlag Klüver, Jürgen, Christina Stoica und Jörn Schmidt (2006): Computersimulationen und soziale Einzelfallstudien. Eine Einführung in die Modellierung des Sozialen. Herdecke – Bochum: W31 Verlag Lauth, Bernhard / Sareiter, Jamel (2005):Wissenschaftliche Erkenntnis - Eine ideengeschichtliche Einführung in die Wissenschaftstheorie. Paderborn: mentis Verlag Lenzen, Wolfgang (1980): Glauben, Wissen und Wahrscheinlichkeit: Systeme der epistemischen Logik. Wien, New York: Springer-Verlag Lux-Endrich, Astrid / Wachsmann, Anne (Hrsg.) (1998): Konstruierte Wirklichkeiten - Modellbildung und Simulation in den Wissenschaften. Tutzinger Materialie 82, Evangelische Akademie Tutzing Mathiesen, Kay (2002): Searle, Collectiv Intentions, and Individualism. In: Meggle (2002a): 185204. Meggle, Georg (Hrsg.) (2002a): Social Facts & Collective Intentionality. Frankfurt am Main: Dr. Hänsel-Hohenhausen AG. Meggle, Georg (2002b):.Gemeinsamer Glaube und Gemeinsames Wissen, in Siebel (2002): 12-20 Meggle, Georg (2002c): Mutual Knowledge and Belief. In Meggle (2002a): 205-223 van der Meyden, Ron (1994): Mutual Belief Revision. In Doyle et al (1994): 595-606. Mittelstraß, Jürgen (Hrsg.) (1995): Enzyklopädie Philosophie und Wissenschaftstheorie 3. Stuttgart, Weimar: J.B.Metzler Mittelstraß, Jürgen (Hrsg.) (2005): Enzyklopädie Philosophie und Wissenschaftstheorie 2. Stuttgart, Weimar: J.B.Metzler Möhring, Michael / Ostermann, Raphael (1996):.MIMOSE - Eine funktionale Sprache zur Beschreibung und Simulation individuellen Verhaltens in interagierenden Populationen. Koblenz: Druckerei der Universität Koblenz-Landau Mora, Michael da Costa, José Lopes, Rosa Viccari und Helder Coelho (1999): BDI Models and Systems: Bridging the Gap. In Müller et al (1999): 11-28. Müller, Jörg P., Munindar P. Singh und Anand S. Rao (1999): Lecture notes in artificial intelligence (1555), Intelligent Agents V. Berlin, Heidelberg, New York: Springer-Verlag Partee, Barbara H., Alice ter Meulen und Robert E. Wall (1993): Mathematical Methods in Linguistics. Dortrecht, Boston, London: Kluwer Academic Publishers Pitz, Thomas (2000): Anwendung Genetischer Algorithmen auf Handlungsbäume in Multiagentensystemen zur Simulation sozialen Handelns. Dissertation: Ludwig-Maximilians-Universität, München. Rao, Anand S. / Georgeff, Michael: Decision procedures for BDI logics. In: Journal of Logic and Computation 8(3). 1998. 293-344. Rao, Anand S. / Wooldridge, Michael (1999): Foundations of Rational Agency. In: Wooldridge / Rao (1999): 1-100. Reich, Wendelin: Reasoning About Other Agents: a Plea for Logic-Based Methods. In: Journal of Artificial Societies and Social Simulation 7 (4). 2004.
Literatur
235
Ritter, Joachim / Gründer, Karlfried (Hrsg) (1989): Historisches Wörterbuch der Philosophie 7, P-Q. Basel: Wissenschaftliche Buchgesellschaft Darmstadt
Saam, Nicole (1998a): Modell - Simulation – Theorie. In: Lux-Endrich / Wachsmann (1998): 13 – 17.
Saam, Nicole (1998b): Zur Konstruktion von Wirklichkeit – Computersimulation als Methode. In: Lux-Endrich / Wachsmann (1998): 65-79. Sandkühler, Hans J. (Hrsg.) (1999): Enzyklopädie Philosophie. Hamburg: Felix Meiner Verlag Sandu, Gabriel / Tuomela, Raimo: Joint Action and Group Action Made Precise. Synthese 105, 1996. 319-345. Schatzki, Theodore (1996): Social Practices: A Wittgensteinian Approach to Human Activity and the Social. Cambridge: Cambridge University Press Schelling, Thomas C.: Models of segregation. American Economic Review 59, 1969. 488-493 Schelling, Thomas C.: Dynamic models of segregation. Journal of. Mathematical Sociology 1(2). 1971. 143-186. Schild, Klaus (1999): On the Relationship between BDI Logic and Standard Logic of Concurrency. In Müller et al. (1999): 47-61. Sichman, Jaime S., Rosaria Conte und Nigel Gilbert (Hrsg.) (1998). Lecture Notes In Artificial Intelligence: Vol. 1534: Proceedings of the First International Workshop on Multi-Agent Systems and Agent Based Simulation. Berlin, Heidelberg, New York: Springer-Verlag Schoenemann, Thomas J.: The witch hunt as a culture change phenomenon. Ethos. 1975. 529554. Schrift, Alan D. (Hrsg.) (1997): The Logik of the Gift. Towards an Ethic of Generosity. London, New York: Routledge Searle, John (1987): Intentionalität - Eine Abhandlung zur Philosophie des Geistes. Frankfurt am Main: Suhrkamp Verlag Searle, John (1990): Collective Intentions and Actions. In Cohen et al (1990): 401-415. Searle, John (1995): The Construction of Social Reality. London: The Penguin Press Siebel, Mark (Hrsg.) (2002): Kommunikatives Verstehen.. Leipzig: Leipziger Schriften zur Philosophie 16 Simon, Hartmut (1980): Computer-Simulation und Modellbildung im Unterricht - Hochschuldidaktische Konzepte und Einsatzerfahrungen in den naturwissenschaftlichen Fächern Datenverarbeitung/Informatik im Bildungsbereich 3, München, Wien: Oldenbourg Verlag Speck, Josef (1980): Handbuch wissenschaftstheoretischer Begriffe. Göttingen: Vandenhoeck & Ruprecht Stachowiak, Herbert (1973): Allgemeine Modelltheorie. Wien, New York: Springer-Verlag Stegmüller, Wolfgang (1973): Probleme und Resultate der Wissenschaftstheorie und Analytischen Philosophie, Bd. IV, Personelle und Statistische Wahrscheinlichkeit, Erster Halbband, Personelle Wahrscheinlichkeit und Rationale Entscheidung. Berlin, Heidelberg, New York: Springer-Verlag Stegmüller, Wolfgang (1980): Hypothese. In Speck (1980): 284 – 287. Stegmüller, Wolfgang / Varga von Kibéd, Matthias (1984): Probleme und Resultate der Wissenschaftstheorie und Analytischen Philosophie, Bd. III, Strukturtypen der Logik. Berlin, Heidelberg, New York: Springer-Verlag Sterling, Leon / Shapiro, Ehud (1994): The Art of Prolog - Advanced Programming Techniques, 2nd Edition, Cambridge, Massachusetts, London, England: The MIT Press. Suleiman, Ramzi, Klaus G Troitzsch und Nigel Gilbert (2000): Tools and Techniques for Social Science Simulation. Heidelberg, New York: Physica-Verlag
236
Literatur
Suppes, Patrick: A comparision of the meaning and uses of models in mathematics and the empirical sciences. Synthese 12. 1960. 287-301.
Tarski, Alfred (1937): Einführung in die mathematische Logik und in die Methodologie der Mathematik. Wien: Springer
Troitzsch, Klaus G. (1990): .Modellbildung und Simulation in den Sozialwissenschaften. Opladen: Westdeutscher Verlag Troitzsch, Klaus G. (1996): Simulation and Structuralism. In: Hegselmann et al. (1996): 183-207.
Troitzsch, Klaus G. (1995): Mathematische Kalküle zur Bildung dynamischer Modelle in den Sozialwissenschaften. In: Gsänger /Klawitter (1995): 9-38 Troitzsch, Klaus G. (1997): Social Science Simulation - Origins, Prospects, Purposes. In Conte et al. (1997): 41-54
Troitzsch, Klaus G. (2004): Validating Simulation Models. In: Horton (2004): 265-270. Tuomela, Raimo: Group Beliefs. Synthese 91. 1992. 285-318. Tuomela, Raimo (1995): The Importance of Us. Stanford, California: Stanford University Press Tuomela, Raimo: Belief versus Acceptance. Philosophical Explorations 2. 2000. 122-137. Tuomela, Raimo (2003): The Philosophy of Social Practices - A Collective Acceptance View. Cambridge: Cambridge University Press Tuomela, Raimo / Balzer, Wolfgang: Collective Acceptance and Collective Social Notions, Synthese 117. 1999. 175-205. Tuomela, Raimo / Miller, Kaarlo: We-Intentions, Philosophical Studies 53. 1988. 115-137. Urban, Christoph (Hrsg.) (2002):3rd Workshop on Agent-Based Simulation, April 7-9, 2002. Passau, Germany. Wielemaker, Jan (2006): SWI-Prolog 5.6, Reference Manual. University of Amsterdam, Dept. of Social Science Informatics Wielemaker, Jan / Anjewierden, Anjo (1997): Programming in XPCE/Prolog. University of Amsterdam, Dept. of Social Science Informatics Wittenberg, Reinhard (1998): Computergestützte Datenanalyse. Stuttgart: Lucius & Lucius Wittgenstein, Ludwig (1958): Philosophical Investigation, 2. ed., Oxford: Blackwell Wooldridge, Michael (2000): Reasoning about Rational Agents. Cambridge, Massachusetts, London, England: The MIT Press. Wooldridge, M. / Jennings, Nicholas R.: Intelligent agents: Theory and practice. The Knowledge Engineering Review 10(2). 1995. 115-152. Wooldridge, Michael / Rao, Anand S. (Hrsg.) (1999): Foundations of Rational Agency. Dortrecht: Kluwer Academic Publishers Zeigler, Bernard P. (1976): Theory of Modelling and Simulation. New York: Wiley
Index
Absicht gemeinsame ............................ 51 geteilte ...................... 52, 72, 121 kollektive ................................ 51 vorausgehende ........................ 51 Ziel.......................................... 52 Abstraktion ................................. 30 Actor-Liste........................ 119, 121 Agenten Aktivierung ............................. 81 autonome ................................ 67 intelligente .............................. 66 rationale .................................. 67 Aktivierung aufsteigende Reihenfolge...... 120 zufällige Reihenfolge............ 119 Akzeptanz kollektive .......................... 44, 45 aletische Operatoren ................... 57 All-Solution-Prädikate ................ 86 Analyse-Tools........................... 138 Anführerinnen........................... 187 Anteil geteilte Intentionen ............... 158 geteilte Überzeugungen ........ 158 Anwendungen intendierte ............................... 32 atomarer Fakt.............................. 83 Ausgabedateien..................... 87, 96 Dateinamen ........................... 147 Ausgabedaten............................ 139 auslösende Bedingungen............. 74 Autonomie .................................. 66
Axiomenmenge........................... 31 Backtracking ............................... 81 BDI-Logik................................... 67 BDI-Struktur ............................... 67 Beteiligung durchschnittliche ... 173, 177, 181 Häufigkeit ............. 172, 177, 181 Beteiligungen Anzahl................... 173, 177, 181 Blättermodus Einstellung ............................ 147 Blättern ..................................... 147 Briefkasten persönlicher................... 123, 126 collective action .......................... 42 collective intention................ 51, 72 common belief ............................ 63 common knowledge .............. 52, 63 Computermodell ......................... 30 Dateien........................................ 87 Dateinamen ................................. 89 Protokolldateien ...................... 96 Daten..................................... 31, 33 initiale ..................................... 34 Datenbasis................................... 84 Deliberation ................................ 68 Diagramm Aufbau .................................. 148 Differentialgleichungssysteme.... 26 Discrete-Event-Modelle .............. 47 dynamische Systeme................... 46 Eingabedatei................................ 87 Eingabedaten............................... 98
238 Einstellung individuelle ........................... 106 unbestimmte.......................... 131 Einstellungen Änderung ................................ 46 Dynamik ................................. 60 epistemische...................... 57, 59 Generierung ............................ 93 höherer Stufe........................... 59 initiale ..................................... 93 Menge ........................... 121, 122 Elemente semantische............................. 32 syntaktische ............................ 32 Entscheidungsfindung praktische................................ 68 epistemische Einstellungen......... 57 epistemische Logik ............... 56, 59 epistemischer Input..................... 60 epistemischer Zustand .............. 149 epistemologische Theorie ........... 60 Erfolgsbewertung.............. 118, 132 Kriterium .............................. 164 Steuerung .............................. 166 Erfolgsrate ................................ 130 Erfolgswahrscheinlichkeit ........ 131 Expansion ................................... 62 Experiment.................................. 27 Fähigkeiten soziale ..................................... 66 Fakt atomarer .................................. 83 Fakten ................................... 33, 84 Faktenbasis ................................. 83 Bereinigung ............................ 95 Manipulation........................... 85 Farbeinstellungen...................... 139 Fehler akzeptable ............................. 163 Fehlerrate .................................. 165
Index
Fehlertoleranz ........................... 166 Fenster....................................... 147 formale Modelle.......................... 30 Formalisierung ............................ 25 Fraktionsbildung ....................... 188 Frustrationsschwelle ................. 166 Funktor........................................ 84 Gedankenexperiment .......... 27, 190 gemeinsame Absicht ................... 51 gemeinsame Handlung Auslösung ............................. 129 Auswahl ................................ 118 Bewertung............................. 129 Durchführung................ 118, 129 gemeinsame Überzeugung Fixpunkt-Ansatz...................... 64 iterativer Ansatz ...................... 64 gemeinsame Verbindlichkeit....... 54 gemeinsames Wissen ............ 54, 64 Generierungsschicht.................... 88 Gesellschaften künstliche ................................ 67 geteilte Absicht ........................... 52 Glauben....................................... 57 grafische Ausgabe............. 139, 140 grafische Darstellung ................ 148 group intention............................ 72 Grund sozialer .................................... 42 Gruppe ................................ 79, 142 Entwicklung .......................... 117 mögliche Entwicklungen ...... 143 Zusammenhalt....................... 159 Gruppen Äquivalenzklassen ................ 142 Gruppenentwicklung................. 143 Gruppenhandlung Beteiligungen ........................ 184 bevorzugte..................... 127, 128 Trigger .................................. 128
Index
Vorschlag.............................. 150 Gruppenkern ..................... 185, 187 Gruppenleben Erfolg .................................... 130 Gruppenstärke................... 159, 164 durchschnittliche........... 155, 165 Stabilisierung ........................ 156 Habitus........................................ 40 Handlung bevorzugte .................... 131, 132 Bewertung............................. 104 Erfolg .............................. 75, 130 Ergebnis .................................. 74 Feedback................................. 75 gemeinsame ............................ 50 gemeinschaftliche ................... 42 Häufigkeit ............. 171, 174, 178 individuelle ....................... 43, 50 Initialzustand........................... 74 intendierte ............. 124, 131, 132 Modellierung........................... 74 nicht intendierte .................... 133 soziale ..................................... 42 Vorschlag...................... 124, 150 Wahlfreiheit .......................... 185 Handlungen relative Häufigkeit 171, 175, 180 Handlungen pro Handlungstyp . 183 Handlungsablauf ....................... 153 Handlungsabsicht...................... 131 Herausbildung....................... 129 Modellierung........................... 72 Handlungsabsichten.... 51, 106, 113 Handlungskonzept aristotelisches.......................... 39 Handlungsspektrum .................. 189 Handlungstheorie........................ 50 Handlungstypen .................. 93, 101 Liste ...................................... 111 Historie ..................................... 133
239 Historieneintrag ........................ 134 Hypothese ....................... 31, 33, 34 I-mode......................................... 45 individuelles Verhalten ............... 49 Inferenzbasis ............................... 84 Manipulation........................... 85 initiale Intentionen Generierung .......................... 100 Initialisierungsphase ................... 98 Input............................................ 33 epistemischer .......................... 60 Instanz......................................... 84 Institutionen soziale ..................................... 45 intendierte Anwendungen ........... 32 Intention Inhalt ..................................... 105 Prolog-Fakt ........................... 104 intentionaler Zustand .................. 49 Intentionalität kollektive .......................... 44, 45 Intentionen Generierung .......................... 100 grafische Darstellung ............ 148 initiale ................................... 111 Intentionsfakten ........................ 105 Intersubjektivität ......................... 63 joint Commitment ....................... 53 joint intention.............................. 51 Kernbildung ...................... 186, 187 Kernsimulation............................ 88 Klauselmenge.............................. 81 kollektive Absicht ....................... 51 kollektive Akzeptanz ............ 44, 45 kollektive Intentionalität ....... 44, 45 kollektives Verhalten .................. 49 Konfigurationsparameter ...... 90, 93 Konstruktivismus sozialer .................................... 41 Kontraktion ................................. 62
240 künstliche Gesellschaften ........... 67 Laufzeitparameter ................. 90, 92 Logik epistemische...................... 56, 59 Mailbox............................. 121, 124 means-end reasoning .................. 68 Methoden wissenschaftliche .................... 27 Misserfolg Bewertung............................. 132 Misserfolge akzeptable ............................. 135 Anzahl................................... 134 aufeinanderfolgende ..... 135, 136 Modallogik............................ 56, 59 Modell Entwicklung............................ 30 Konstruktion ..................... 29, 31 Konzept................................... 28 Modellbegriff.................. 28, 29, 32 Modellbildung ............................ 29 Modelle formale.................................... 30 Modellklasse get_random ........................... 120 negotiate................................ 123 Modellklassen ....................... 31, 33 Modellkonzept strukturalistisches ................... 32 Modelltheorie.............................. 31 mögliche Entwicklungen Gruppe .................................. 143 mögliche Welten................... 27, 57 Multiagentensystem.................... 67 mutual belief ......................... 63, 73 mutual knowledge....................... 63 Nachricht .......................... 123, 124 Nachrichtenübermittlung ............ 65 Name........................................... 83 negativer Trigger ...................... 178
Index
Normen ....................................... 79 Obligation Criterion .................... 55 OK-Button ................................ 147 omniscience problem .................. 61 Operatoren aletische .................................. 57 Originalsystem ...................... 29, 30 Output ......................................... 33 Parameter sensitiver ............................... 163 Parameterinitialisierung ............ 144 Parameterwerte ........................... 90 Performanz.......................... 82, 140 Performativität ............................ 45 Permission Criterion ................... 55 persönliche Verbindlichkeit ........ 53 Plan ............................................. 68 Planung ....................................... 52 Plural Subject.............................. 53 Pluralistic Ignorance ................. 110 Poesis .......................................... 39 positiver Trigger ....................... 178 Prädikat ....................................... 84 Definitionsbereich................... 84 dynamisches............................ 85 praktische Entscheidungsfindung 68 Praxis Änderung ................................ 46 Aufgabe................................. 138 Aufrechterhaltung ................... 46 Etymologie.............................. 38 Fortführung ........................... 135 gesellschaftliche...................... 39 Praxisbegriff aristotelischer .......................... 38 marxistischer........................... 39 Praxiskonzept marxistisches........................... 40 Praxisphilosophie........................ 40 Proaktivität.................................. 66
Index
Programmablauf ......................... 33 Programmierung deklarative .............................. 82 Programmkonstanten ............ 90, 97 Programmpaket........................... 88 Programmparameter ................... 90 Programmregeln Korrektheit............................ 146 Prolog.......................................... 81 Prolog-Shell ................................ 83 Proposition.................................. 59 Protokolldatei............................ 117 Protokolldateien............ 88, 89, 139 Prozentsatz geteilte Intentionen ............... 154 geteilte Überzeugungen ........ 154 Public Mailbox.......... 121, 124, 128 Rationalitätskriterium ................. 61 Reaktivität................................... 66 Reduktionsprinzip....................... 59 Regelmenge ...................... 143, 144 Regelmengen Vergleich ...................... 161, 167 Regeln................................... 33, 84 Rekursion Terminierung ........ 113, 114, 116 Resolutionskalkül ....................... 81 Revision ...................................... 62 Schwelle Ermittlung............................. 133 Schwellenbewertung......... 133, 134 Seed .................................. 144, 146 Semantik ..................................... 32 sensitiver Parameter.................. 163 shared intention........................... 51 shared social reason .................... 42 Simulation Anwendungsbereiche........ 21, 23 Etymologie.............................. 27 Methode ...................... 24, 27, 30
241 Simulationsergebnisse Bewertung............................. 141 Sicherung ................................ 96 Strukturierung ....................... 169 Simulationsfolge ausführen................................. 98 Simulationsfolgen Einteilung.............................. 168 Gegenüberstellung ................ 184 Vergleich............................... 183 Simulationslauf Steuerung .............................. 116 Terminierung ........................ 138 Simulationsprogramm Ausgabe ................................ 139 Simulationsprotokoll................. 146 SMASS ....................................... 81 soziale Handlung......................... 42 soziale Institutionen .................... 45 soziale Praktiken Einteilung................................ 43 soziale Praxis Aufgabe................................. 117 Beispiel ................................... 80 Beteiligung.............................. 75 Bewertung............................... 75 Muster ................................... 117 Rahmen ................................... 76 Schwelle................................ 130 Soziale Simulation Fachbereiche ........................... 24 soziale Systeme........................... 42 Modellierung........................... 26 Sozialität ..................................... 45 Spezifikation ......................... 30, 33 Sprache deklarative............................... 82 objektorientierte ...................... 82 Stabilisierung ............................ 155 Startbedingungen ...................... 187
242 Struktur ....................................... 84 System reales....................................... 29 Systeme dynamische ............................. 46 soziale ..................................... 42 Systemprädikate.......................... 85 Teilhandlungen ........................... 49 Term Argumente .............................. 84 zusammengesetzter ................. 84 Testeinstellungen Verifikation........................... 145 Theorie........................................ 31 epistemologische..................... 60 Grundbegriffe ......................... 31 semantische............................. 61 wissenschaftliche .................... 31 Trigger .............................. 146, 162 Handlung ................................ 74 Intention.................................. 74 negativer ....................... 126, 178 positiver ................ 124, 126, 178 Überzeugung gegenseitige ............................ 63 gemeinsame ............................ 63 Inhalt..................................... 105 Stufe...................................... 116 unbestimmte.......................... 108 Überzeugungen erster Stufe............................ 105 höherer Stufe......................... 105 Konsistenz .............................. 58 widersprüchliche................... 110 Überzeugungsbasen .................... 62 Überzeugungsbasis ........... 105, 116 Aktualisierung....................... 126 Generierung .................. 110, 113 grafische Darstellung ............ 149 Protokoll ............................... 139
Index
Überzeugungsmenge Änderung .............................. 110 intersubjektive Konsistenz .... 109 subjektive Konsistenz ........... 108 Überzeugungsrevision............... 151 Überzeugungssatz Prolog-Fakt ........................... 105 Struktur ................................. 105 Überzeugungssystem .................. 60 Unifizierung ................................ 81 Validierung ............................... 141 Variable....................................... 84 Variableninstantiierung............... 97 Variablennamen .......................... 84 Verbindlichkeit gemeinsame ............................ 54 persönliche .............................. 53 Urheber ................................... 54 Verhalten individuelles............................ 49 kollektives............................... 49 Verhaltensregeln ......................... 81 Verhandlung.............................. 123 Verifikation............................... 141 Verzeichnisnamen....................... 96 Verzeichnispfad .................. 89, 147 Verzeichnisse .............................. 96 Vorschlag .................................. 123 Auswahl ........................ 125, 127 Vorschläge Bewertung............................. 126 Feedback ............................... 107 zufällige Auswahl ................. 121 Wahrheit ............................... 57, 61 Welten mögliche.................................. 57 we-mode ..................................... 45 Wir-Einstellung........................... 45 Wir-Intention .............................. 73 Wissen......................................... 57
Index
gegenseitiges........................... 63 gemeinsames............... 54, 63, 64 wissenschaftliche Methode .................................. 27 Theorie.................................... 31 Zeitabschnitt ............................... 47 Zeitpunkt..................................... 47 Nachfolger .............................. 47 Zeitpunkte Nachbarschaft ......................... 47 Zeitskalen.................................... 47
243 Ziel.............................................. 68 Zielsystem................................... 29 Zufallsauswahl .................... 86, 112 Zufallszahl ........................ 112, 144 Zufallszahlengenerator........ 98, 144 Initialisierung .................. 86, 146 Zusammenhalt........................... 161 Zustand epistemischer .......................... 60 intentionaler ............................ 49 psychologischer ...................... 60