Popychanie w korku

Jedną z przypadłości mojego nowego mieszkania jest kłopotliwy dojazd. Mówiąc dokładniej, przejechanie 500 m trasy od mojego domu do przedszkola mojego syna zajmuje mniej więcej tyle samo co przejechanie następnego odcinka trasy - ok. 10 km dzielących przedszkole od pracy. Droga jest już rozbudowywana, co za parę miesięcy rozładuje korki, ale aktualnie sprawia, że są one jeszcze większe.

Jedną z przypadłości mojego nowego mieszkania jest kłopotliwy dojazd. Mówiąc dokładniej, przejechanie 500 m trasy od mojego domu do przedszkola mojego syna zajmuje mniej więcej tyle samo co przejechanie następnego odcinka trasy - ok. 10 km dzielących przedszkole od pracy. Droga jest już rozbudowywana, co za parę miesięcy rozładuje korki, ale aktualnie sprawia, że są one jeszcze większe.

Jeżeli więc akurat nie gawędzę z dzieckiem, nudzę się w korku niepomiernie i rozmyślam o bzdurach. Jedną z takich absurdalnych myśli, które przychodzą mi do głowy, jest komputerowe modelowanie korka komunikacyjnego. Wymyśliłem, że każdy węzeł komunikacyjny można zbudować z elementarnych klocków. Opiszmy najpierw skrzyżowanie z dwiema drogami dochodzącymi i jedną odchodzącą, w kształcie odwróconej litery Y. Takie skrzyżowanie charakteryzowałyby cztery parametry: długość odcinka, liczba przejeżdżających samochodów w jednostce czasu oraz prawdopodobieństwo przejechania samochodu z jednej i drugiej drogi dojazdowej (sumujące się do jednego). W węźle niedaleko mojego domu są głównie skrzyżowania drogi głównej z podporządkowaną - mniej więcej co czwarty kierowca uprzejmie wpuszcza tego z drogi podporządkowanej, prawdopodobieństwa te wynoszą więc 0,75 i 0,25 (warszawiacy, chcąc odwzorować swoje ulice, powinni pewnie użyć innych liczb). Następnie należałoby powołać do życia symetryczne skrzyżowanie, ale z jedną drogą dochodzącą i dwiema odchodzącymi, w kształcie prostego Y.

Z takich elementarnych fragmentów, łącząc je z sobą, można byłoby zbudować cały model węzła komunikacyjnego. Model ów miałby pewne wejścia i wyjścia. Otóż sterując jednym tylko parametrem dla każdego wejścia - liczbą przyjeżdżających samochodów w jednostce czasu - dałoby się zasymulować korek, w jakim co rano stoję. Na to można by nałożyć warstwę wizualizacyjną, czyli pokazać korek w ruchu i napawać się widokiem komputerowo zatkanego skrzyżowania i litować się nad losem biednych, wirtualnych samochodów, które tkwią w symulowanym korku. Nic tak nie poprawia humoru człowiekowi jak świadomość, że ktoś ma jeszcze gorzej, nawet jeśli ten ktoś istnieje tylko jako model w programie pamięci komputera.

Gdy tak rozmyślałem nad moim symulowanym korkiem i z szatańską uciechą postanowiłem, że po powrocie siądę przed komputerem i spróbuję taki zaprogramować, uderzyła mnie myśl, że gdzieś już go widziałem. Nie myliłem się - od takiego modelu wychodzi Leonard Klei-nrock w książce Queueing Systems, Volume I: Theory. Tylko że jego rozważania nie dotyczą samochodów stojących w korku, ale przełączania pakietów w sieciach komputerowych. Jeżeli ktoś nie wie, kim jest Leonard Kleinrock, polecam stronęhttp://www.lk.cs.ucla.edu/ . Tamże można znaleźć zapis pierwszej wiadomości wysłanej siecią ARPANET 29 października 1969 r., o 22.30.

Nie wiem, czy Leonard Kleinrock wpadł na pomysł teorii kolejkowania, stojąc w korku. Nie wątpię jednak, że wpadł na to przez przypadek. Jak wszystkie ważne rzeczy, teoretyczne fundamenty Internetu zostały wynalezione dla zabawy, przy okazji, ewentualnie dla zupełnie innych celów niż te, w których ostatecznie zostały zastosowane.

Chcę więc dziś namówić wszystkich, którym zależy na przyszłości informatyki, do prowadzenia bezsensownych rozważań podczas stania w korku oraz przy innych nużących czynnościach. Tylko w ten sposób możemy popchnąć informatykę naprzód - tak jak zrobił to Leonard Kleinrock i inne wielkie nazwiska w historii informatyki.


TOP 200