Opis modelu Projekt zawiera model automatu komórkowego opisującego ruch uliczny na jednopasmowej ulicy bez możliwości wyprzedzania. Przyjmujemy, że kierowcy nie powodują celowo kolizji oraz że chcą dojechać jak najszybciej do celu. Pojazdy poruszają się według następujących reguł: pojawianie się na drodze - z prawdopodobieństwem alf a nowe auto pojawia się na początku ulicy z pewną prędkością początkową przyspieszanie i losowe przeszkody - w każdym ruchu każde auto z prawdopodobieństwem norma zwiększa prędkość o jeden. Z prawdopodobieństwem 1 norma występuje losowa sytuacja, która nie pozwala kierowcy przyspieszyć hamowanie - jeśli na odcinku do przejechania znajduje się inne auto, to następuje zmniejszenie prędkości w celu uniknięcia kolizji jazda do przodu - wszystkie auta przesuwają się do przodu o tyle pól, ile wynosi ich prędkość zjeżdżanie z drogi - z prawdopodobieństwem beta auto zjeżdża z ostatniego odcinka drogi Interpretacja Prawdopodobieństwa alf a i beta można rozumieć jako ustawienia świateł lub wprowadzenie innych ograniczeń wjeżdżania i zjeżdżania z drogi. Inną możliwością jest modelowanie odcinków dróg o różnym średnim natężeniu ruchu przy pomocy zmian parametru alf a. Losowe zdarzenia odpowiadają sytuacjom nieprzewidzianym, w wyniku których kierowca zwalnia, jak na przykład wybiegnięcie dziecka na drogę, zamieszanie w samochodzie, odbieranie telefonu. Ustawienie prędkości z jaką auta wjeżdżają na drogę na poziomie 0 oznacza, że przed wjechaniem muszą one stanąć (na przykład na światłach), a na poziomie innym niż 0 że wjazd na drogę jest płynny, wymaga jedynie zwolnienia do niewielkiej prędkości (na przykład na moście). Realizacja Projekt zawiera dwa pliki: automat1 i automat2. W obu ulica jest reprezentowana przez poziomy wektor, którego rekord odpowiada miejscu zajmowanemu na ulicy przez jedno auto i przechowuje jego prędkość (wyrażoną w liczbie rekordów, o które może się ono przemieścić) lub liczbę 1 oznaczająca brak auta. Auta poruszają się od lewej strony do prawej. Symulacje z każdego z plików zapisywane są w zbiorze wynik, do którego wiersz po wierszu dodawane są kolejne stany drogi. Parametry programu, które można ustawić ręcznie, to: prawdopodobieństwa pojawienia się na ulicy alf a, zjechania z ulicy beta i tego, że na ulicy nie pojawi się żadna losowa przeszkoda norma długość drogi dl drogi długość wykonywania symulacji czas prędkość, z jaką auta pojawiają się na początku drogi v start
maksymalna dozwolona prędkość v max Pierwszy plik wykonuje symulację dla jednej, ustalonej konfiguracji parametrów i wyświetla wykresy: ilosc aut, srednie predkosci, ilosc stojacych aut i odsetek stojacych aut. Tworzy również zbiory o nazwach wynik, a na jego podstawie il aut, sr predk, stojacy i ods stoj, w których przechowuje dane potrzebne do sporządzenia wykresów. Drugi plik wykonuje serię symulacji dla różnych prawdopodobieństw wjechania i zjechania z drogi. Jako wynik dostajemy plik wynik, plik sr stojacy, zawierający średnią ilość aut stojących w korku dla kolejnych par parametrów alfa i beta oraz plik spline, zawierający wygładzone dane ze sr stojacy. Program tworzy na ich podstawie serię sześciu wykresów - pierwszy, bez wygładzenia, oraz pięć kolejnych dla danych wygładzonych, obróconych pod różnym kątem. Analiza wyników z pliku automat1 Z wykresów dla wartości parametrów: - dl drogi = 2000 - czas = 5000 - v start = 0 - v max = 50 - alfa = 0.6 - beta = 0.7 - norma = 0.7 wynika, że obserwowane zmienne nie charateryzują się dużą zmiennością. Występują wahania poziomu, jednak niewielkie i wokół pewnej ustalonej wartości. Szeregi te wydają się być ustabilizowane i przewidywalne. Ilość aut waha się od 25 do 40, zaś średnia prędkość od około 20 do 30 rekordów na iterację algorytmu. Jak widać, ograniczenie prędkości nie wpływa w tym przypadku na jakość jazdy. Ilość stojących w korku aut wynosi najczęściej 0 lub 1, a najwyższa osiągana ilość to 4, czyli można uznać że nie tworzą się korki. Dodatkowych informacji dostarcza ostatnia badana zmienna - przez większość czasu w korkach stoi co najwyżej 10% aut. Jeśli nie uwzględnimy pierwszych 100 obserwacji, kiedy korek utworzył się przy wjeździe na ulicę a aut było niewiele, procent aut stojących w korku nie przekroczył 15. Ruch odbywa się więc prawie płynnie. Analiza wyników z pliku automat2 Dla kodu wykonanego dla parametrów - dl drogi = 100 - czas = 500 - v start = 0 - v max = 20 - norma = 0.8 okazuje się, że na powstawanie korków większy wpływ ma niskie prawdopodobieństwo zjechania z ulicy niż wysokie dla wjechania. Dla niskiej beta zawsze ponad połowa aut stoi w korku, a dla wysokiej co najwyżej 10% niezależnie od tego, jak wiele aut dostaje się na ulicę. Na wykresie widać również, że wbrew pierwszej intuicji, ilość aut stojących w korku nie zależy decydująco od różnicy beta alf a. W pewnych obszarach możliwe jest poprawienie lub pogorszenie płynności ruchu ustalając jedno z prawdopodobieństw na pewnym poziomie
i zmieniając drugie. Uzyskaną krzywą można umownie podzielić na trzy obszary - pierwszy, prawie płaski, odpowiadający wysokiej beta i płynnemu ruchowi, drugi, mocno pofalowany - dla beta od około 0.1 do 0.5 i trzeci, znów wypłaszczony, o wysokim procencie aut stojących w korku. Wiadomo więc, że próbując na podstawie modelu podjąć decyzję na przykład o tym, jak ustawić światła, należy zadbać o to, aby trafić w pierwszą część wykresu i uniknąć trafienia w trzecią. Dość niekorzystne jest również trafienie w drugą gdyż wtedy zmiany ustawień będą mogły powodować zarówno wzrost ilości korków, jak i spadek i wpływ ten będzie trudny do przewidzenia. Zastosowanie, rozszerzenia Przedstawiony przeze mnie model zawiera pewne upraszczające założenia, które można znieść, choćby uwzględniając możliwość wyprzedzania, zmiany pasa, czy też wprowadzając takie rozszerzenia jak skrzyżowania, ronda, roboty uliczne czy wypadki. Modele takie są znane i stosowane na przykład w obsłudze ruchu ulicznego w Niemczech, gdzie używa się ich do przewidywania powstawania korków i kierowania kierowców na przejezdne drogi. Bibliografia - notatki z przedmiotu Automaty komórkowe w naukach przyrodniczych i społecznych (MIMUW) - www.im.pwr.wroc.pl Dodatek 1 - wykres uzyskany z kodu automat2
Dodatek 2 - wykres uzyskany z kodu automat1