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.