• Keine Ergebnisse gefunden

FIB Papers Wissenschaftszentrum Berlin für Sozialforschung Veröffentlichungsreihe der Forschungsgruppe Internationale Beziehungen P 90 - 306

N/A
N/A
Protected

Academic year: 2022

Aktie "FIB Papers Wissenschaftszentrum Berlin für Sozialforschung Veröffentlichungsreihe der Forschungsgruppe Internationale Beziehungen P 90 - 306"

Copied!
67
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

FIB Papers

Wissenschaftszentrum Berlin für Sozialforschung

Veröffentlichungsreihe der Forschungsgruppe Internationale Beziehungen

P 90 - 306

Das EARTH Modell:

Technische Beschreibung

Hans-Peter Schreiter

Publication Series of the International Relations Research Group Reichpietschufer 50

D-1000 Berlin 30

(2)

Die in dieser Arbeit vertretenen Auffassungen sind die des Verfassers und nicht notwendigerweise die der Forschungsgruppe Internationale Beziehungen.

t he views expressed in this paper are those o f the author and not necessarily those o f the International Relations Research Group.

(3)

Zusammenfassung

EARTH ist ein Computermodell m it dem in einer abstrakten M odellwelt Interaktionen von Staaten simuliert werden können. Diese Aktionen reichen u.a. von Bedrohung über Koalitionsbildung bis zum Krieg. In bestimmten Modelläufen ist es ebenso möglich, den inneren Zusammenhalt der Modellstaaten zu simulieren. Durch eine Vielzahl vom Benutzer zu setzender Parameter ist es möglich, eine Modellwelt in vielfältigen Konfigurationen zu simulieren. Der vorliegende Text beschreibt auf einer eher technischen Ebene das Zusammenspiel der einzelnen Modellteile. Die Beschreibung gibt erst einen allgemeinen Überblick der Datentypen und der algorithmischen Abläufe des Modells, im Folgenden wird auf einige für das Modell bedeutende Funktionen und Prozeduren eingegangen. Zum Schluß findet sich eine kurze Beschreibung der Eingabe- und Ergebnisdateien des Modells.

Abstract

EARTH is an abstract world model for the simulation o f state interactions. Interaction ranges from threats to the formation o f alliances and the occurrence o f war. In certain configurations it is possible to simulate the degree o f cohesion within model states as well as civil war secession processes. By means o f a large number of user initiated parameters a great variety of configurations can be simulated. The following is a technical description of the interplay between the individual parts o f the model. First a general overview of the types of data and the algorithmic progression o f the model are provided, followed by elaborations o f several functions and procedures which are important for the model and, finally, a short description o f input and output files of the model.

(4)

IV

Inhaltsverzeichnis

1 E in le itu n g ... 1

2 "G eschichte"... 1

3 Ü b e rb lic k ... 2

4 Datenobjekte des Modells ... 2

4.1 T e rrito rie n ... 3

4.2 Staaten ... 4

4.3 Sonstige ... 5

5 Algorithmischer Ablauf des Modells ... 6

5.1 Initialisierungsphase... 7

5.2 Ausführung der einzelnen Läufe ... 7

5.2.1 Iterationsinitialisierung ... 8

5.2.2 Bürgerkrieg ... 9

5.2.3 Initiator-und Gegnerauswahl ... 11

5.2.3.1 "Rationale" Initiator- und Targetauswahl (di51 S electJn itJT a rg et-R a tio n a l)... 12

5.2.3.2 "Einfache" Initiator- und Targetauswahl (di50_Select_InitJTarget_Simple) ... 13

5.2.4 E sk alatio n ... 14

5.2.4.1 Aufbau einer defensiven Koalition (1. Runde) ... 14

5.2.4.2 Aufbau einer offensiven K o a litio n ... 16

5.2.4.3 Aufbau einer defensiven Koalition (2. Runde) ... 17

5.2.5 Krieg ... 17

5.2.5.1 Berechnung von Machtverlust und Reparationen (wo50_New_Winner_Loser P o w er)... 18

5.2.5.2 Austausch von Territorien (wo53_Change_Territories)... 18

5.3 Iterationsendphase ... 20

6 W ichtige Funktionen und P ro zed u ren ... 21

6.1 Berechnung der effektiven Macht (Effective State Power) ... 21

6.2 Berechnung der "Assumed State Power" ... 21

6.3 Berechnung der Siegeswahrscheinlichkeit in einem K r ie g ... 22

6.4 Berechnung der W ahrscheinlichkeit eines Unentschieden in einem K rie g ... 22

6.5 Berechnung der Expected Utility ... 22

6.5.1 Expected Utility Berechnung für Staaten (drOl _Exp_Util_States) ... 23

6.5.2 Für Koalitionen (dr02 Exp_Util C o a l)... 24

7 Zusatzmodule mit nicht modellspezifischen F unktionen... 26

7.1 Das L isten m o d u l... 26

7.2 B ildschirm ausgabe... 28

8 B edienungsanleitung... 29

9 F ehlerm eldungen... 30

10 Gliederung des Programms (*. *.c *.h *.typ - D a te ie n )... 31

10.1 Directorystruktur ... 32

(5)

V

11 Erstellung eines lauffähigen Programms (unter M S -D O S )... 32

11.1 "Makefile" ... 33

Anhänge ... 35

A Beschreibung der Namenskonvention (für Prozeduren und Funktionen) ... 36

B Syntaxerweiterung ... 36

C Ein- und Ausgabedateien ... 38

C. 1 P aram eterd atei... 39

C.2 Ausgabedatei für die grundlegenden Staatenattribute... 40

C.3 Ausgabedatei für die Staatengeschichte (State Histoiy File) ... 41

C.4 Beschreibung der umfassenden Statistikdatei (Big Statistics F i l e ) ... 43

C.5 Beschreibung der kleinen Statistikdatei (Small Statistics File) ... 45

C.6 Beschreibung der Ergebnisdatei (Result F i le )... 45

C. 7 Protokolldatei (EARTELlog) ... 47

D. Verzeichnis der Routinen des Modells ... 47

E. L iteratu r... 61

E ... 62

(6)

Einleitung 1

1 Einleitung

EARTH (Exploring Alternative Realpolitic Theses) ist ein Computermodell, m it dem in einer abstrakten Modellwelt die Einwirkungen verschieden agierender "Staaten" aufeinander, sowie der innere Zusammenhalt von Staatengebilden simuliert werden können.

Das M odell ist in weitem Rahmen durch vom Benutzer anzugebende Parameter konfigurierbar.

Durch die W ahl der M odellparameter werden Größe des Systems, die Zusammensetzung in bezug auf die Staatentypen und initiale Kennziffern für die einzelnen Staaten festgelegt.

Ausgehend von einer vom Benutzer festgelegten Grundkonfiguration wird der Zustand des Modells während eines Modellaufs durch Kriege und Bürgerkriege verändert. Mögliche Studien an diesem Modell könnten z.B. die Feststellung von Überlebenszeiten bestimmter Staatentypen sein.

Die aktuelle Version des Modells ist in "C" implementiert. Frühere Versionen waren in PASCAL und in Modula-2 programmiert. Die Implementation des Modells in PASCAL und Modula-2 sowie die Übertragung von M odula-2 nach "C" wurden in weiten Teilen von Uwe Zimmer durchgeführt. Die Erweiterung des Modula-2 Modells und die Überarbeitung des "C"-Modells wurden vom Autor dieses Berichts durchgeführt.

Dieser Text beinhaltet eine eher technische Beschreibung des EARTH Modells. Für eine stärker inhaltlich orientierte Beschreibung müssen andere Schriften zu Rate gezogen werden (z.B. [1]).

2 ’’Geschichte”

Das EARTH Modell war ursprünglich in PAS CAL implementiert. PAS CAL ist eine strukturierte Programmiersprache, die es erlaubt übersichtliche Programme zu schreiben. PASCAL stößt allerdings an Grenzen, wenn die Programme einen gewissen Umfang überschreiten. Das war der Grund, warum das EARTH M odell von PASCAL zu Modula-2 transferiert wurde. Modula-2 ist eine zu PASCAL sehr ähnliche Sprache, die allerdings Strukturierungshilfsmittel enthält, die es sehr leicht möglich machen, ein großes Programm in verschiedene Einzelteile, sogenannte

"Module", zu unterteilen, und trotzdem die Konsistenz der verschiedenen Programmteile zueinander zu wahren. Obwohl Modula-2 zur Programmierung eines so großen Programms wie EARTH gut geeignet erscheint, ist die augenblickliche Version von Modula-2 nach "C"

übertragen worden. "C" ist eine Programmiersprache, die sich weiter Verbreitung erfreut, obwohl sie vom Sprachkonzept her nicht so gut zur Programmierung großer bis sehr großer Programmpakete geeignet ist wie Modula-2. Im Gegensatz zu M odula-2 existieren allerdings sehr ausgereifte "C"-Compiler, deren Normung bereits weit fortgeschritten ist.

Die Übertragung des EARTH Modells von Modula-2 nach "C" machte aus den oben genannten Gründen eine relativ strikte Programmierdisziplin erforderlich.

(7)

Überblick 2

3 Überblick

EARTH ist ein Computermodell das eine abstrakte Modellwelt simuliert. Umfang und Zusammensetzung dieser Modellwelt sind nicht von vornherein festgelegt, sie lassen sich über Param eter bestimmen. Die Territorien sind sechseckförmig, so daß jedes Territorium, bis auf die Randterritorien, sechs Nachbarn hat. Zu Beginn eines Modellaufs sind die Territorien mit den Staaten identisch.

Es sind vier verschiedene Staatentypen möglich (s.a. 4.2). Die Zusammensetzung des Systems in Bezug auf die Staatentypen ist über Parameter zur Laufzeit veränderbar. Über Parameter können auch verschiedene andere Eigenschaften der Staaten wie Machtpotential, Aggressivität usw. verändert werden. Am Anfang des Modellaufs hat jeder Staat nur ein Territorium. Das Gesamtterritorium kann durch Kriege vergrößert werden und ebenso durch Kriege oder Bürgerkriege verkleinert werden. Verkleinerung und Vergrößerung finden durch Erwerb oder Verlust einzelner Territorialelemente statt. Die einzelnen sechseckigen Territorialelemente sind sozusagen die Atome des Systems, sie können nicht weiter aufgeteilt werden. Im Rahmen des Modellaufs kann es durch Territorienerwerb zu multiterritorialen Staaten kommen. Der M odellauf ist entweder bei einer vorgegebenen Anzahl von Iterationen beendet oder, wenn Bürgerkriege unmöglich sind, bei Vorliegen eines globalen Imperiums (das dann alle vorhandenen Territorialelemente umfaßt).

Zu Beginn eines jeden Laufes werden die Datenobjekte für den Lauf alloziert und die aktuellen Parameter eingelesen. Danach wird der aktuelle Lauf gestartet. Ein M odellauf besteht aus einer Anzahl von Iterationen. Jede Iteration besteht aus einer Initialisierungsphase, einer Auswahlphase der initialen Disputteilnehmer, einer Eskalationsphase, eventuell einer Kriegsphase, wenn geeignete Disputteilnehmer gefunden wurden, und einer Endphase, in der

"aufgeräumt" wird. Innerhalb einer Iteration sind mehrere Bürgerkriege möglich (falls dies für den L auf erlaubt ist), aber nur ein "multinationaler" Konflikt.

Im folgenden werden erst die Datenobjekte des Modells geschildert und dann wird näher auf die algorithmischen Abläufe innerhalb des Programms eingegangen.

4 Datenobjekte des Modells

In älteren Modellversionen war die Größe des Modells festgelegt. Eine Änderung der Größe wäre nur durch Neukompliation möglich gewesen. In dieser Version kann die Modellgröße über Parameter angegeben werden. Das hat zur Folge, daß alle Datenobjekte, deren Größe von der Modellgröße abhängt dynamisch alloziert werden müssen. Die Datenobjekte müssen daher zu Beginn eines jeden Laufes neu erzeugt werden und am Ende des Laufes m uß der von ihnen belegte Speicherplatz wieder freigegeben werden. Dadurch ändert sich auch der Zugriff auf

(8)

Datenobjekte des Modells 3

diese Datenobjekte. Variablen, die früher als eindimensionale Felder definiert waren, werden nun als Zeiger auf Objekte des jeweiligen Typs definiert und bei der Initialisierung wird der entsprechende Speicherblock alloziert. Bei der Allokation zweidimensionaler Felder wird die Variable als Zeiger auf Zeiger (z.B.: T yp **V a ria b le n n a m e ) des entsprechenden Typs definiert. Die Allozierung zweidimensionaler Felder geschieht in drei Schritten. Zuerst wird ein Feld von n Zeigern (n = Zeilenzahl des zu allozierenden Feldes) alloziert, dann wird ein Speicherblock alloziert, der die einzelnen Feldelemente aufnimmt. Im letzten Schritt werden den Zeigern Positionen aus dem Speicherblock zugewiesen. Diese Funktionen werden von der Prozedur ut08_Alloc_Array () wahrgenommen, der man nur die Ausdehnung des Feldes in Zeilen und Spalten, sowie die Größe der einzelnen Feldelemente in Bytes als Parameter übergeben muß. Der Zugriff auf die einzelnen Elemente eines so allozierten Feldes sieht im

"C"-Quelltext wie der Zugriff auf ein statisch angelegtes Feld aus. Feld höherer Dimension als 2 werden im M odell nicht direkt alloziert.

Die wesentlichen Datenobjekte des Modells sind Territorien und Staaten. Nach der Initialisierung besteht das Modell aus Staaten, die jeweils ein Territorium besitzen. In die sechseckigen Territorien werden die Staatennummem von 1 aufsteigend eingetragen. Im Programm werden die Territorien durch ein zweidimensionales Feld und die Staaten durch ein eindimensionales Feld dargestellt.

Zu diesen wichtigsten Datenobjekten des Modells gesellen sich noch einige andere Datentypen, die in den verschiedensten Teilen des Modells benötigt werden und z.B. dazu dienen statistische Informationen zu speichern, damit sie nach Beendigung der verschiedenen Modellphasen sowie nach der Beendigung des Programms zur Verfügung stehen. Ferner existieren Datentypen für die Verwaltung von Listen, einige Aufzählungsdatentypen und einige allgemein benutzte Datentypen, wie z.B. STRING.

4.1 Territorien

Territorien sind die Grundeinheiten des EARTH Modells. Territorien können weder verschwinden noch neu erzeugt werden. Die Deklaration des Typs TERITORY befindet sich in der Typ-Datei typ\teritory.typ. Die Bestandteile des Typs sind die Staatennummer stnr, sie ist der Index in das Staatenfeld und verweist auf den Eintrag zu dem das Territorium gehört, die Variable/?«? wer, die die aktuelle reale "Macht" des Territoriums speichert, die Variable growthrt, die die W achstumsrate der M acht des Territoriums speichert und die Variable strtctrl, die den Zeitpunkt speichert, zu dem ein bestimmter ein Staat die Kontrolle über das Territorium übernommen hat.

(9)

Datenobjekte des Modells / i

4.2 Staaten

Der Typ STATE ist in der Datei typ\state.typ deklariert. Staaten bestehen aus Territorien. Die Zuordnung von Territorien zu Staaten findet über eine interne Staatennummer statt. Die Staatennummer wird nach außen nicht sichtbar. Für den Benutzer ist lediglich die stateid relevant. Die stateid ist eine fortlaufende Nummer, die immer dann vergeben wird, wenn ein neuer Staat erzeugt wird. Die stateid stimmt also mit der Nummer des Staates nur am Anfang des Modellaufs überein. Die Nummer des Staates ist gleich dem Index in das Feld states, das im M odul states.c definiert ist. In der Variablen corecoor sind die aktuellen Koordinaten des Kemterritoriums abgespeichert; dagegen sind in der Variablen origcore die Koordinaten des ursprünglichen Kemterritoriums abgelegt. Die aktuellen und ursprünglichen Koordinaten des Kemterritoriums können sich unterscheiden, wenn nach einem Krieg oder Bürgerkrieg Territorien verteilt wurden und zu den abgespaltenen Territorien auch das ursprüngliche Kemterritorium gehört. In der Variablen numterri ist die aktuelle Anzahl der Territorien eines Staates abgelegt. Die Variable rspower enthält die tatsächliche reale M acht eines Staates. Sie wird in jeder Iteration auf den aktuellen Wert gebracht. Die Variablen ownerror und otherror enthalten die Fehler, die der Staat bei der Einschätzung seiner eigenen M acht und bei der Einschätzung der M acht anderer Staaten macht. Die Variable sttype gibt den Typ des Staates an. Die verschiedenen Staatentypen sind in der Datei typ\sttype.typ als symbolische Konstanten deklariert, wobei CSS für "Collective Security State", PPS für "Primitive Power Seeker", PB für "Power Balancer" undRTS für "Rational State" steht. In der Variablen role sollte die aktuelle Rolle eines Staates wiedergegeben werden, z.B. kann der Variablen entnommen werden ob der Staat gerade Initiator oder Target eines Disputes ist. Im M oment haben die Werte dieser Variablen aber keine Konsequenzen auf den Programmablauf und geben auch nicht in allen Phasen die tatsächliche Rolle des Staates wieder. Die Variable exist gibt an ob der Eintrag im Staatenfeld gerade benutzt wird oder nicht. Ein Eintrag bei dem die Variable den Wert FALSE hat, ist frei um z.B. für einen neuen Staat benutzt zu werden. Die Variable minmainc enthält die

"Minimum Maintenance Cost" des Staates, die Variable maincerr den Fehler, den der Staat bei der Einschätzung der "Maintenance Cost" macht und die Variable genpolpa den

"General Policy Parameter". Die Variablen kinkl und kink2 werden im jetzigen Zustand des Modells nicht benötigt. Die Variablen next und prev dienen administrativen Zwecken bei der Ausgabe von Informationen über die einzelnen Staaten, mit ihnen wird eine Liste der Staaten, die in der Reihenfolge der Entstehung sortiert ist, aufgebaut.

Die folgenden Variablen sind für den Modellablauf selber nicht von Bedeutung. Sie dienen dazu, "historische" Daten eines Staates zu speichern und die Ausgabe von statistischem

(10)

Datenobjekte des Modells 5

Zahlenmaterial zu ermöglichen. Sie geben Informationen über die generellen Daten eines Staates, über die Aktivitäten eines Staates im Krieg, über die durch Krieg und Bürgerkrieg veränderten Machtverhältnisse und über das normale Machtwachstum.

Die Variable creatitr enthält die Nummer der Iteration, in der der Staat erzeugt wurde. Für Staaten, die am Anfang des Modellaufs erzeugt wurden hat sie den W ert Null. Die Variablen birthpow, birthpsh, birthter geben die Macht des Staates, den Anteil des Staates an der Gesamtmacht des Systems und die Anzahl der Territorien zum Zeitpunkt der Geburt des Staates an.

Die folgenden Variablen geben Auskunft über die Aktivitäten eines Staates, selinit gibt an, wie oft der Staat als Initiator eines Disputs ausgewählt wurde, actinit gibt an wie oft der Staat tatsächlich Initiator eines Krieges war; initside zeigt an, wie oft der Staat auf der Initiatorseite war, disptarg, wie oft er Ziel eines Disputes war, wartarg wie oft er angegriffener Staat in einem Krieg war, targside wie oft er auf der Seite des angegriffenen Staates war, rejbid, wie oft er die Aufforderung zurückwies sich einer Allianz anzuschließen, nrvict wie oft er auf der siegreichen Seite war und nrdefeat, wie oft er auf der unterlegenen Seite in einem Krieg war. Die Variablen terigain und teriloss schließlich geben an, wieviele Territorien der Staat im Laufe seines

"Lebens" gewann und verlor.

Ü ber die Entwicklung der Macht eines Staates wird mithilfe der Variablen awarcost, der akkumulierten, gezahlten Kriegskosten, areppaid, der akkumulierten, gezahlten Reparationen, areprecd, der akkumulierten, empfangenen Reparationen, tpowgain und tpowloss, der gesamten gewonnenen bzw. verlorenen Macht, Buch geführt.

Die Variablen nrcivwar, civwarlt, tercvlst geben Auskunft über die Anzahl der erlittenen Bürgerkriege, die Anzahl der verlorenen Bürgerkriege und die Anzahl der Territorien, die sich während Bürgerkriegen abgespalten haben. Die Variablen cvwarcst und cvpowlos geben die Bürgerkriegskosten und den gesamten Machtverlust durch Bürgerkriege wider. Cvpowloss enthält nicht nur den Machtverlust der durch die Kosten des Bürgerkriegs entstanden ist, sondern auch den Machtverlust durch den Verlust von Territorien während eines Bürgerkriegs.

4.3 Sonstige

Im folgenden werden die wichtigsten Datenstrukturen, die sich teilweise in den ".typ" Dateien und teilweise in den ".h" Dateien befinden, kurz beschrieben.

- stypes.h:

Enthält einige Deklarationen für häufig benutzte Typen z.B. STRING

(11)

Algorithmischer Ablauf des Modells

6

- COMPASS in typ\compass.typ:

Aufzählungstyp, der die im Modell vorhandenen "Himmelsrichtungen" enthält. Die Richtungen ergeben sich aus der sechseckigen Form der Territorien. Dieser Typ wird benutzt um z.B. Schleifen über alle Nachbarn eines Territoriums laufen zu lassen.

- POWERS in typ\powers .typ:

Elemente dieses Typs werden benutzt um statistische Daten aus den einzelnen Phasen eines Disputes zu speichern.

- RUNSTAT in typ\runstat.typ:

Hier werden die Anzahl der Staaten in bestimmten Iterationen und die Zusammensetzung des Modells zu Beginn eines Laufes und am Ende eines Laufes abgespeichert.

- STATREC in typ\statrec.typ:

Eine Variable dieses Typs wird benutzt um im Statistikmodul Daten über die Iteration abzuspeichem. Hier werden Daten aus allen Phasen eines Konflikts und die Ergebnisse eines eventuellen Krieges abgespeichert.

- STLISTEL in typ\stlistel.typ:

Listenelemente um Listen von Staatennummem aufzubauen.

- STROLE in typ\strole.typ:

Symbolische Konstanten um die Rolle eines Staates in einem Konflikt wiederzugeben.

- TERRYLST in typ\terrylst.typ:

Listenelement für Listen von Territorien.

- TVM ARKER in typ\tvmarker.typ:

Feld von logischen Variablen für Traversierungsoperationen auf dem Territorienfeld.

5 Algorithmischer Ablauf des Modells

Normalerweise befindet sich das Hauptprogramm eines "C"-Programms in einer Funktion namens main (), in diesem Falle ist diese Funktion durch den Namen PROCROOT maskiert.

Diese Konstante im Programmtext wird durch den "C"-Preprozessor bei der Kompilierung des Programms durch den Namen main" ersetzt. Hier finden einige vorbereitende Initialisierungsarbeiten statt, u.a. werden die Kommandozeilenparameter ausgewertet, falls solche vorhanden sind. Danach verzweigt das Hauptprogramm in die Prozedur eaOl Batch.

Diese Prozedur initialisiert das "Batch"-System und kontrolliert die Abfolge der Läufe. In eaOl Batch wird das Einlesen der Parameterdatei ausgelöst und die Prozedur kontrolliert die Initialisierung der Variablen, die für mehrere Läufe konstant bleiben, z.B. Anzahl der Läufe pro

(12)

Algorithmischer Ablauf des 7 Modells

Gruppe usw. und die Abfolge der einzelnen Modelläufe.

Nachdem alle angeforderten Läufe in der Prozedur rnOl Run gerechnet wurden, wird die Parameterdatei hier geschlossen und das Programm beendet.

5.1 Initialisierungsphase

Als erste wird von eaOl Batch die Prozedur rp32_Install_Run_Parameter aufgerufen. Diese Prozedur füllt ein Feld m it den Standardwerten für die Laufparameter und speichert dort gleichzeitig eine Konstante für den Typ des Parameters ab (im M oment gibt es Parameter der Typen float, unsigned integer und unsigned long).

Bei Hinzufügen neuer Param eter muß diese Prozedur so geändert werden, daß für den neuen Parameter ebenfalls ein Standardwert und der Typ eingetragen werden. Für den neuen Parameter muß eine symbolische Konstante in den Typ PARAKIND vor der Konstanten P E N D eingefügt werden. Für den neuen Parameter müssen Unter- und Obergrenzen in der Quelldatei runparam.c vereinbart werden (in der Prozedur r p S l I n i t Bounds), es muß eine Zugriffsprozedur für den neuen Parameter geschaffen werden und für die Konstante, die den Parameter repräsentiert sollte ein beschreibender Text in der Prozedur rp56_Parameter_Name eingetragen werden.

Als nächstes wird die Prozedur ea50- I n itia liz e Batch aufgerufen. Diese Prozedur fragt über ea53 Initialize Parameter_File den Namen der Parameterdatei vom Benutzer ab, falls der Name der Parameterdatei nicht auf der Kommandozeile spezifiziert wurde, und stößt deren Einlesen und somit auch die tatsächliche Überprüfung der M odellparameter an. Nach erfolgreicher Überprüfung der Parameterdatei werden vom Benutzer die minimale und die maximale Laufnummer im Bereich der Laufnummem der Parameterdatei und die Entscheidung für die statistischen Ausgabedateien abgefragt. Auch diese W erte können bereits auf der Kommandozeile angegeben werden.

Nachdem diese Vorbereitungsarbeiten abgeschlossen sind wird die Ergebnisdatei geöffnet und die Initialisierung eines bestimmten Laufs ausgelöst.

5.2 Ausführung der einzelnen Läufe

Die Prozedur rn01_Run steuert die Ausführung der einzelnen Modelläufe. Diese Prozedur wird erst wieder verlassen, wenn die Terminationskriterien für einen Lauf erfüllt sind. Als Terminationskriterium wird entweder das Erreichen der maximalen Iterationszahl benutzt (diese Zahl wird in der Parameterdatei angegeben) oder das Vorliegen eines globalen Imperiums, d.h.

ein Staat umfaßt alle Territorien, wenn Bürgerkriege unmöglich sind. Diese Einschränkung des Kriteriums gilt deshalb, weil Bürgerkriege dazu führen können, daß Staaten zerfallen, es könnte also passieren, daß ein universelles Imperium wieder auseinanderfällt.

(13)

Algorithmischer Ablauf des Modells

8

Diese Prozedur gibt im Groben den Ablauf des Modells wieder. Die wesentlichen Schritte die hier ausgelöst werden sind:

- Iterationsinitialisierung (rn50 Initialize Iteration)

- Durchführung eines Bürgerkrieges, falls das von der Parameterkonstellation her möglich ist ( cw01_Call_Civil_War)

- Auswahl eines initialen Angreifers und eines initialen Angriffsziels (diOl Select Jnitiator_and_Target), falls die Suche nach initialen Akteuren nicht erfolgreich war, werden die nächsten Schritte übersprungen und die Iteration tritt gleich in die Iterationsendphase.

- Das initiale Angriffsziel erhält die Möglichkeit eine defensive Koalition aufzubauen (esOl B uild D e fe n s iv e Coalition), die Suche nach einer Koalition muß nicht unbedingt erfolgreich sein.

- Falls der Angreifer nicht stark genug ist, um den Disput zu überstehen oder sich zumindest nicht für stark genug hält, bekommt er nun die Möglichkeit, eine offensive Koalition aufzubauen (es03_Try_Offensive_CoaHtion), auch diese Suche muß nicht unbedingt erfolgreich sein

- Falls es der Angreifer nicht schafft, seine offensive Koalition zu vergrößern, so bricht der Eskalationsprozeß hier ab.

- Sollte die Suche nach einer offensiven Koalition erfolgreich sein, so erhält das Angriffsziel die Möglichkeit, seine defensive Koalition zu verbessern, also mehr Verteidiger um sich zu scharren (Aufbau einer defensiven Koalition 2. Runde)

- Ist es den beiden Akteuren gelungen Koalitionen um sich zu sammeln oder fühlt sich der Angreifer stark genug das Ziel erfolgreich angreifen zu können, kom m t es zum Krieg - Unabhängig davon, ob es zum Krieg gekommen ist oder nicht wird in die Iterationsendphase

eingetreten. Hier finden im wesentlichen Aufräumarbeiten statt, es werden aber auch einige W erte auf den aktuellen Stand gebracht, so wird z.B. für alle noch existierenden Staaten eine neue reale M acht berechnet, indem die M acht aller Territorien, die zu einem Staat gehören, entsprechend ihren Wachstumsraten erhöht wird. Die Macht aller Territorien eines Staates wird dann zu der neuen realen M acht des Staates aufsummiert.

5.2.1 Iterationsinitialisierung

Die Iterationsinitialisierung findet in rn50-Initialize-Iteration statt. Es wird der Iterationenzähler um eins erhöht und die aktuelle Laufnummer und die Iterationsnummer werden

auf den Bildschirm ausgegeben (rp43_Next Iteration und

so04 Write Run N r And Iteration).

(14)

Algorithmischer Ablauf des Modells

9

Falls der Benutzer im Startdialog oder über einen Kommandozeilenparameter eine Statistikausgabe angefordert hatte, wird der Statistik-"Record" initialisiert (scO3_Init_Iter Statistics), es wird die durchschnittliche Anzahl von Territorien pro Staat abgespeichert (sc05_Store_Average_Nr_Terries), es wird die Machtkonzentration im System bezogen auf Staaten berechnet (sclO Store_Conc_Power) und es werden die Zahlen von Staaten unterschiedlichen Typs abgespeichert (sc24_Store_Nr_Power_StateJTypes).

Unabhängig davon, ob der Benutzer die Statistikausgabe angefordert hatte oder nicht, wird die Anzahl der aktuell existierenden Staaten abgespeichert und es werden die Koalitionslisten zurückgesetzt (sc04 Store_Nr States und col2_Reset_Coalitions).

5.2.2 Bürgerkrieg

Die Funktionen die zur Durchführung von Bürgerkriegen notwendig sind, befinden sich im Modul Civil War (Abkürzung: cw). Die Steuerprozedur dieses Moduls ist cw01_Call_Civil_War. Deren erste Aufgabe ist es festzustellen, ob Bürgerkriege in diesem M odellauf überhaupt bzw. in der aktuellen Iteration möglich sind. Dazu wird erstens der W ert des Parameters, der das durchschnittliche Intervall zwischen zwei Bürgerkriegen angibt, überprüft, wenn dieses Intervall auf Null gesetzt ist, finden in diesem M odellauf überhaupt keine Bürgerkriege statt, und zweitens wird mittels eines Zufallszahlengenerators ermittelt, ob in der aktuellen Iteration Bürgerkriege stattfinden sollen.

W ird festgestellt, daß in der aktuellen Iteration Bürgerkriege stattfinden sollen, werden einige statistische Variablen (warsiter, die Anzahl der Bürgerkriege in dieser Iteration und stcriter, die Anzahl der Staaten, die durch Bürgerkriege in dieser Iteration neu geschaffen wurden) initialisiert und es werden einige Listen1, die zur Durchführung der Bürgerkriege benötigt werden, erzeugt. Nach dieser Initialisierung wird für alle existierenden Staaten, die m ehr als ein Territorium besitzen, die W ahrscheinlichkeit für einen Bürgerkrieg berechnet und gegen den W ert eines Zufallszahlengenerators verglichen. Falls die W ahrscheinlichkeit größer als der Wert des Zufallszahlengenerators ist, wird für den betreffenden Staat ein Bürgerkrieg durchgeführt.

N ach Durchführung aller möglichen Bürgerkriege werden die am Anfang der Prozedur erzeugten Listen wieder zerstört und es werden einige statistische Daten abgespeichert.

1

Zu den Listenoperationen s. a. Abschnitt 3.1 Beschreibung des Listenmoduls

(15)

Algorithmischer Ablauf des Modells

10

Die Funktion c w 5 IP r o b _ C iv ilW a r berechnet für einen ihr als Param eter übergebenen Staat die oben erwähnte W ahrscheinlichkeit eines Bürgerkrieges:

pC/VWAR, = UCWPAR * min 1.0, maxi 0,-MMQ

wobei pCIVWAR, die W ahrscheinlichkeit eines Bürgerkrieges für Staat i und UCWPAR ein genereller Gewichtungsfaktor für Bürgerkriege ist, dessen W erte zwischen 0.0 und 1.0 liegen können. M M Ct und A/C, sind die "Minimum Maintenance Cost" und die "Maintenance Cost"

für Staat i.

Für einen ihr als Parameter übergebenen Staat, führt die Funktion cw 55_D o_C ivilW ar einen Bürgerkrieg aus. Nach einigen Initialisierungen wird als erstes das Ausmaß ("Scope") des Bürgerkrieges berechnet. Ausmaß bedeutet hier, daß festgestellt wird, wieviele Territorien sich vom Staat abspalten wollen. Die Zahl der Territorien, die einen Bürgerkrieg gegen das Zentralterritorium führen, kann zwischen Null und der gesamten Territorienzahl minus eins liegen. W ird festgestellt, daß sich mindestens ein Territorium vom Zentralstaat abspalten will, werden mehrere Schritte ausgeführt:

- Es wird das Zentralterritorium des Staates bestimmt. Das Zentralterritorium eines Staates ist entweder das ursprüngliche einzelne Territorium dieses Staates oder, falls dieses Territorium mittlerweile verlorengegangen sein sollte, das Territorium mit der größten Macht.

- Es wird eine Liste m it allen Territorien des Staates aufgebaut (cw56_Get_Terri_List). Die Elemente dieser Liste sind absteigend nach der "Minimum Maintenance Cost" sortiert. Im Rahmen des Modells wird angenommen, daß die Territorien m it den höchsten Unterhaltskosten das größte Bestreben haben, sich vom Zentralstaat abzusetzen.

- Aus der Liste der Territorien werden n Territorien abgespalten (cw76_Spl.it_List), wobei n das vorher berechnete Ausmaß des "Aufstandes" ist. An dieser Stelle werden die rebellischen Territorien aber noch nicht aus der Liste aller Territorien des Staates entfernt, sie werden lediglich zusätzlich in eine Liste der Rebellen eingetragen. Das geschieht, weil es praktisch ist, für die folgende Überprüfung eine Liste mit allen ursprünglichen Territorien des Staates zu behalten.

Es wird sichergestellt, daß die Entfernung der rebellischen Territorien den Zentralstaat nicht in mehrere Teile zerschneiden würde. Sollte dies für ein rebellisches Territorium der Fall sein, so wird dieses Territorium aus der Liste der rebellischen Staaten entfernt. Dieser Fall könnte z.B. dann eintreten, wenn der Staat "schlangenförmig" und an der betreffenden Stelle nicht breiter als ein Territorium ist.

(16)

Algorithmischer Ablauf des Modells

11

- Durch die vorangegangene Überprüfung könnte festgestellt worden sein, daß keine aufständischen Territorien mehr übriggeblieben sind. Ist das der Fall, so wird der Bürgerkrieg für diesen Staat abgebrochen.

- Falls noch Territorien in der Rebellenliste übrig sind, werden diese jetzt aus der Liste der zentralstaattreuen Territorien entfernt (cw57 Remove Rebels).

- Sowohl für die loyalen als auch für die rebellischen Territorien wird die reale Macht aufsummiert (cw53 Sum Loyal Power und c w 5 4 S u m R e b e lP o w e r ).

- Aus dem Machtverhältnis im Vergleich m it einer Zufallszahl wird der Sieger des Bürgerkriegs bestimmt. Hier wird die Gruppe der Territorien des Zentralstaates der Gruppe der Rebellen gegenübergestellt, auch wenn sich aus der Gruppe der Rebellen eventuell mehrere neue Staaten bilden.

- Bei einem Sieg der Rebellen wird der Kostenfaktor für diesen Krieg berechnet und es werden die rebellischen Territorien vom Zentralstaat abgespalten, wobei die M acht der einzelnen Territorien mittels des Kostenfaktors verringert wird und sich eventuell mehrere Staaten neu bilden können.

- Siegt die Gruppe der Zentralterritorien, wird ebenfalls der Kostenfaktor berechnet, die Liste der rebellischen Territorien wird dann aber wieder an die Liste der Zentralterritorien angehängt. Außerdem wird hier für die rebellischen Territorien der Zeitpunkt zu dem der Zentralstaat die Kontrolle über ein Territorium übernimmt auf den W ert der aktuellen Iteration gesetzt (Prozedur cw77Jteset~Rebel_Control, s.a. 4.1, Variable strtctrl im Typ TERITORY).

- Nach Feststellung des Siegers des Bürgerkriegs und Behandlung der rebellischen Territorien wird die Macht des Zentralstaates auf den aktuellen Stand gebracht (cw 6 5 U p d a te Powers) und es wird die neue "Minimum Maintenance Cost" für den Staat berechnet (st35_Sum_Controlling_Cost)

- Nach Abspeichem einiger statistischer Daten ist der Bürgerkrieg für diesen Staat beendet.

5.2.3 Initiator- und Gegnerauswahl

Die initiale Angreifer- und Zielauswahl findet im Modul Dispute Initiation (in disputei.c, abgekürzt di) statt. Die Steuerprozedur für diesen Programmteil ist diOl _S elect_Initiator_And_Target.

Zuerst wird als initialer Wert für Initiator und Target Null abgespeichert (stl9_P ut Initiator und st23_Put_Targ et), damit nicht irgendein zufälliger W ert als Initiator oder T arget interpretiert wird. Die Variable foragres wird mit FALSE initialisiert, um anzuzeigen, daß am Anfang keine Agression besteht.

(17)

Algorithmischer Ablauf des Modells

12

Nach dieser Initialisierung findet die tatsächliche Auswahl von Initiator und Target statt. Für die Auswahl kommen zwei verschiedene Routinen in Betracht. Verhalten sich alle Staaten rational, dann werden Initiator und Target mittels der Routine di51_Select J n it_ T arget Rational ausgewählt. Benutzt ein Teil der Staaten andere Entscheidungsregeln, wird die Routine d i 5 0 Select_Init_Target_Simple benutzt.

5.2.3.1 ’’Rationale" Initiator- und Targetauswahl (di51_S elect_Init_Target_RationaT)

Bei der Suche auf rationale A rt ist die prinzipielle Vorgehens weise die, daß für alle existierenden Staaten versucht wird, ein Target mit einem hohen "Expected Utility" Wert zu finden. Von allen gefundenen Kombinationen hat diejenige die größte W ahrscheinlichkeit, ausgewählt zu werden, die den höchsten "Expected Utility" W ert hat.

- Zuerst werden einige Variablen initialisiert. Die Variablen potinit_ptr und pinull_ptr werden für Listen benutzt, in sumeu werden die "Expected Utility" W erte aufsummiert.

- Es wird eine Schleife über alle existierenden Staaten ausgeführt. Für jeden existierenden Staat wird versucht ein Target mit einem hohen "Expected Utility" W ert zu finden (di54_Select_T'arget Rational). Dafür wird eine Liste aller Nachbarstaaten des Staates gebildet (s tl5-N eighbor States). Für jeden Nachbarstaat wird dann überprüft, ob die

"Assumed State Power" des Angreifers (also des im M oment betrachteten Staates) größer ist, als die des gerade betrachteten Nachbarn. Fällt dieser Vergleich zuungunsten des Angreifers aus, wird der nächste Nachbar betrachtet.

Andernfalls wird für den Nachbarn der "Expected Utility" W ert berechnet (in drOl Exp Util_States). Nach Überprüfung aller Nachbarn liefert di54 _S electJTarget-Rational den Nachbarn mit dem höchsten berechneten Wert als potentielles Target und den berechneten W ert zurück.

■ Ist der von di54 Select_Target Rational zurückgelieferte "Expected_Utility"Wert positiv, wird die Kombination der beiden betrachteten Staaten in eine Liste eingefügt.

Nach Betrachtung aller Staaten befinden sich in dieser Liste in ungeordneter Reihenfolge alle Kombinationen m it positiver "Expected Utility".

Aus dieser Liste wird dann über eine Zufallszahl eine Initiator-Target-Kombination ausgewählt, wobei die Kombination mit dem höchsten "Expected Utility" W ert die größten Chancen hat.

Wenn der Angreifer in dieser Kombination nicht gerade ein "Collective Security Staat" (CSS) ist, wird diese Kombination als initiale Konstellation tatsächlich zurückgeliefert; andernfalls wird der Auswahlprozeß abgebrochen, und es wird in dieser Iteration keinen Krieg geben.

(18)

Algorithmischer Ablauf des Modells

13

- Nach der Auswahl wird der von den diversen Listen belegte Speicherplatz wieder freigegeben.

- Initiator und Target werden für das weitere Iterationsgeschehen abgespeichert (stl9 P ut Initiator und st23_PutJTarget)

- W ar der Auswahlprozeß erfolgreich, wird den Akteuren die passende Rolle zugewiesen (st22_Put State Role).

5.2 3 .2 ’’Einfache” Initiator- und Targetauswahl (di50_S elect_Init_Target_Simple)

Diese Routine sucht erst den Initiator über den Zufallszahlengenerator aus und danach das Target in Abhängigkeit vom Typ des Initiators.

- Zuerst findet die Auswahl des Initiators statt (di52_Select_Initiator). Die Auswahl findet derart statt, daß die W ahrscheinlichkeit eines Staates als Initiator ausgewählt zu werden gleich seinem Machtanteil im Gesamtsystem ist. Falls lediglich noch ein Staat existiert wird der Auswahlprozeß hier abgebrochen, andernfalls wird zuerst die gesamte effektive Macht im System berechnet (s.a. 6.1). Dann wird eine Zufallszahl gezogen und ins Verhältnis zu den aufsummierten Machtanteilen gesetzt. Sind die aufsummierten Machtanteile größer als die Zufallszahl, wird der Staat, für den die Bedingung zutrifft als Initiator ausgewählt. Zum Schluß wird hier noch überprüft ob der Staat ein "Collective Security Staat" ist, liegt dieser Fall vor, wird der Staat nicht zum Initiator.

- Nach der Auswahl des Initiators wird das initiale Angriffsziel in Abhängigkeit vom Typ des Initiators ausgewählt. Falls es sich beim Initiator um einen rationalen Staat (RTS) handelt wird das Target mittels di54_Select_Target_Rational ausgewählt (s.a. 5.2.3.1, für eine Beschreibung dieser Prozedur). Sollte die Berechnung der "Expected Utility" für alle Nachbarstaaten negative W erte oder Werte gleich Null ergeben, so w ird die V ariable/oragres auf FALSE gesetzt, so daß ein Krieg nicht stattfinden kann. Falls der Initiator ein "Primitive Power Seeker" (PPS) oder ein "Power Balancer" (PB) ist, so wird ein potentielles Target mit di53 _Select_Target ausgewählt. Die Auswahl findet dann so statt, daß der Nachbarstaat als potentielles Target ausgewählt wird, der die geringste "Assumed State Power" besitzt (s.a.

Abschnitt 6.2). Zum Schluß dieses simplen Auswahlprozesses wird nur noch überprüft, ob der Angreifer stärker als der Angegriffene ist; trifft das zu, besteht weiter Aggression in dieser Iteration, andernfalls wird der Eskalationsprozeß bereits hier abgebrochen.

(19)

Algorithmischer Ablauf des 14 Modells

5.2.4 Eskalation

W ar der vorhergehende Auswahlprozeß erfolgreich, tritt das Programm jetzt in die Eskalationsphase ein, in der sowohl Angreifer als auch Angegriffener die M öglichkeit haben, Koalitionen zu bilden. Hierbei hat zunächst der angegriffene Staat die M öglichkeit eine Koalition zu bilden. Danach kann der Angreifer seine Koalition verstärken, und zuletzt erhält der angegriffene Staat noch einmal die M öglichkeit die defensive Koalition zu verstärken.

5.2.4.1 Aufbau einer defensiven Koalition (1. Runde)

Die Steuerprozedur für die erste Runde im Aufbau einer defensiven Koalition ist esOl Build Defensive Coalition. Die wesentlichen Schritte, die hier vollzogen werden sind folgende:

- Es werden zwei Listen initialisiert, eine für die offensive Koalition, die zu diesem Zeitpunkt nur aus dem Initiator selbst besteht und eine für die defensive Koalition, die zuerst ebenfalls nur aus dem initialen Angriffsziel besteht.

- Nach Initialisierung der Listen w ird in Abhängigkeit vom Typ des Targets die entsprechende Prozedur zum Aufbau der Koalition aufgerufen. Ist der angegriffene Staat ein "Collective Security Staat", ein "Primitive Power Seeker" oder ein "Power Balancer" w ird versucht eine

"Minimum Winning Coalition" mit einfachen Entscheidungsregeln aufzubauen (bc03_Build_Min_Win_Coalition_Simple). Handelt es sich bei dem angegriffenen Staat um um einen "Rational State", so versucht dieser Staat eine Koalition unter Zuhilfenahme der

"E xpectedUtility" Werte aufzubauen (bc02_Build_Max_Exp_Util_Coalition).

- Nachdem die Liste mit allen möglichen Koalitionspartnern aufgebaut ist, wird für jedes mögliche Koalitionsmitglied überprüft ob es sich tatsächlich m it dieser Koalition verbinden will (bcOl A sk Allies). Die Entscheidung darüber, ob ein Staat in einer Koalition bleiben will, findet in der von bcOl_Ask_Allies aufgerufenen Prozedur bc50_Decision_For Alliance statt. Falls es sich bei dem befragten Staat um einen "Power Balancer" oder um einen

"Collective Security State" handelt, entscheidet dieser sich dafür in der Koalition zu bleiben, wenn es sich um eine defensive Koalition handelt. Ein "Primitive Power Seeker" macht die Entscheidung davon abhängig, ob die "Assumed Power" der Koalition größer ist als die der gegnerischen Koalition. Ein "Rational State" entscheidet sich dann für die Koalition, wenn die Berechnung der "Expected Utility" für die defensive Koalition einen W ert größer als Null ergibt.

- Nach Abschluß des Koalitionsaufbaus werden einige statistische Variablen aus dieser Programmphase abgespeichert.

(20)

Algorithmischer A blauf des Modells

15

Aufbau einer Koalition mittels einfacher Entscheidungsregeln

Die Prozedur bc03_Build_Min_Win_Coalition_Sirnple dient dazu, eine Koalition unter Zuhilfenahme einfacher Entscheidungsregeln aufzubauen. Die zu bildenden Koalitionen müssen einigen Kriterien genügen:

(1) Die möglichen Mitglieder müssen alle Nachbarn des initialen Gegners sein.

(2) Die "Assumed Power" der eigenen Koalition muß größer sein als die "Assumed Power"

der gegnerischen Koalition.

(3) Die "Assumed Power" der eigenen Koalition ist die kleinste "Assumed Power", die Kriterium 2 erfüllt.

Um Koalitionen zu bilden, die den obigen Kriterien genügen werden folgende Schritte ausgeführt:

- Die Liste der Nachbarstaaten des initialen Gegners wird in eine Liste mit möglichen Koalitionspartnern eingetragen (co04_Coalition_States und stl5_Neighbor_States)

- Der Akteur wird aus der Liste entfernt; er ist per se ja schon Koalitionsmitglied.

- Die M itglieder der eventuell bereits bestehenden gegnerischen Koalition werden aus der Liste entfernt.

- Die Länge der Liste wird festgestellt (und in der Variablen "nrposaly" abgespeichert).

- Die "Assumed Power" der gegnerischen Koalition wird festgestellt.

- Die "Assumed Power" der eigenen Koalition wird berechnet. Hier gehen die möglichen zusätzlichen Koalitionspartner noch nicht in die Berechnung ein.

- Berechnung der "Assumed Power" der eigenen Koalition unter Einschluß der möglichen zusätzlichen Partner.

- Die Anzahl der möglichen Koalitionspartner wird auf den vom Benutzer vorgebenen Wert beschränkt, um die Rechenzeit bei der Ermittlung der Koalitionen in Grenzen zu halten (In der aktuellen Version können maximal 32 Koalitionspartner zugelassen werden. Im Normalfall sollte man diesen Wert nicht zu groß wählen. Bei 32 möglichen Koalitionspartnern beträgt die Anzahl der möglichen Koalitionen 232— 1).

- Nun wird aus allen möglichen Koalitionen die Koalition herausgesucht, die die "Minimum Winning"-Bedingung erfüllt. Hierbei werden alle möglichen Koalitionen betrachtet.

Normalerweise wird eine solche Koalition auch gefunden, es sei denn, daß alle Koalitionspartner zusammen nicht stärker als der Gegner sind. An dieser Stelle sind sicher Verbesserungen im Programm möglich, die das Programmgeschehen erheblich beschleunigen könnten. So könnte zum Beispiel der Prozeß der Koalitionsbildung abgebrochen werden, wenn die Gesamtmacht aller möglichen Koalitionspartner zusammen nicht ausreicht.

(21)

Algorithmischer Ablauf des Modells

16

Aufbau einer Koalition unter Zuhilfenahme der "Expected Utility"

Die Prozedur bc02_Build_Max_Exp_Util_Coalition dient dazu, eine Koalition unter Zuhilfenahme des Kriteriums der "Expected Utility" zu bilden. Für eine solche Koalition müssen zwei Kriterien erfüllt sein:

(1) Die möglichen Koalitionspartner müssen Nachbarn des primären Gegners sein.

(2) Die gefundene Koalition soll die Koalition mit der höchsten "Expected Utility" sein2.

Im W esentlichen ist der Ablauf der Prozedur der gleiche wie in der Koalitionsermittlung mittels einfacher Entscheidungsregeln, nur dient hier der "Expected Utility" W ert als Entscheidungskriterium bei der Bewertung der Koalitionen. D er "Expected Utility" Wert wird in der Prozedur dr02 E x p _ U tilCoal ermittelt. Als optimale Koalition wird dann diejenige gewählt, für die der höchste W ert ermittelt wurde.

5.2.4.2 Aufbau einer offensiven Koalition

Nachdem das Angriffsziel die Möglichkeit hatte, eine defensive Koalition aufzubauen, überprüft der Angreifer wiederum ob er alleine stark genug ist, die gegnerische Koalition zu besiegen (es04-Initiator_Alone_Strong_Enough). Diese "Selbsteinschätzung" des Initiators findet nur über einen Vergleich der "Assumed Power" des Angreifers mit der "Assumed Power" des Gegners oder der gegnerischen Koalition statt. Sollte der Angreifer nicht stark genug sein, so erhält er jetzt die M öglichkeit eine offensive Koalition zu bilden (esO3_Try Offensive-C oalition).

Die Art der Koalitionsbildung hängt vom Typ des Initiators ab. Handelt es sich bei dem Initiator um einen einen "Primitive Power Seeker" oder "Power Balancer", so wird die Koalition nach den einfachen Entscheidungsregeln aufgebaut. Handelt es sich bei dem Staat um einen "Rational State", so wird versucht eine Koalition unter Zuhilfenahme der "Expected Utility" aufzubauen.

Da "Collective Security Staaten” nicht als Initiator eines Disputes in Frage kommen, wird dieser Fall als Modellfehler behandelt, was zur Ausgabe einer Fehlermeldung und zum Abbruch des Programms führt.

Der Aufbau der Koalitionen erfolgt im einzelnen wie schon in den vorigen Abschnitten ([XREF]

und [XREF]) geschildert. In dieser Stufe sind allerdings die Koalitionslisten m it den Mitgliedern aus den vorigen Stufen vorbelegt. Nach der Erweiterung der Listen werden wieder sämtliche Mitglieder der Liste gefragt, ob sie der Koalition beistehen wollen (bcOlAsk._Allies).

2 Zur Berechnung der "Expected Utility" s. a. Abschnitt 6.5

(22)

Algorithmischer Ablauf des Modells

17

Entscheiden sich alle Mitglieder der Protokoalition der Koalition beizustehen, wird die Variable forcoal auf TRUE gesetzt, das bedeutet, daß der Eskalationsprozeß weitergehen kann und daß im folgenden das Target in einer 2.Runde die Möglichkeit erhält, seine Koalition zu verstärken.

5.2.43 Aufbau einer defensiven Koalition (2. Runde)

Nach Überprüfung des Kräfteverhältnisses zwischen den Koalitionen (esOSJ7or Better Defensive_Coalition) erhält das Target bzw. die defensive Koalition bei einem ungünstigen Vergleich die Möglichkeit, durch das Hinzugewinnen neuer Koalitionspartner, seine Macht zu erhöhen. Die 2.Runde der Koalitionsbildung für das Target findet in der Prozedur es02_Build_Better_Defensive_Coalition statt. Auch hier ist der Typ des Koalitionsführers (des initialen Targets) entscheidend für die Art der Koalitionsbildung. Ist das Target ein "Collective Security State" (CSS), "Primitive Power Seeker" oder ein "Power Balancer" so wird versucht die Koalition nach einfachen Entscheidungsregeln zu erweitern. Ist der Staat ein "Rational State" so versucht er seine Koalition über die "Expected Utility" zu erweitern (s. a. Abschnitt [XREF]). Auch hier werden alle möglichen M itglieder gefragt, ob sie der Koalition im weiteren Verlauf des Disputes beistehen wollen. Allerdings wird hier der Koalitionsbildungsprozeß nicht abgebrochen, falls Koalitionsmitglieder abspringen.

5.2.5 Krieg

Nach der Eskalationsphase kommt es zum Krieg, wenn entweder der initiale Angreifer oder die offensive Koalition sich stark genug fühlen die gegnerische Koalition zu schlagen. Die Steuerprozedur für Krieg ist wo01_War im Modul waroutco.c. Die Durchführung eines Krieges geschieht in mehreren Schritten:

- Abspeicherung einiger statistischer Daten über Koalitionszusammensetzung und -große - Feststellung der effektiven Macht sowohl der offensiven Koalition als auch der defensiven

Koalition

- Feststellung des Kriegsgewinners und Feststellung ob es zu einem Unentschieden kommt.

Hierfür wird zuerst die Wahrscheinlichkeit des Sieges in Abhängigkeit vom Machtverhältnis der beiden Koalitionen bestimmt. In Abhängigkeit von der Sieges Wahrscheinlichkeit wird die W ahrscheinlichkeit für ein Unentschieden bestimmt (mf09_Likelihood_Of_Tie), falls der entsprechende Parameter in der Eingabedatei ein Unentschieden zuläßt (Abfrage über rp22_Tie-Possible). Die W ahrscheinlichkeit für ein Unentschieden ist dann am größten, wenn die Wahrscheinlichkeit für einen Sieg im Krieg gleich 0.5 ist. Um ein Unentschieden festzustellen wird die W ahrscheinlichkeit für ein Unentschieden mit einer vom Zufallszahlengenerator gelieferten Zahl verglichen. Sodann wird die ermittelte "Likelihood

(23)

Algorithmischer Ablauf des Modells

18

of V ictory" mit einer anderen Zufallszahl verglichen. In Abhängigkeit von diesen Vergleichen werden dann die Prozeduren zur Verwaltung des Kriegsergebnisses aufgerufen. Falls es einen Sieger im Krieg gab, werden u.U. Territorien zwischen Gewinner und Verlierer ausgetauscht (wo53_Change Territories). Sowohl im Falle eines eindeutigen Sieges als auch im Falle eines Unentschieden werden für Gewinner und Verlierer Machtverlust und Reparationen berechnet (wo50 _NewJWinner_Loser_Power).

- Zum Schluß eines Krieges wird für die Kriegsbeteiligten die neue reale Macht berechnet.

5.2.5.1 Berechnung von Machtverlust und Reparationen ( w o S O N e w W in n e rL o se rP o w e r)

Hier werden für alle Kriegsbeteiligten die allgemeinen Kriegskosten berechnet sowie für die Verliererkoalition die Reparationen, die sie an die Gewinnerkoalition zu zahlen hat.

Zuerst wird für alle Mitglieder beider Koalitionen das Gewicht in ihrer jeweiligen Koalition als ihr Anteil an der effektiven Macht der jeweiligen Koalition berechnet.

Für die weiteren Berechnungen werden die von der Prozedur rc04_War_Cost berechneten Kriegskosten benutzt; die Prozedur liefert einen Kostenkoeffizienten zwischen 0 und 1 zurück, der sich aus der Relation der M acht von Sieger- und Verliererkoalition herleitet. In der Parameterdatei kann angefordert werden, daß die stärkere und die schwächere Seite unterschiedlich behandelt werden sollen. Falls das in einem Lauf gewünscht ist, wird auf die Kosten der schwächeren Seite ein zufälliger W ert zwischen 0 und 1 aufgeschlagen, während von den Kosten der stärkeren Seite ein zufälliger W ert zwischen 0 und 1 abgezogen wird. Die ermittelten W erte werden dann auf den Bereich zwischen 0 und 1 begrenzt.

Diese Koeffizienten werden benutzt, um für M itglieder beider Koalitionen den Machtverlust zu berechnen und abzuziehen.

Im nächsten Schritt werden die von der Verliererkoalition zu zahlenden Reparationen ermittelt, falls es nicht zu einem Unentschieden kam. Die Reparationen sind ein fester Satz, der in der Parameterdatei festgelegt werden muß. Dieser W ert des Parameters durch rpl7_Reparations geliefert. Diese Reparationen werden dann an die M itglieder der Siegerkoalition entsprechend ihrem Gewicht in der Koalition verteilt. Für beide Koalitionen wird dann die Prozedur rc03 Reorganize Terry Power ausgeführt, die Reparationszahlungen auf die einzelnen Territorien verbucht.

5.2.5.2 Austausch von Territorien (wo53_Change_Territories)

Diese Prozedur regelt nach Kriegsende die Verteilung der Territorien des Verliererstaates. Der Territorienverlust kann bis zum völligen Verschwinden des Verlierers führen. Bei der

(24)

Algorithmischer Ablauf des Modells

19

Territorienverteilung werden verschiedene Fälle unterschieden und es müssen bestimmte Regeln bei der Feststellung der zu vergebenden Territorien eingehalten werden. Der tatsächliche Territorientransfer wird dann von der Prozedur st03 Transfer Territory vorgenommen, die als Parameter den Verlierer und den Empfänger des Territoriums sowie die Koordinaten des Territoriums verlangt. Für ein transferiertes Territorium wird in dieser Prozedur der Startzeitpunkt der Kontrolle durch den neuen Staat auf die aktuelle Iteration gesetzt.

Die verschiedenen Fälle der Territorienverteilung, die im Programm durch verschachtelte

"If"-Abfragen realisiert sind, ergeben sich durch die unterschiedliche Zusammensetzung von Gewinner- und Verliererkoalition. Im einfachsten Falle besteht die Verliererkoalition nur aus dem Akteur selbst und falls die Gewinnerkoalition auch nur aus dem gegnerischen Akteur selbst besteht erhält dieser das eine Territorium des Verlierers. Sollte die Siegerkoalition in diesem Falle aus mehreren Staaten bestehen, so erhält der mächtigste Staat aus der Siegerkoalition dieses Territorium. Sollte der Verliererstaat aus mehreren Territorien bestehen, so greifen komplexere Regeln, die weiter unten beschrieben sind. Hierfür wird zuerst die Zahl der Territorien bestimmt, die der unterlegene Staat verlieren soll; diese Zahl wird von te08_Number_Lost_Terri.es zurückgeliefert, wo sie aus der Wahrscheinlichkeit für einen Sieg in diesem Krieg berechnet wird. In diesem Fall berechnet sich der Anteil der Territorien der einzelnen Staaten der Gewinnerkoalition an den Territorien des Verlierers aus dem Anteil an effektiver Macht, den sie zur Gesamtkoalition beisteuern. Es bedient sich also zunächst der stärkste Staat der Koalition, dann der nächststärkere usw.. Zur Bestimmung des zu transferierenden Territoriums wird die Prozedur td O l^T e rry fT o L o se (s.a. [XREF]) aufgerufen, die die Koordinaten des Territoriums zurückliefert und außerdem anzeigt ob das transferierte Territorium den Verliererstaat in mehrere Teile zertrennt.

Sollte bei der Verteilung der Territorien der Fall aufgetreten sein, daß der Verliererstaat in mehrere Teile getrennt wurde, so wird die Prozedur wo51 Reorganize Loser State aufgerufen, die den Staat neu organisiert. In diesem Fall werden aus dem Verliererstaat mehrere neue Staaten gebildet.

Regeln zur Verteilung von Territorien

Das Modul "tedrules.c" faßt die Regeln zur Verteilung von Territorien zusammen Die Prozedur td01fTerry_To_Lose ist die Steuerprozedur zur Anwendung dieser Regeln. Insgesamt werden 3 Regeln angewandt. Vor Anwendung der Regeln wird eine Liste m it allen Territorien des Verlierers gebildet. Die drei Regeln lauten:

(25)

20 Algorithmischer Ablauf des

Modells

(1) Es können nur Territorien vom Verlierer an den Sieger transferiert werden, die unmittelbar an den Gewinner (den ursprünglichen Initiator) grenzen (td50_Rulel). Grenzt das betrachtete Territorium nicht an den Gewinner, so wird es aus der Liste entfernt.

(2) Regel zwei (td54_Rule2) versucht aus der Liste der Territorien, die von Regel eins geliefert wurde, diejenigen Territorien zu entfernen, die den Verliererstaat in mehrere Teile aufspalten würden. Falls keine solchen Territorien existieren, wird das durch die Variable cut angezeigt.

(3) Die letzte Regel (td61_Rule3) bezieht sich auf die Form der beiden Kontrahenten. Die Form der Staaten wird hier anhand der Länge der Grenzen bestimmt. Bei der implementierten Auswahl von Territorien geht der Gewinner nach zwei "Sub"-Regeln vor:

E r sucht sich die Territorien des Verlierers aus, die ihm zu der am meisten kompakten Form verhelfen würden.

Von diesen Territorien sucht er sich letztendlich das aus, das dem Verlierer bei dem Verlust zu einer möglichst kompakten Form verhilft.

Zur Ermittlung der kürzesten Grenzlänge und zur Feststellung eventueller Territorialänderungen sind diverse Hilfsprozeduren nötig:

td60 ShortestJ3order LengthJFor_Winner, td59 Shortest Border L e n g th For Loser, td58 Deliver Change JT erritoryF orW inner und

td57 DeliverJ3hange_Territory_ForLoser.

5.3 Iterationsendphase

Nach Durchführung eines Krieges und nach Abbruch der Eskalationsphase, wenn es nicht zum Krieg kam, wird in die Iterationsendphase eingetreten. Diese Phase beginnt mit der Berechnung des W achstums der realen M acht (rcOl _New_Growth_Power). H ier gewinnt jedes Territorium über ein prozentuales Wachstum an realer Macht hinzu (te!6_Update_Terri_Powers). Diese W achstumsrate ist für die einzelnen Territorien jeweils konstant, die W achstumsrate wird am Anfang des Laufs für die einzelnen Territorien festgelegt. Durch das Machtwachstum der Territorien nimmt auch die reale M acht der Staaten zu.

Im nächsten Schritt wird die "Minimum Maintenance Cost" für alle Staaten neu berechnet (st25_Updaie_Min_Maintenance_Cost). Diese Berechnung wird nur für Staaten durchgeführt, die mehr als ein Territorium besitzen. Die "Minimum Maintenance Cost" stellt die Kosten dar, die für den Unterhalt eines Staates aufgewendet werden müssen. Sie hängen davon ab, wieweit die einzelnen Territorien des Staates vom Zentralterritorium entfernt sind und wie lange sie der Zentralstaat bereits unter Kontrolle hat. Die Berechnung der Unit Controlling Cost, die

(26)

W ichtige Funktionen und Prozeduren

21

wesentlicher Bestandteil der "Minimum Maintenance Cost" ist findet in st34_Unit_Con.troiling Cost statt, die Berechnung in Abhängigkeit von Zeit und Entfernung in te l3 Distance Factor und te 12 fT im e Factor.

Nach der Berechnung der neuen "Unterhaltskosten" werden die Fehlerkoeffizienten bestimmt, die die einzelnen Staaten bei der Einschätzung der "Minimum Maintenance Cost" benutzen ( st20f l e w _M aint CostJErrs).

Die folgenden Prozeduren co07_Free_Coalition_Ptr und st26_Reset_State_Role sind reine Aufräumprozeduren, die dazu dienen, Speicherplatz, der während der Iteration alloziert wurde, freizugeben und Variablen wieder auf definierte Anfangswerte zu setzen.

Als letzte Prozedur wird in dieser Iteration rn53 _Finit_Iteration aufgerufen. Diese Prozedur dient hauptsächlich Dokumentationszwecken. Falls angefordert werden hier Ausgaben auf das

"Map-File", auf das "State History File" und auf das "Small Statistic File" gemacht.

W enn nicht die Höchstzahl an Iterationen erreicht worden ist, oder ein globales Imperium vorliegt, wird nach diesen Schritten auf die nächste Iteration übergegangen.

6 Wichtige Funktionen und Prozeduren

In den folgenden Abschnitten werden kurz einige für das Modell besonders wichtige Funktionen geschildert.

6.1 Berechnung der effektiven Macht (Effective State Power)

Diese Funktion liefert die "Effective State Power" des Staates stnr zurück. Bei der Berechnung spielt es eine Rolle, ob Bürgerkriege in diesem Lauf zugelassen sind. Sind Bürgerkriege nicht zugelassen, so liefert dieFunktion lediglich die "Real State Power" des jeweiligen Staates zurück.

Sind Bürgerkriege allerdings zugelassen, so liefert die Funktion nur den W ert zurück, der den Staaten nach Begleichung der Unterhaltskosten für ihr Imperium zur Verfügung steht. In diesem Falle wird von der "Real State Power" noch die "Maintenance Cost" des jeweiligen Staates abgezogen.

Sollte die Berechnung zufälligerweise einen negativen W ert ergeben, z.B. wenn die Macht des Staates nicht ausreicht, die "Maintenance Cost" zu begleichen, wird als effektive Macht des Staates Null zurückgeliefert.

6.2 Berechnung der ’’Assumed State Power”

Da die "Assumed State Power" im Modell sehr häufig verwendet wird, soll hier kurz auf ihre Bestimmung eingegangen werden. Die Berechnung findet in der Funktion apOl_Assumed_State_Power statt. Über die beiden Parameter wird das Verhalten der Funktion

(27)

W ichtige Funktionen und 22 Prozeduren

gesteuert. Die Funktion verlangt zwei Parameter als Eingabe: actor un dstnr. Die Funktion liefert eine Schätzung der Macht des Staates stnr durch den Staat actor. Sind die beiden gleich, liefert die Funktion folglich eine Selbsteinschätzung von actor.

W esentlichen Einfluß auf das Verhalten der Funktion hat der Parameter "Error Range" aus der Parameterdatei, der durch die Funktion rp04 Error Range zurückgeliefert wird. Ist der hier angegebene Parameter gleich Null, so bedeutet das, daß die Staaten bei der Einschätzung von M acht keine Fehler machen, andernfalls wird die "Effective State Power" mit einem Fehler belastet zurückgeliefert. Die Berechnung der "Effective State Power" findet in epOl-Effective State_Power statt (s.a. 6.1).

6.3 Berechnung der Siegeswahrscheinlichkeit in einem Krieg

Die Berechnung der Siegeswahrscheinlichkeit ("Likelihood o f Victory") in einem Krieg findet in der Funktion mf07_Likelihood_Of_Victory statt. Die Funktion erwartet als Eingabeparameter den Quotienten der M acht der Kontrahenten. Die Berechnung der "Likelihood of V ictory" findet unter Benutzung des Fehlerintegrals statt (mf51_C351).

6.4 Berechnung der Wahrscheinlichkeit eines Unentschieden in einem Krieg

Die Berechnung der W ahrscheinlichkeit eines Unentschieden in einem Krieg findet in der Funktion mfö9_LikeUhood_Of_Tie statt. Als Parameter wird ein bereits vorher ermittelter

"Likelihood of Victory" Wert verlangt. Die Wahrscheinlichkeit eines Unentschieden in einem Krieg (Likelihood of Tie) wird über folgende Gleichung berechnet:

I L V -0 .5 | 1 - -

L T =

0.5

L T ist die W ahrscheinlichkeit eines Unentschieden, L V ist der gegebene "Likelihood o f Victory"

W ert und LTP AR ist der "Tie Exponent" Wert aus der Parameterdatei.

6.5 Berechnung der Expected Utility

Die Berechnung der "Expected Utility" für Staaten und Koalitionen findet im Modul decision.c statt. Die "Expected Utility" ist ein wichtiges Entscheidungskriterium bei Modelläufen mit

"rationalen Staaten". Sie wird nur von diesen benutzt und ist Grundlage aller Entscheidungen der "rationalen Staaten".

(28)

W ichtige Funktionen und Prozeduren

23

Die "rationalen Staaten" treffen ihre Entscheidungen aufgrund des zu erwartenden Nutzens.

Bevor sie sich entscheiden ob sie einen K rieg entfachen oder sich einer Koalition anschließen, versuchen sie erst die zu erwartenden Gewinne und Verluste abzuschätzen.

6.5.1 Expected Utility Berechnung für Staaten (dr01_Exp_Util_States)

In dieser Funktion findet die Berechnung der "Expected Utility" für Staaten statt. Am Anfang steht die Berechnung der "Assumed State Power" für den Akteur selbst und für den Gegner in der Einschätzung durch den Akteur. Dann wird der "Kriegskostenfaktor" aus dem Quotienten dieser beiden W erte berechnet. Im nächsten Schritt versucht der Akteur die möglichen Gewinne aus dem Konflikt zu berechnen. D iese möglichen Gewinne bestehen aus zu empfangenden Territorien und aus möglicherweise zu erhaltenden Reparationen. Territoriengewinne sind nur möglich, wenn der gegnerische Staat der gerade betrachtet wird, der Führer der gegnerischen Koalition ist. Ist der gegnerische Staat nur weiteres Mitglied einer Koalition, so ist es nur möglich, von ihm Reparationen zu erhalten. Bei den möglichen Territoriengewinnen wird zwischen gegnerischen Staaten m it einem und gegnerischen Staaten m it mehreren Territorien unterschieden. Bei gegnerischen Staaten mit nur einem einzigen Territorium findet die Berechnung der Gewinne auf folgende Art statt:

gains = oppaspow ■ (l.O — warcostf)

Hierin bedeutet gains die möglichen Gewinne, oppaspow die "Assumed State Power" des Gegners und w arcostf den "War Cost Factor". In diesem Falle bestehen die Gewinne also aus der M acht die das gegnerische Territorium beinhaltet abzüglich der zu erwartenden Kriegskosten.

Besteht der gegnerische Staat aus mehreren Territorien, hängt die Höhe des möglichen Gewinns des Akteurs auch davon ab, wie groß der Anteil an Territorien des Gegners ist, der ihm zugeteilt würde:

asrecter

gains = asindrec + * {oppaspow • (1.0 - warcostf) - asindrec)

Hierbei bedeutet asindrec die möglichen Reparationen (Indemnities), die der Staat erhält,oppterisasrecter ist der Quotient aus erhaltenen Territorien und der Gesamtanzahl der gegnerischen Territorien.

Sind Territoriengewinne unmöglich, so bestehen die möglichen Gewinne nur aus empfangenen Reparationen.

(29)

Wichtige Funktionen und Prozeduren

24

Für die weitere Berechnung der "Expected Utility" ist die Berechnung der möglichen Kosten notwendig. Die möglichen Kosten für den Akteur bestehen aus eventuell zu zahlenden Reparationen sowie aus möglichen Territorienverlusten. Territorienverluste sind für den hier betrachteten Akteur nur möglich, wenn er der Anführer seiner Koalition ist. Besteht der Akteur nur aus einem Territorium so berechnen sich seine Kosten wie folgt:

losses = actaspow - actorcost

losses sind die möglichen Verluste des Staates, actaspow ist die "Assumed State Power" des Akteurs und actorcost sind die vermutlichen Kosten des Akteurs, wobei die Kosten des Akteurs aus den zu zahlenden Kriegskosten bestehen.

Besteht der Akteur aus mehreren Territorien, so berechnen sich die Kosten wie folgt:

losses = asindlos + ■ (actaspow -a sin d lo s — actorcost) actteris

asindlos sind die vermutlich zu zahlenden Reparationen ("assumed indemnities lost"), aslostte sind die wahrscheinlich verlorenen Territorien des Akteurs und actteris ist die Gesamtanzahl der Territorien des Akteurs. Die Anzahl der vermutlich verloren gehenden Territorien wird von te08_Number_Lost^Terries berechnet.

Ist der Akteur nicht Führer seiner Koalition, so berechnen sich seine Kosten nur aus den zu zahlenden Reparationen.

Für die Berechnung ist es noch notwendig, die W ahrscheinlichkeit des Sieges der Seite des Akteurs zu berechnen. Hierfür wurde in den bisherigen Simulationen lediglich die Funktion m fl)7 L ik e lih o o d O fV ic to r y benutzt, der Aufruf der Funktion dr50 IndividualJJkelihoodJJf_V ictory sollte an dieser Stelle eher als Ansatzpunkt betrachtet werden, um später eine andere Bestimmung der "Expected Utility" zu ermöglichen.

Nach Feststellung der Grundelemente der "Expected Utility" erfolgt die Berechnung:

exputil = Iv ■ gains - (1.0 - Iv) • losses — actorcost

Hierin ist exputil der "Expected Utility" Wert, der von der Funktion zurückgeliefert wird und Iv der "Likelihood of Victory" Wert.

6.5.2 Für Koalitionen (dr02_Exp_Util_Coal)

W ährend drOl_Exp_Util_States die "Expected Utility" für Staaten berechnet, wird hier die Berechnung für Koalitionen ausgeführt. Prinzipiell erfolgt die Berechnung der

Referenzen

ÄHNLICHE DOKUMENTE

The risk factors not to be intervened upon may be controlled for when choosing the population under study and/or by matching risk factors in reference

Against this background of changing and only rarely realistic perceptions about and communication of the dangers of AIDS, and in view as well of the complexity of health

After a brief description of the most important phases of the development of research and technology policy in the Federal Republic of Germany which shows the

Chocolate, candy,

ein höherer Anteil der Ausgaben für aktive Arbeitsmarktpolitik in Prozent der Gesamtausgaben - mit entsprechend höheren Entlastungsef- fekten (Schmid 1989) kann in etwa

(...) N ach allen Belegen u n d Indizien geurteilt, die in der Expertise beigebracht w erden konnten, scheint im Falle der chemischen Industrie nicht nur

Das Krankheits- und Sterbegeschehen in industrialisierten Ländern wird hauptsächlich von chronischen Erkrankungen bestimmt, deren Verursachungen weitgehend in den Be

(1996) vorgeschlagenen Analyseprinzipien umgesetzt wurden, die auf eine Berücksichtung inkrementeller Nutzen- und Kosteneffekte, die Behandlung der Unsicherheit von Schätzungen,