[Home] [Algorithmische Revolution] [cumos] [Algorithmisch Rekursive Sequenzanalyse] [GOLEMs Kommentare] [Düsseldorfer Schülerinventar] [Texte] [Rechenbuch]
[Download Sammlung][Leseliste][Kontakt]
 
 

cumos

Coordinated Undefined Moving Others

CUMOS

Coordinated Undefined Moving  Others

Paul Koop

CUMOS:

Die Computersoziologie und Sozionik ist eine junge Disziplin im Grenzgebiet zwischen Soziologie und Informatik. Während Informatiker die Soziologie nutzen, um Protokollsprachen für soziale Softwareagenten zu entwickeln, arbeiten Soziologen an der Informatisierung ihrer Theoriesprache und der Entwicklung künstlicher sozialer Systeme. Eine sehr einfache künstliche soziale Welt ist die Welt der CUMOS (Coordinated Undefined Moving Others). Ich habe diese sehr einfache künstliche soziale Welt erschaffen, um jedem, der an der Programmierung künstlicher sozialer Welten interessiert ist, die Möglichkeit zu geben, sich praktisch in die Programmierung künstlicher sozialer Welten einzuarbeiten.

Diesen CUMOS-Forschern stelle ich den einfachen Quellcode zur Verfügung. Weiterentwicklungen und Eigenentwicklungen werden an dieser Stelle vorgestellt.

CUMOS Forscher sind in diesen virtuellen Welten unterwegs um neue unbekannte Welten zu entdecken und unbekannte Zivilisationen zu erforschen.

Über die CUMOS ist noch wenig bekannt und CUMOS Forscher erwartet eine Welt voller unbekannter und ehrenvoller Aufgaben.

Es gibt noch keine sichere Theorie über die CUMOS. Niemand hat bisher einen einzelnen CUMO gesehen. Ihre Biologie ist völlig unbekannt (Besonders Stoffwechsel und Sexualität). Über ihre inneren Zustände, Motive und Emotionen ist nichts dokumentiert. Lediglich die Soziologie der CUMOS Forschung beginnt ihr Wissen zu systematisieren. Freilich ist der Stand eines theoretischen Gebäudes noch nicht erreicht von dem aus empirische Hypothesen abgeleitet und an der Beobachtung überprüft werden könnten.

Sicher ist eigentlich nur, dass die CUMOS auf toroidalen Welten leben. Auf diesen Welten bewegen sie sich in einem zweidimensionalen Koordinatensystem. Aber auch das ist nur eine Betrachtungsweise des Beobachters. Noch konnte niemand einen CUMO fragen, wie er seine Welt sieht.

 

Ein CUMO so versichern wagemutige CUMO Forscher die sich nahe genug an eine CUMO Welt heranwagen konnten beobachtet (grün) seine Welt nur in Richtung seiner Orientierung (rot). Begegnen sich in ihrem Beobachtungsfeld zwei oder mehr CUMOS, so handeln sie ihre gemeinsame Bewegungsrichtung und die Geschwindigkeit ihrer Bewegung aus. Kommen sie zu keinem brauchbaren Kompromiss so gehen sie auseinander. Aber auch das ist alles nur unbestätigte Sekundärinformation.

 

Quellcode downloaden

 
Aus dem einfachen Verhalten jedes einzelnen CUMO emegriert ein komplexes übergeordnetes künstliches System, daß als künstliches soziales System verstanden werden kann.

jeder einzelne CUMO nimmt sich und die anderen CUMOS als an einem Ort in einem zweidimensionalen Raum wahr. Dieser Ort ist durch die Koordinaten x und y definiert. Darüber hinaus besitzt ein CUMO eine Orientierung, die durch ein delta x und ein delta y den in der nächsten diskreten Zeiteinheit angestrebten Ort im zweidimensionalen Raum relativ zum gegenwärtigen Ort der aktuellen Zeiteinheit definiert ist. Befindet sich innerhalb der Umgebung (grau) des CUMO ein oder mehr CUMOS so innerhalb der Umgebung des CUMO, daß die Position dieser CUMOS bei einerm Ortswechsel in Orientierungsrichtung durchmessen wird, so orientiert sich der CUMO neu, indem er die Orientierung dieser so definierten anderen CUMOS mittelt und mit diesem neuen Wert seine eigene Orientierung +überschreibt, wenn der neue Wert größer 0 ist:

FUER jeden CUMO(i)

 n := 0;

orientierung := 0;

  FUER alle CUMOS(j)

   WENN CUMOS(j) ungleich CUMO(i)

    WENN CUMOS(j) in Umgebung CUMO(i)

       {n := n+1; orientierung := orientierung +CUMOS(j).orientierung;}

     ENDE WENN // CUMOS(j) in Umgebung CUMO(i)

   ENDE WENN // CUMOS(j) ungleich CUMO(i)

   WENN n groesser 0 {CUMO(i).orientierung:=orientierung/n;}

  ENDE // Fuer alle CUMOS(j)

  CUMO(i).position := CUMO(i).position+CUMO(i).orientierung;

ENDE //Fuer jeden CUMO(i)

 

Jeder CUMO i zum Zeitpunkt t+1 ist, wenn j die n CUMOS in der Umgebung indiziert definiert mit:

 

Die CUMOS sind zum Weiterprogrammieren gedacht. Viel Spass dabei.

 

 

weitere interessante programme gibt es auf der seite von klaus wernicke