algorytm strażaka w walce z rozlewami olejowymi
Transkrypt
algorytm strażaka w walce z rozlewami olejowymi
JOLANTA MAZUREK Akademia Morska w Gdyni Katedra Matematyki ALGORYTM STRAŻAKA W WALCE Z ROZLEWAMI OLEJOWYMI W artykule przedstawiono model wykorzystujący narzędzia matematyczne do ustalenia reguł oraz rozwiązań, które mogą być przydatne w sytuacjach zagrożeń ekologicznych takich jak rozlewy olejowe. Algorytm strażaka zastosowano do ograniczenia rozprzestrzeniającego się rozlewu. Zdefiniowano model opisujący rozważaną sytuację, zaprezentowano rozwiązanie oparte na określonej liczbie dostępnych środków oraz przedstawiono podstawowe charakterystyki omawianych zmiennych. 1. OPIS MODELOWANEGO SYSTEMU Modelowany system składa się z siatki, która reprezentuje akwen. Na akwenie pojawia się rozlew olejowy. W celu zabezpieczenia roztaczającej się plamy należy ją otoczyć specjalnymi zaporami zapobiegającymi rozprzestrzenianiu się rozlewu [3]. Do analizy modelu zostanie wykorzystany tzw. algorytm strażaka, pozwalający otoczyć rozlew, oszacować, ile czasu potrzeba na wykonanie akcji oraz ile węzłów siatki zostanie pochłoniętych przez olej. 1.1. Siatka modelu Jako model rozważa się prostokątną siatkę, która reprezentuje akwen. Akwen ten dzieli się na regularne, przylegające do siebie prostokąty, których kształt (długości boków) zależy od lokalnych warunków rozprzestrzeniania się rozlewu (np. prądy morskie). Każdemu prostokątowi przyporządkowany jest odpowiedni węzeł siatki, a prostokątom mającym wspólny bok odpowiadają węzły połączone krawędzią (rys. 1). Rys. 1. Siatka modelu 34 PRACE WYDZIAŁU NAWIGACYJNEGO AKADEMII MORSKIEJ W GDYNI, nr 26, 2011 1.2. Czas akcji Czas akcji liczony jest za pomocą cykli. W cyklu zerowym na akwenie pojawia się rozlew oleju. Zakłada się, że początkowa wielkość plamy to jeden prostokąt (jeden węzeł). W każdym kolejnym cyklu rozlew rozprzestrzenia się równomiernie w czterech kierunkach na wszystkie przylegające węzły. Dzieje się tak do momentu rozpoczęcia akcji otaczania plamy. Brak dokładnych danych dotyczących czasu potrzebnego na dotarcie jednostek do rejonu rozlewu (warunki hydrometeorologiczne, stan gotowości ludzi i sprzętu) oraz brak informacji na temat położenia plamy powodują, że nie można przewidzieć, w którym cyklu rozpocznie się akcja. Należy przyjąć, że liczba cykli (d) trwających od chwili pojawienia się rozlewu do momentu rozpoczęcia akcji jest losowa; oznacza się ją symbolem td. Prawdopodobieństwo pojedynczego zdarzenia, polegającego na rozpoczęciu akcji, dla każdego z cykli jest równe p. Liczba cykli niezbędnych do rozpoczęcia działań, czyli do postawienia pierwszej zapory, opisana jest rozkładem geometrycznym: P( X = k ) = p(1 − p) k −1 ; k = 1, 2,3... p ∈ ( 0,1 W cyklu t d = d + 1 zaczyna się akcja otaczania rozlewu. Każdy cykl rozpoczyna się od ruchu ekipy walczącej z rozlewem i kończy na reakcji roztaczającego się rozlewu. Ekipa oraz rozlew wykonują swoje ruchy naprzemiennie. Cykl t d = d + 1 jest również pierwszym cyklem podjętej akcji. Od tego momentu wprowadza się symbol t, który oznacza liczbę cykli akcji. 1.3. Akcja W modelu zakłada się, że siły i środki dostępne do wykonania akcji pozwalają na umieszczenie dwóch zapór w każdym z cykli po rozpoczęciu akcji. Ekipa umieszcza na węzłach zapory zapobiegające rozprzestrzenianiu się rozlewu. Stan każdego węzła jest niezmienny; węzeł zajęty przez zaporę stanowi nieprzenikalną barierę dla rozlewu, a węzła zajętego przez olej nie można już uratować. 2. ALGORYTM OTACZANIA ROZLEWU Przebieg akcji i położenie kolejnych zapór określa algorytm strażaka. Zgodnie z algorytmem [2] zakłada się, że źródło rozlewu to węzeł o współrzędnych (0, 0). Działania podzielone są na cztery etapy. W każdym z etapów ekipa tworzy tzw. linię ataku, stawiając zapory w taki sposób, aby okrążyć rozlew na jednej z ćwiartek siatki. Równolegle z atakiem wykonywane są minimalne działania obronne, by rozlew nie okrążył zapór (tzw. linia obony). Etap I rozpoczyna się i kończy odpowiednio w cyklu t = 1 i w cyklu t = 2d . Zadanie ekipy polega na otoczeniu rozlewu w trzeciej ćwiartce, co ostatecznie prowadzi do umieszczenia zapory na pozycji (0, − 3d ). W nieparzystych cyklach J. Mazurek, Algorytm strażaka w walce z rozlewami olejowymi 35 (t = 2k + 1, 0 ≤ k ≤ d − 1) umieszcza się jedną zaporę na linii obrony i jedną na linii ataku, w cyklach parzystych (t = 2k , 1 ≤ k ≤ d ) umieszcza się dwie zapory na linii ataku. • Pozycje zapór w cyklu t = 2k + 1, 0 ≤ k ≤ d − 1: (-d − 1 − k , k ), (− d + k , −3k − 1) • Pozycje zapór w cyklu t = 2k , 1 ≤ k ≤ d : (− d − 1 + k , −3k + 1), (− d + k , −3k ) Etap II rozpoczyna się i kończy odpowiednio w cyklu t = 2d + 1 i w cyklu t = 8d . Ekipa kontynuuje otaczanie rozlewu (atak) w czwartej ćwiartce w taki sposób, by dojść do pozycji (9d , 0). Podobnie jak w etapie pierwszym, w nieparzystych cyklach (t = 2k + 1, d ≤ k ≤ 4d − 1) umieszcza się jedną zaporę na linii obrony i jedną na linii ataku, w cyklach parzystych (t = 2k , d + 1 ≤ k ≤ 4d ) – dwie zapory w ataku. • Pozycje zapór w cyklu t = 2k + 1, d ≤ k ≤ 4d − 1 : (− d − 1 − k , k ), (3(k − d ) + 1, k − 4d ) • Pozycje zapór w cyklu t = 2k, d + 1 ≤ k ≤ 4d : (3(k − d ) − 1, k − 4d − 1), (3(k − d ), k − 4d ) Etap III rozpoczyna się i kończy odpowiednio w cyklach: t = 8d + 1 i t = 18d + 1 . Zadanie ekipy polega na otoczeniu rozlewu w pierwszej ćwiartce; pozycja ostatniej zapory to (0 ,19d + 1). W tym etapie należy postępować inaczej niż w poprzednich etapach, ponieważ w nieparzystych cyklach (t = 2k + 1, 4d ≤ k ≤ 9d ) umieszcza się dwie zapory na linii ataku, a w parzystych (t = 2k , 4d + 1 ≤ k ≤ 9d ) jedną zaporę na linii obrony i jedną na linii ataku. • Pozycje zapór w cyklu t = 2k + 1, 4d ≤ k ≤ 9d : (k − 9d − 1,3k − 8d ), (k − 9d ,3k − 8d + 1) • Pozycje zapór w cyklu t = 2k , 4d + 1 ≤ k ≤ 9d : (5d + k , k − 4d ), (k − 9d − 1,3k − 8d − 1) Etap IV rozpoczyna się i kończy odpowiednio w cyklach: t = 18d + 2 i t = 32d + 1. Ekipa kontynuuje działania w drugiej ćwiartce, dążąc do ostatecznego otoczenia rozlewu. Podobnie jak w etapie trzecim, w nieparzystych cyklach 36 PRACE WYDZIAŁU NAWIGACYJNEGO AKADEMII MORSKIEJ W GDYNI, nr 26, 2011 (t = 2k , 9d + 1 ≤ k ≤ 16d ) umieszcza się dwie zapory na linii ataku, a w parzystych (t = 2k + 1, 9d + 1 ≤ k ≤ 16d ) – jedną zaporę na linii obrony i jedną na linii ataku. • Pozycje zapór w cyklu t = 2k, 9d + 1 ≤ k ≤ 16d : (5d + k , k − 4d ), (3(k − 9d ) − 2, 28d − k + 2) • Pozycje zapór w cyklu t = 2k + 1, 9d + 1 ≤ k ≤ 16d : (3(k − 9d ) − 1, 28d − k + 2), (3(k − 9d ), 28d − k + 1) 3. OBSZAR ROZLEWU Algorytm strażaka pozwala również obliczyć wielkość obszaru pochłoniętego przez rozlew. W tym celu niezbędne jest zdefiniowanie zbioru Dk; jest to zbiór wierzchołków oddalonych od źródła rozlewu (wierzchołka o współrzędnych (0, 0) ) na odległość k. Twierdzenie [1] d Niech w nieskończonej kracie pojawia się rozlew w ∪ Dk wierzchołkach. Mając k =0 do dyspozycji dwie zapory w każdym cyklu, można otoczyć rozlew w 32d + 1 cyklach, a liczba wierzchołków, na które rozprzestrzenił się rozlew, wynosi 318d 2 +14d + 1. Dowód Aby obliczyć liczbę wierzchołków, należy podzielić obszar rozlewu na sześć części, w sposób jak na rysunku 2. Na rysunkach 2 i 3 zastosowano następujące oznaczenia: • biały wierzchołek – źródło rozlewu, • czarne wierzchołki – rozlew, • jasnoszare i ciemnoszare wierzchołki – odpowiednio zapory obrony i ataku. J. Mazurek, Algorytm strażaka w walce z rozlewami olejowymi Źródło rozlewu (0,0) Rys. 2. Obszar ograniczonego rozlewu dla d = 1 Rys. 3. Obszar ograniczonego rozlewu dla d = 2 37 38 PRACE WYDZIAŁU NAWIGACYJNEGO AKADEMII MORSKIEJ W GDYNI, nr 26, 2011 Łatwo zauważyć pewną analogię, dzięki której można obliczyć liczbę wierzchołków kolejnych obszarów rolewu. • Liczba wierzchołków w obszarze A: 3 + 6 + …+ 21d = 7d (3 + 21d ) 147 d 2 + 21d = 2 2 • Liczba wierzchołków w obszarze B: 1 + 2 + ... + 12d + 9d ·12d = 12d (1 + 12d ) + 108d 2 = 6d + 180d 2 2 • Liczba wierzchołków w obszarze C: 3 + 6 + ... + 9d = 3d (3 + 9d ) 27 d 2 + 9d = 2 2 • Liczba wierzchołków w obszarze D: 1 + 3 + 6 + ... + 3(d − 1) = 1 + 2 (3 + 3(d − 1))(d − 1) = 1 + 3d − 3d 2 2 • Liczba wierzchołków w obszarze E: 1 + 2 + ... + 4d + d · 4d = 4d (1 + 4d ) + 4d 2 = 12d 2 + 2d 2 • Liczba wierzchołków w obszarze F: 3 + 6 + ... + 15d - 3 = (3 + 15d − 3)(5d − 1) 75d 2 − 15d = 2 2 Po zsumowaniu liczby wierzchołków rozlewu każdego z obszarów otrzymuje się liczbę wierzchołków pochłoniętych przez rozlew w całej kracie: 147d 2 +21d + 6d + 180d 2 + 27 d 2 + 9d + 1 + 3d 2 − 3d + 12d 2 + 2d + 75d 2 − 15d = 2 2 2 2 2 = 192d 2 + 8d + 1 + 252d + 12d = 318d 2 + 14d + 1 2 4. MODEL Z LOSOWYM CZASEM ROZPOCZĘCIA AKCJI Niepełność i niepewność danych o zdarzeniach inicjujących rozlew olejowy powoduje konieczność przyjęcia założenia o losowym numerze cyklu, w którym nastąpi rozpoczęcie akcji. Przyjmując, że dla każdego z cykli prawdopodobieństwo rozpoczęcia akcji w danym cyklu jest takie samo, otrzymuje się następującą charakterystykę losową. 39 J. Mazurek, Algorytm strażaka w walce z rozlewami olejowymi Liczba cykli, które upłyną do momentu rozpoczęcia akcji d opisana jest rozkładem geometrycznym: P( X = k ) = p(1 − p) k −1 k = 1, 2,3... p ∈ ( 0,1 , q = 1 − p W celu analizy zmiennej losowej czasu akcji oraz zmiennej losowej liczby wierzchołków rozlewu niezbędne są następujące obliczenia: ∞ ∞ d −1 q = qd = 1 = 1 ∑ ∑ 1− q p d =1 d =0 ∞ ∞ d qd = d ∞ qd = d ⎛ 1 ⎞ = 1 = 1 d −1 = dq ∑ ∑ dq d∑ dq ⎜⎝ 1 − q ⎟⎠ (1 − q) 2 p 2 =0 d =1 d = 0 dq ∞ ∞ 2 2 ∞ 2 ⎛ ⎞ 1 = 2 = 2 d (d − 1) q d − 2 = ∑ d 2 q d = d 2 ∑ q d = d 2 ⎜ 1 ⎟ = d ∑ − 1 q dq dq d =0 dq ⎝ (1 − q) 2 (1 − q)3 p 3 ⎠ d =1 d = 0 dq ∞ ∞ d 2 q d −1 = ∑ ( d (d − 1) + d )q d −1 = ∑ d =1 d =1 ∞ ∞ ∞ ∞ d =1 d =1 d =1 d =1 = ∑ d (d − 1) q d −1 + ∑ dq d −1 = q ∑ d (d − 1)q d − 2 + ∑ dq d −1 = 2q + p 2 − p = q 23 + 12 = = 3 p p p3 p 4.1. Zmienna losowa opisująca czas trwania akcji Zmienna Y = 32d + 1 to zmienna opisująca czas trwania otaczania rozlewu. Zmienna ta ma następujący rozkład: ⎧ 0, gdy k − 1∉ I ⎪ 32 ⎪ P(Y = k ) = P(32d + 1 = k ) = P d = k − 1 = ⎨ k −1−1 32 ⎪(1 − p ) 32 p, gdy k − 1∈ I ⎪⎩ 32 ( ) Wartość oczekiwana zmiennej Y to średnia wartość czasu trwania akcji (średnia liczba cykli). ∞ EY = 33 p + 65qp + 97 q 2 p + 129q 3 p + ... = ∑ (32d + 1)q d −1 p = d =1 ⎛ ⎞ ⎛ ⎞ 32 + p = p ⎜ 32∑ dq d −1 + ∑ q d −1 ⎟ = p ⎜ 32 12 + 1 ⎟ = 32 + 1 = p⎠ p p d =1 ⎝ d =1 ⎠ ⎝ p ∞ ∞ 40 PRACE WYDZIAŁU NAWIGACYJNEGO AKADEMII MORSKIEJ W GDYNI, nr 26, 2011 Wykres wartości oczekiwanej EY w zależności od parametru p (rys. 4) jest funkcją malejącą o wartościach odwrotnie proporcjonalnych do wartości parametru p. Rys. 4. Wykres wartości oczekiwanej EY w zależności od parametru p 4.2. Zmienna losowa opisująca obszar zajęty przez rozlew Zmienna losowa Z = 318d 2 + 14d + 1 opisuje obszar zajęty przez rozlew i ma następujący rozkład: P ( Z = k ) = P(318d 2 + 14d + 1 = k ) = ⎛ = P ⎜⎜ d ⎝ ⎧ 0, gdy − 7 + k − 269 2 ∉ I ⎪ 318 318 (318) ⎞ ⎪ = − 7 + k − 269 2 ⎟⎟ = ⎨ − 7 + k − 269 2 −1 318 318 (318) ⎠ ⎪ 318 318 (318) (1 p ) p, gdy − 7 + k − 269 2 ∈ I − ⎪ 318 318 (318) ⎩ lub ⎛ = P ⎜⎜ d ⎝ ⎧ 0, gdy − 7 − k − 269 2 ∉ I ⎪ 318 318 (318) ⎞ ⎪ = − 7 − k − 269 2 ⎟⎟ = ⎨ − 7 − k − 269 2 −1 318 318 (318) ⎠ ⎪ 318 318 (318) p, gdy − 7 − k − 269 2 ∈ I ⎪(1 − p ) 318 318 (318) ⎩ J. Mazurek, Algorytm strażaka w walce z rozlewami olejowymi 41 Wartość oczekiwana zmiennej Z to średnia liczba obszaru zajętego przez rozlew (średnia liczba wierzchołków, pól). ∞ ∞ ∞ ∞ ⎛ ⎞ EZ = ∑ (318d 2 + 14d + 1) pq d −1 = p ⎜ 318∑ d 2 q d −1 + 14∑ dq d −1 + ∑ q d −1 ⎟ = d =1 d =1 d =1 d =1 ⎝ ⎠ 2 ⎛ 2q + p 1 + 1 ⎞ = 318 2q + p + 14 1 + 1 = 636(1 − p ) + 332 p + p = = p ⎜ 318 + 14 ⎟ p p3 p2 p ⎠ p2 p2 ⎝ = p 2 − 304 p + 636 p2 Wykres na rysunku 5 przedstawia wartość oczekiwaną zmiennej Z w zależności od parametru p. Podobnie jak w przypadku wartości oczekiwanej czasu trwania akcji także wartość oczekiwana obszaru zajętego przez rozlew jest odwrotnie proporcjonalna do parametru p. Rys. 5. Wykres wartości oczekiwanej EZ w zależności od parametru p 42 PRACE WYDZIAŁU NAWIGACYJNEGO AKADEMII MORSKIEJ W GDYNI, nr 26, 2011 WNIOSKI Wraz ze wzrostem cykli trwających do momentu rozpoczęcia akcji (parametru d) wzrasta liczba sił i środków (zapór) potrzebnych do otoczenia rozlewu oraz obszar, na który rozwinie się rozlew. Na wykresach rysunków 4 i 5 widać, jak zmieniają się wartości średnie czasu akcji oraz obszaru zajętego przez rozlew. Istotny zarówno dla czasu trwania akcji, jak i wielkości skażonego obszaru jest czas do rozpoczęcia akcji liczony od momentu powstania rozlewu (opóźnienie). Na wielkość opóźnienia wpływa bezpośrednio prawdopodobieństwo rozpoczęcia akcji w danym cyklu. Wartość parametru p zależy zarówno od możliwości wykrycia rozlewu i powiadomienia odpowiednich służb, jak i od wielkości oraz rozmieszczenia posiadanych sił i środków do ratownictwa ekologicznego. W przypadku czasu trwania akcji dla p ∈ ( 0; 0,1) przy niewielkich zmianach parametru p występują bardzo duże zmiany wartości średniej czasu akcji; podobnie dzieje się dla obszaru zajętego przez rozlew. Dla większych wartości parametru p różnice pomiędzy wartościami średnimi są niewielkie. Przedstawione w artykule modele i zależności pozwalają na oszacowanie optymalnego – ze względu na ograniczenia dla czasu trwania akcji i powierzchni obszaru skażonego – rozmieszczenia jednostek ratowniczych. LITERATURA 1. Fogarty P., Catching the Fire on Grids, University of Vermont, 2003. 2. Mazurek J., Problem strażaka w grafach kratowych, praca magisterska, Politechnika Gdańska, Gdańsk 2009. 3. Mazurek J., Smolarek L., Algorytm strażaka a ograniczanie skutków rozlewów olejowych, Problemy Eksploatacji, 2011, nr 1, Radom, s. 129–136. THE FIREFIGHTER ALGORITHM IN THE FIGHT AGAINST OIL SPILL Summary The article presents the use of mathematical tools to determine the rules and practices that may be useful in situations where environmental threats such as oil spills. "Firefighter algorithm" was used here to reduce the spread of the spill. Defined model describes the situation under consideration, presented a solution employing a number of resources available and shows the basic characteristics of the described variables.