verkehrssimulation

in vielen systemen der praxis treten gesetzmässogkeiten als beziehung zwischen nachbarn auf. es erstaunt deshalb nicht, dass man mit zellulären automaten solche systeme simulieren kann. wir wollen eine ringförmige strasse in zellen unterteilen. in jeder dieser zelle kann sich höchstens ein auto befinden, überholen sei nicht möglich. ein auto kann die geschwindigkeit 0,1,2,… v(max) annehmen. wenn ein auto die geschwindigkeit v besitzt, so kann es in einem schritt um v zellen vorrücken - vorausgesetzt, dass kein hindernis im weg ist. der zustand der zelle kann folgendermassen durch einzige zahlen charakterisiert werden:

der zustand z jeder zelle ist durch die geschwindigkeit des autos gegeben, das sich in der zelle befindet. wenn sich kein auto darin befindet, so wird der zustand auf -1 gesetzt. auf diese weise nimmt z für jede der zellen einen der werte -1,0,1,2,… v(max) als zustandsgrösse an.

die geschwindigkeit v der autos verändert sich nuhn nach den folgenden spielregeln:

1. wenn mehr als v leere zellen vor der aufenthaltszelle des autos sind, so wird die geschwindigkeit um 1 erhöht, falls sie noch nicht den für den strassenabschnitt zulässigen höchstwert v(max) erreicht hat. andernfalls wird die geschwindigkeit der anzahl der leeren zellen gleichgesetzt (damit eine auffahrkollision verhindert wird).
2. wenn die geschwindigkeit jetzt noch grösser 0 ist, so wird sie mit einer bestimmten wahrscheinlichkeit p um 1 vermindert. erst durch diesen schritt wird das modell realistisch. der schritt entspricht in der realität etwa den folgenden ursachen: unaufmerksamkeit , suche in unbekannter umgebung, überreaktion beim bremsen, etc. mit der einführung einer wahrscheinlichkeit ist der automat natürlich nicht mehr deterministisch!
3. wenn die geschwindigkeit v jetzt noch grösser als 0 ist, wird der zustand der zelle auf die zelle überführt, die sich um v zellen weiter vorne befindet. anschliessend wird die zelle geleert (d.h. der zusatnd wird auf -1 gesetzt).

zur illustration habe ich eine ringstrasse von 1000 zellen mit 400 autos belegt, wobei die höchstgeschwindigkeit auf den wert 5 gestzt ist. nach einer bestimmten zeit habe ich den belegungszustand der zellen auf einer grafik dargestellt.

verkehrssimulation

hier finden Sie nun meine lösung zu dieser simulation zum downloaden (programmiersprache c):

* source code, zip-file (114 KB)