• Nie Znaleziono Wyników

Algorytm Stentz’a D∗

N/A
N/A
Protected

Academic year: 2021

Share "Algorytm Stentz’a D∗"

Copied!
37
0
0

Pełen tekst

(1)

D

Przemysław Kl ˛esk pklesk@wi.zut.edu.pl

Katedra Metod Sztucznej Inteligencji i Matematyki Stosowanej

(2)

W nieznanym terenie (lub znanym tylko cz ˛e´sciowo) nale ˙zy doj´s´c do celu o podanych współrz ˛ednych. Koszty przej´s´c i przeszkody poznawane s ˛a na bie ˙z ˛aco w trakcie przechodzenia ´scie ˙zki (przykłady: rzeczywiste roboty mobilne, postaci w grach komputerowych).

S

G

S

G

(3)

S

G

S

G

S

G

S

G

(4)

S

G

S

G

S G

S

G

(5)

S G

S G

S

G S G

(6)

Algorytm Stentz’a (1994) — własno´sci

Znany równie ˙z pod nazw ˛a D , z intencj ˛a rozumienia nazwy jako dynamic A .

Mimo nazwy, przeprowadzany w sposób bli ˙zszy algorytmowi Dijkstry.

Algorytm realizuje optymalne post ˛epowanie w ´swietle

poznawanych na bie ˙z ˛aco informacji.

(7)

Algorytm Stentz’a — własno´sci

Algorytm działa iteracyjnie — ´scie ˙zka jest wyznaczana wielokrotnie.

Pierwszy przebieg jest wsteczn ˛a wersj ˛a a. Dijkstry — budujemy kolejk ˛e stanów id ˛ac od celu do startu.

Przy fizycznym przechodzeniu ´scie ˙zki i natrafieniu na niezgodno´s´c do´swiadczenia z dotychczasow ˛a wiedz ˛a aktualizujemy ´scie ˙zk ˛e.

Stany w kolejce mog ˛a wielokrotnie zmienia´c swoje koszty i wielokrotnie trafia´c do kolejki.

Algorytm jest efektywniejszy ni ˙z wielokrotne uruchamianie algorytmu

Dijkstry „od zera”.

(8)

Zbiór akcji i stanów

Niech A oznacza zbiór mo˙zliwych akcji. W szczególno´sci dla siatki kwadratów:

A = {↑, →, ↓, ←}.

Niech X oznacza zbiór stanów. Dla siatki kwadratów:

X = {x ij }, gdzie i numer wiersza, j numer kolumny.

Przez A(x) b ˛edzie oznaczany zbiór akcji mo ˙zliwych dla stanu x.

(9)

Wykonywanie akcji

Niech t(x, a) (transition) oznacza funkcj ˛e przenosz ˛ac ˛a pewien stan x z u ˙zyciem akcji a w nowy stan x , tzn.

t(x, a) = x .

Na przykład dla siatki kwadratów t(x 25 , → ) = x 26 .

Formalnie t jest funkcj ˛a t : X × A → X.

(10)

Koszty przej´s´c

Niech c(x, a) (costs of transition) oznacza funkcj ˛e ponoszonego kosztu, który trzeba ponie´s´c wykonuj ˛ac w x akcj ˛e a.

Formalnie c : X × A → R + ∪ {∞} .

Je ˙zeli wykonanie w x akcji a jest niemo ˙zliwe (przeszkoda lub brzeg mapy), to c(x, a) = ∞.

Taka posta´c funkcji c pozwala na ogóln ˛a reprezentacj ˛e mapy, gdzie przej´scia w pewien stan, ale z ró˙znych kierunków mog ˛ a mie´c ró˙zne koszty.

Je ˙zeli dla siatki kwadratów chcemy uto ˙zsami´c koszty przej´scia do tego samego stanu x ij , to:

c(x i−1,j , ↓ ) = c(x i+1,j , ↑ ) = c(x i,j−1 , → ) = c(x i,j+1 , ← ) = map(i, j) .

dla wszystkich i, j.

(11)

Gdy koszty przej´s´c uto ˙zsamione z map ˛a

S

G

map =

 

 

 

 

 

2 1 1 1 1 1 2 1 ∞ 1 2 1 2 2 1 1 ∞ 2 1 1 1 2 1 1 1

 

 

 

 

 

c(·, ↑) = c(·, →) = c(·, ↓) = c(·, ←) =

 

 

 

 

 

∞ ∞ ∞ ∞ ∞

2 1 1 1 1

1 2 1 ∞ 1

2 1 2 2 1

1 ∞ 2 1 1

 

 

 

 

 

 

 

 

 

 

1 1 1 1 ∞ 2 1 ∞ 1 ∞ 1 2 2 1 ∞

∞ 2 1 1 ∞

2 1 1 1 ∞

 

 

 

 

 

 

 

 

 

 

1 2 1 ∞ 1

2 1 2 2 1

1 ∞ 2 1 1

1 2 1 1 1

∞ ∞ ∞ ∞ ∞

 

 

 

 

 

 

 

 

 

 

∞ 2 1 1 1

∞ 1 2 1 ∞

∞ 2 1 2 2

∞ 1 ∞ 2 1

∞ 1 2 1 1

 

 

 

 

 

(12)

Zało ˙zenie pocz ˛atkowe

W najbardziej pesymistycznym przypadku zakładamy pełn ˛a niewiedz ˛e o mapie, z wyj ˛atkiem informacji o współrz ˛ednych startowych i docelowych.

Je ˙zeli przyjmiemy, ˙ze nieutrudnione niczym przej´scie kosztuje 1 jednostk ˛e, w przypadku pełnej niewiedzy, nale ˙zy nastawi´c:

x, a c(x, a) = 1.

W szczególno´sci przyjmujemy, ˙ze nie znamy równie ˙z brzegów

planszy.

(13)

Wielko´sci u ˙zywane w algorytmie

Niech g current (x) oznacza aktualnie znany koszt przej´scia ze stanu x do stanu docelowego G.

Niech g via (x, x ) oznacza aktualnie zany koszt przej´scia ze stanu x do stanu docelowego G, gdy podró˙zujemy przez stan x .

Funkcja g via b ˛edzie tak naprawd ˛e rozpatrywana tylko dla x, x b ˛ed ˛acych bezpo´srednimi s ˛asiadami.

Niech a b ˛edzie akcj ˛a, tak ˛a ˙ze t(x, a) = x . Wówczas:

g via (x, x ) = c(x, a) + g current (x ). (1)

(14)

Wielko´sci u ˙zywane w algorytmie

Niech Q oznacz ˛a kolejk ˛e stanów przechowywan ˛a w algorytmie (analogicznie do algorytmów Dijkstry i A ).

Niech V oznacz ˛a map ˛e odwiedzonych stanów.

Niech g best (x) oznacza najlepsz ˛a (najmniejsz ˛a) znan ˛a warto´s´c kosztu dla stanu x podczas jego historii ˙zycia w kolejce Q. Wiadomo, ˙ze:

g best (x) 6 g current (x). (2)

Kolejka Q jest posortowana według g best .

(15)

Tymczasowy plan

Niech p(x) oznacza planowan ˛a akcj ˛e przyporz ˛adkowan ˛a obecnie do wykonania w stanie x.

Algorytm b ˛edzie wielokrotnie wyznaczał tymczasowy plan, czyli pewien ci ˛ag akcji

p 1 , p 2 , . . . , p k , p k+1 , . . . ,

które pozwalaj ˛a przeprowadzi´c aktualny stan pocz ˛atkowy w stan docelowy wg obecnej znajomo´sci kosztów przej´s´c c. Tym samym, okre´slona zostanie ´scie ˙zka stanów

x 1 , x 2 , . . . , x k , x k+1 , . . . , taka ˙ze

x k+1 = t(x k , p(x k )).

Posta´c (agent, robot) b ˛edzie pod ˛a ˙zała zgodnie z planem, a ˙z do

do´swiadczenia niezgodno´sci pomi ˛edzy znanym (zakładanym) kosztem

przej´scia a faktycznym.

(16)

Clue algorytmu Stentz’a

Dla pewnego stanu x załó ˙zmy, ˙ze istnieje akcja a przeprowadzaj ˛aca go w s ˛asiada x . Je ˙zeli mamy ˙ze:

g via (x, x ) < g current (x),

to istnieje szansa, ˙ze koszt g current (x) mo ˙ze by´c zredukowany.

Je ˙zeli dodatkowo:

g current (x ) 6 g best (x),

to na pewno koszt g current (x ) jest optymalny w ´swietle znanych informacji.

Gdy zachodz ˛a oba te warunki to g current (x) jest aktualizowane do

g via (x, x ) i p(x) jest aktualizowane do a.

(17)

Algorytm „zewn ˛etrzny”

1 Zainicjalizuj wszystkie warto´sci g best , g current , g via zerami, oraz wszystkie p na puste.

2 Włó ˙z stan docelowy G do kolejki Q.

3 Wykonuj w p ˛etli algorytm Stentz’a, a ˙z do momentu, kiedy jako jego wynik zostanie zwrócony stan pocz ˛atkowy S. (w tym momencie algorytm Stentz’a zadziała równowa˙znie do wstecznego algorytmu Dijkstry)

4 Główna p ˛etla:

1 Wykonuj obecny plan p 1 , p 2 , . . . odwiedzaj ˛ac ci ˛ag stanów x k+1 = t(x k , p k ), gdzie x 1

oznacza aktualny stan S.

1 Je ˙zeli dla pewnego x k wida´c, ˙ze zastosowanie akcji p k skutkowałoby kosztem wi ˛ekszym ni ˙z znane c(x k , p k ), to uaktualnij c(x k , p k ) na prawdziwe, i przypisz:

g via (x k , x k+1 ) := c(x k , p k ) + g current (x k+1 ), g current (x k ) := g via (x k , x k+1 ).

Przerwij dalsze wykonywanie planu.

2 Je ˙zeli x k = G to przerwij algorytm. (punkt stopu)

3 Wstaw x k do Q. Zapami ˛etaj g last := g current (x k ). Ustaw S := x k .

4 Dopóki Q jest niepusta lub dopóki nie osi ˛agni ˛eto sytuacji, ˙ze g best (x) > g last dla wszystkich x w Q:

1 Wykonaj algorytm Stentz’a.

(18)

Algorytm Stentz’a (cz ˛e´s´c 1)

1 Pobierz z Q stan x o najmniejszym g best .

2 Je ˙zeli g best (x) < g current (x)

(tzn. ˙ze x zwi˛ekszył swój koszt b˛ed ˛ac w Q, i je˙zeli mo˙zna ten koszt poprawi´c podró˙zuj ˛ac przez jakiego´s s ˛asiada, dla którego optymalny koszt jest znany, to nale˙zy tak zrobi´c)

1 Dla ka ˙zdego a ∈ A(x), takiego ˙ze c(x, a) < ∞, sprawd´z dla x = t(x, a) czy:

g via (x, x ) < g current (x) i g current (x ) 6 g best (x)? Je ˙zeli tak, to:

1 g current (x) := g via (x, x ).

2 p(x) := a.

3 Dla wszystkich x , takich ˙ze istnieje a A(x ) powoduj ˛ace t(x , a ) = x oraz c(x , a ) < ∞:

1 g via (x , x) := c(x , a ) + g current (x).

2 Je ˙zeli x nie jest w V, to:

1 g current (x ) := g via (x , x), g best (x ) := g via (x , x).

2 p(x ) := a .

3 Włó ˙z x do Q.

3 Je ˙zeli koszt dla x wydaje si ˛e niepoprawny, bo p(x ) = a , ale g via (x , x) , g current (x ), to:

1 g current (x ) := g via (x , x).

2 Włó ˙z x do Q.

. .

(19)

Algorytm Stentz’a (cz ˛e´s´c 2)

. . .

3 (ci ˛ag dalszy ciała p˛etli 3)

4 Je ˙zeli p(x ) , a i g via (x , x) < g current (x ), to:

(tzn. ˙ze lepiej i´s´c z x przez x ni˙z u˙zy´c akcji p(x ))

1 Je ˙zeli g current (x) = g best (x), to: p(x ) := a i włó ˙z x do Q, bo optymalny koszt dla x jest znany.

2 W przeciwnym razie: g best (x) := g current (x) (o ile x < Q), oraz włó ˙z x do Q.

5 (unikanie cykli w p) Je ˙zeli x V i x < Q, oraz

p(x ) , a i g via (x, x ) < g current (x) i g current (x) > g best (x), to włó ˙z x do Q ponownie.

4 Umie´s´c x w V.

(20)

S G

(21)

Na rysunkach g current pisane w ´srodku, g best w nawiasie, g via przy bokach. W opisie Q schemat: x → g best (x){g current (x)}, . . .

(a) (b)

S G

0 0 0 0 0 0

0 0 0 0 0 1

0 0 0 0 1 0

0 0 0 0 0 1

0 0 0 0 0 0

0 0 0 0 0 0

0

0

0

0

0 0

0

0 0

0

0 0

0 0

0 0

0 0

0 0

0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0

1 0

0

0 0

0

0 0 0

0

0 0 0

0

0 0 0

0

1 0 0

0

0 0

0 0

0 0

0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

1

0 0

0

0 0

0

0 0 0

0

0 0 0

0

0 0 0

0

0 0 0

0

0 0

0

0 0

0 0

0

0 0

0

0 0

0

0 0

0

0

H0L H0L H0L H0L H0L H0L

H0L H0L H0L H0L H0L H1L

H0L H0L H0L H0L H1L H0L

H0L H0L H0L H0L H0L H1L

H0L H0L H0L H0L H0L H0L

H0L H0L H0L H0L H0L H0L

S G

0 0 0 0 0 2

0 0 0 0 2 1

0 0 0 0 1 0

0 0 0 0 0 1

0 0 0 0 0 0

0 0 0 0 0 0

0

0 0

0

0 0

0

0 0

0

0 0

0 0

2 0

0 0

0 0

0

0 0

0 0

0 0

0 0

0 0

0 2

0 0

0

1 0

0

0 0

0

0 0 0

0

0 0 0

0

0 0 0

0

1 0 0

2

0 0

0 0

0 0

0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

1

0 0

0

0 0

0

0 0 0

0

0 0 0

0

0 0 0

0

0 0 0

0

0 0

0

0 0

0 0

0

0 0

0

0 0

0

0 0

0

0

H0L H0L H0L H0L H0L H2L

H0L H0L H0L H0L H2L H1L

H0L H0L H0L H0L H1L H0L

H0L H0L H0L H0L H0L H1L

H0L H0L H0L H0L H0L H0L

H0L H0L H0L H0L H0L H0L

x = (3, 6) pobrane z Q 3.2 wykonany dla x = (2, 6) 3.2 wykonany dla x = (4, 6) 3.2 wykonany dla x = (3, 5)

x = (2, 6) pobrane z Q

3.2 wykonany dla x = (1, 6)

3.2 wykonany dla x = (2, 5)

(22)

(c) · · · (d) (wsteczny a. Dijkstry zako ´nczony)

S G

0 0 0 0 0 2

0 0 0 0 2 1

0 0 0 2 1 0

0 0 0 0 2 1

0 0 0 0 0 0

0 0 0 0 0 0

0

0

0

0

0 0

0

0 0

0

0 0

0 0

2 0

0

0

0 0

0

0 0

0

0

0 0

0

0

0 0

0

2

2 0

0

1 0

0

0

0 0

0

0 0

0

0

0 0

0

2

0 0

0

1

0 0

2

0 2

0

0

0 0

0

0 0

0

0

0 0

0

0

0 0

2

0

0 0

1

0 0

0

0

0 0

0

0 0

0

0

0 0

0

0

0 0

0

0

0 0

0

0 0

0

0 0

0 0

0

0 0

0

0 0

0

0 0

0

0

H0L H0L H0L H0L H0L H2L

H0L H0L H0L H0L H2L H1L

H0L H0L H0L H2L H1L H0L

H0L H0L H0L H0L H2L H1L

H0L H0L H0L H0L H0L H0L

H0L H0L H0L H0L H0L H0L

S G

0 6 5 4 3 2

6 5 4 3 2 1

5 4 3 2 1 0

6 5 4 3 2 1

0 0 5 4 3 2

0 0 0 5 4 3

0

0

0

6

0 5

5

0 4

4

0 3

3 5

2 4

0

6

6 0

5

5 0

0

4

4 6

5

3

3 5

4

2

2 4

3

1 3

0

5

0 6

4

0 6

5

3

5 5

4

2

4 4

3

1

3 3

2

2 2

6

0

0 5

5

0 0

4

4

0 0

3

3

5 5

2

2

4 4

1

3 3

0

0

0 0

0

0 0

5

5

0 0

4

4

0 0

3

3

5 5

2

4 4

0

0 0

0 0

0

0 0

5

5 0

4

4 0

3

5

H0L H6L H5L H4L H3L H2L

H6L H5L H4L H3L H2L H1L

H5L H4L H3L H2L H1L H0L

H6L H5L H4L H3L H2L H1L

H0L H0L H5L H4L H3L H2L

H0L H0L H0L H5L H4L H3L

x = (3, 5) pobrane z Q 3.2 wykonany dla x = (2, 5) 3.2 wykonany dla x = (4, 5) 3.2 wykonany dla x = (3, 4)

Q : (4, 6) → 1{1}, (1, 6) → 2{2}, (3, 4) → 2{2}, (4, 5) → 2{2},

. . .

Q : (4, 2) → 5{5}, (1, 3) → 5{5}, (5, 3) → 5{5},

(6, 4) → 5{5}, (1, 2) → 6{6}, (4, 1) → 6{6},

(23)

Plan z aktualnego S: (→, →, →, →, →). Osi ˛agni ˛eto stan (3, 3). Niezgodno´s´c wykryta dla c ((3, 3), →).

S G

0 6 5 4 3 2

6 5 4 3 2 1

5 4 inf 2 1 0

6 5 4 3 2 1

0 0 5 4 3 2

0 0 0 5 4 3

0

0

0

6

0 5

5

0 4

4

0 3

3 5

2 4

0

6

6 0

5

5 0

0

4

4 6

5

3

3 5

4

2

2 4

3

1 3

0

5

0 6

4

0 6

5

inf

5 5

4

2

4 4

3

1

3 3

2

2 2

6

0

0 5

5

0 0

4

4

0 0

3

3

5 5

2

2

4 4

1

3 3

0

0

0 0

0

0 0

5

5

0 0

4

4

0 0

3

3

5 5

2

4 4

0

0 0

0 0

0

0 0

5

5 0

4

4 0

3

5

H0L H6L H5L H4L H3L H2L

H6L H5L H4L H3L H2L H1L

H5L H4L H3L H2L H1L H0L

H6L H5L H4L H3L H2L H1L

H0L H0L H5L H4L H3L H2L

H0L H0L H0L H5L H4L H3L

S G

0 6 5 4 3 2

6 5 4 3 2 1

5 4 inf 2 1 0

6 5 4 3 2 1

0 0 5 4 3 2

0 0 0 5 4 3

0

0

0

6

0 5

5

0 4

4

0 3

3 5

2 4

0

6

6 0

5

5 0

0

4

4 6

5

3

3 5

4

2

2 4

3

1 3

0

5

0 6

4

0 6

5

inf

5 5

4

2

4 4

3

1

3 3

2

2 2

6

0

0 5

5

0 0

4

4

0 0

3

3

5 5

2

2

4 4

1

3 3

0

0

0 0

0

0 0

5

5

0 0

4

4

0 0

3

3

5 5

2

4 4

0

0 0

0 0

0

0 0

5

5 0

4

4 0

3

5

H0L H6L H5L H4L H3L H2L

H6L H5L H4L H3L H2L H1L

H5L H4L H3L H2L H1L H0L

H6L H5L H4L H3L H2L H1L

H0L H0L H5L H4L H3L H2L

H0L H0L H0L H5L H4L H3L

(3, 3) wło ˙zony do Q g last = ∞,

Q : (3, 3) → 3{∞}, (4, 2) → 5{5}, (1, 3) → 5{5}, (5, 3) → 5{5}, (6, 4) → 5{5}, (1, 2) → 6{6},

(4, 1) → 6{6}, (2, 1) → 6{6}

(24)

Po pierwszym przebiegu algorytmu Stentz’a.

S G

0 6 5 4 3 2

6 5 4 3 2 1

5 inf inf 2 1 0

6 5 4 3 2 1

0 0 5 4 3 2

0 0 0 5 4 3

0

0

0

6

0 5

5

0 4

4

0 3

3 5

2 4

0

6

6 0

5

5 0

0

4

inf 6

5

3

3 5

4

2

2 4

3

1 3

0

5

0 6

inf

0 6

5

inf

5 5

4

2

4 inf

3

1

3 3

2

2 2

6

0

0 5

5

0 0

inf

4

0 0

3

3

5 5

2

2

4 4

1

3 3

0

0

0 0

0

0 0

5

5

0 0

4

4

0 0

3

3

5 5

2

4 4

0

0 0

0 0

0

0 0

5

5 0

4

4 0

3

5

H0L H6L H5L H4L H3L H2L

H6L H5L H4L H3L H2L H1L

H5L H4L H3L H2L H1L H0L

H6L H5L H4L H3L H2L H1L

H0L H0L H5L H4L H3L H2L

H0L H0L H0L H5L H4L H3L

S G

0 6 5 4 3 2

6 5 4 3 2 1

5 inf inf 2 1 0

6 5 4 3 2 1

0 0 5 4 3 2

0 0 0 5 4 3

0

0

0

6

0 5

5

0 4

4

0 3

3 5

2 4

0

6

6 0

5

5 0

0

4

inf 6

5

3

3 5

4

2

2 4

3

1 3

0

5

0 6

inf

0 6

5

inf

5 5

4

2

4 inf

3

1

3 3

2

2 2

6

0

0 5

5

0 0

inf

4

0 0

3

3

5 5

2

2

4 4

1

3 3

0

0

0 0

0

0 0

5

5

0 0

4

4

0 0

3

3

5 5

2

4 4

0

0 0

0 0

0

0 0

5

5 0

4

4 0

3

5

H0L H6L H5L H4L H3L H2L

H6L H5L H4L H3L H2L H1L

H5L H4L H3L H2L H1L H0L

H6L H5L H4L H3L H2L H1L

H0L H0L H5L H4L H3L H2L

H0L H0L H0L H5L H4L H3L

x = (3, 3) pobrane z Q

3.5 wykonany dla x = (2, 3)

3.5 wykonany dla x = (4, 3)

3.3 wykonany dla x = (3, 2)

(25)

Po drugim przebiegu algorytmu Stentz’a.

S G

0 6 5 4 3 2

6 5 4 3 2 1

5 inf 5 2 1 0

6 5 4 3 2 1

0 0 5 4 3 2

0 0 0 5 4 3

0

0

0

6

0 5

5

0 4

4

0 3

3 5

2 4

0

6

6 0

5

5 0

0

4

inf 6

5

3

3 5

4

2

2 4

3

1 3

0

5

0 6

inf

0 6

5

inf

5 5

4

2

4 inf

3

1

3 3

2

2 2

6

0

0 5

5

0 0

inf

4

0 0

3

3

5 5

2

2

4 4

1

3 3

0

0

0 0

0

0 0

5

5

0 0

4

4

0 0

3

3

5 5

2

4 4

0

0 0

0 0

0

0 0

5

5 0

4

4 0

3

5

H0L H6L H5L H4L H3L H2L

H6L H5L H4L H3L H2L H1L

H5L H4L H5L H2L H1L H0L

H6L H5L H4L H3L H2L H1L

H0L H0L H5L H4L H3L H2L

H0L H0L H0L H5L H4L H3L

S G

0 6 5 4 3 2

6 5 4 3 2 1

5 inf 5 2 1 0

6 5 4 3 2 1

0 0 5 4 3 2

0 0 0 5 4 3

0

0

0

6

0 5

5

0 4

4

0 3

3 5

2 4

0

6

6 0

5

5 0

0

4

inf 6

5

3

3 5

4

2

2 4

3

1 3

0

5

0 6

inf

0 6

5

inf

5 5

4

2

4 inf

3

1

3 3

2

2 2

6

0

0 5

5

0 0

inf

4

0 0

3

3

5 5

2

2

4 4

1

3 3

0

0

0 0

0

0 0

5

5

0 0

4

4

0 0

3

3

5 5

2

4 4

0

0 0

0 0

0

0 0

5

5 0

4

4 0

3

5

H0L H6L H5L H4L H3L H2L

H6L H5L H4L H3L H2L H1L

H5L H4L H5L H2L H1L H0L

H6L H5L H4L H3L H2L H1L

H0L H0L H5L H4L H3L H2L

H0L H0L H0L H5L H4L H3L

x = (2, 3) pobrane z Q 3.2 wykonany dla x = (1, 3) (neutralny) 3.4.1 wykonany dla x = (3, 3) — przekierowanie z x na x Q : (3, 2) → 4{∞}, (4, 3) → 4{4}, (4, 2) → 5{5},(3, 3) → 5{5}, (1, 3) → 5{5}

(5, 3) → 5{5}, (6, 4) → 5{5}, (1, 2) → 6{6}, (4, 1) → 6{6}, (2, 1) → 6{6}

(26)

Po trzecim przebiegu algorytmu Stentz’a.

S G

0 6 5 4 3 2

6 inf 4 3 2 1

inf inf 5 2 1 0

6 inf 4 3 2 1

0 0 5 4 3 2

0 0 0 5 4 3

0

0

0

6

0 5

5

0 4

4

0 3

3 5

2 4

0

6

6 0

5

inf 0

0

4

inf 6

5

3

3 5

4

2

2 4

3

1 3

0

inf

0 6

inf

0 6

5

inf

5 inf

4

2

4 inf

3

1

3 3

2

2 2

6

0

0 inf

5

0 0

inf

4

0 0

3

3

5 5

2

2

4 4

1

3 3

0

0

0 0

0

0 0

5

5

0 0

4

4

0 0

3

3

5 5

2

4 4

0

0 0

0 0

0

0 0

5

5 0

4

4 0

3

5

H0L H6L H5L H4L H3L H2L

H6L H5L H4L H3L H2L H1L

H5L H4L H5L H2L H1L H0L

H6L Hinf L H4L H3L H2L H1L

H0L H0L H5L H4L H3L H2L

H0L H0L H0L H5L H4L H3L

S G

0 6 5 4 3 2

6 inf 4 3 2 1

inf inf 5 2 1 0

6 inf 4 3 2 1

0 0 5 4 3 2

0 0 0 5 4 3

0

0

0

6

0 5

5

0 4

4

0 3

3 5

2 4

0

6

6 0

5

inf 0

0

4

inf 6

5

3

3 5

4

2

2 4

3

1 3

0

inf

0 6

inf

0 6

5

inf

5 inf

4

2

4 inf

3

1

3 3

2

2 2

6

0

0 inf

5

0 0

inf

4

0 0

3

3

5 5

2

2

4 4

1

3 3

0

0

0 0

0

0 0

5

5

0 0

4

4

0 0

3

3

5 5

2

4 4

0

0 0

0 0

0

0 0

5

5 0

4

4 0

3

5

H0L H6L H5L H4L H3L H2L

H6L H5L H4L H3L H2L H1L

H5L H4L H5L H2L H1L H0L

H6L Hinf L H4L H3L H2L H1L

H0L H0L H5L H4L H3L H2L

H0L H0L H0L H5L H4L H3L

x = (3, 2) pobrane z Q

3.3 wykonany dla x = (2, 2)

3.2 wykonany dla x = (4, 2)

3.3 wykonany dla x = (3, 1)

(27)

. . . Kolejka opró˙zniona po 22 przebiegach algorytmu Stentz’a. Osi ˛agni ˛ety stan algortymu:

S G

7 6 5 4 3 2

8 5 4 3 2 1

7 6 5 2 1 0

8 5 4 3 2 1

7 6 5 4 3 2

8 7 6 5 4 3

7

9

6

6

8 5

5

7 4

4

6 3

3 5

2 4

8

6

8 7

5

7 9

6

4

6 6

5

3

3 5

4

2

2 4

3

1 3

9

7

9 6

6

6 8

5

inf

5 7

4

2

4 6

3

1

3 3

2

2 2

8

6

8 7

5

7 9

6

4

6 6

3

3

5 5

2

2

4 4

1

3 3

9

7

9 6

6

8 8

5

5

7 7

4

4

6 6

3

3

5 5

2

4 4

8

8 7

7 9

6

6 8

5

5 7

4

4 6

3

5

H7L H6L H5L H4L H3L H2L

H8L H5L H4L H3L H2L H1L

H5L H6L H5L H2L H1L H0L

H8L H5L H4L H3L H2L H1L

H7L H6L H5L H4L H3L H2L

H8L H7L H6L H5L H4L H3L

S G

7 6 5 4 3 2

8 5 4 3 2 1

7 6 5 2 1 0

8 5 4 3 2 1

7 6 5 4 3 2

8 7 6 5 4 3

7

9

6

6

8 5

5

7 4

4

6 3

3 5

2 4

8

6

8 7

5

7 9

6

4

6 6

5

3

3 5

4

2

2 4

3

1 3

9

7

9 6

6

6 8

5

inf

5 7

4

2

4 6

3

1

3 3

2

2 2

8

6

8 7

5

7 9

6

4

6 6

3

3

5 5

2

2

4 4

1

3 3

9

7

9 6

6

8 8

5

5

7 7

4

4

6 6

3

3

5 5

2

4 4

8

8 7

7 9

6

6 8

5

5 7

4

4 6

3

5

H7L H6L H5L H4L H3L H2L

H8L H5L H4L H3L H2L H1L

H5L H6L H5L H2L H1L H0L

H8L H5L H4L H3L H2L H1L

H7L H6L H5L H4L H3L H2L

H8L H7L H6L H5L H4L H3L

Q : ∅

(28)

Plan z aktualnego S: (↑, →, →, ↓, →). Osi ˛agni ˛eto stan (3, 3). Niezgodno´s´c wykryta dla c ((3, 3), ↑).

S G

7 6 5 4 3 2

8 5 4 3 2 1

7 6 inf 2 1 0

8 5 4 3 2 1

7 6 5 4 3 2

8 7 6 5 4 3

7

9

6

6

8 5

5

7 4

4

6 3

3 5

2 4

8

6

8 7

5

7 9

6

4

6 6

5

3

3 5

4

2

2 4

3

1 3

9

7

9 6

6

6 8

inf

inf

5 7

4

2

4 6

3

1

3 3

2

2 2

8

6

8 7

5

7 9

6

4

6 6

3

3

5 5

2

2

4 4

1

3 3

9

7

9 6

6

8 8

5

5

7 7

4

4

6 6

3

3

5 5

2

4 4

8

8 7

7 9

6

6 8

5

5 7

4

4 6

3

5

H7L H6L H5L H4L H3L H2L

H8L H5L H4L H3L H2L H1L

H5L H6L H5L H2L H1L H0L

H8L H5L H4L H3L H2L H1L

H7L H6L H5L H4L H3L H2L

H8L H7L H6L H5L H4L H3L

S G

7 6 5 4 3 2

8 5 4 3 2 1

7 6 inf 2 1 0

8 5 4 3 2 1

7 6 5 4 3 2

8 7 6 5 4 3

7

9

6

6

8 5

5

7 4

4

6 3

3 5

2 4

8

6

8 7

5

7 9

6

4

6 6

5

3

3 5

4

2

2 4

3

1 3

9

7

9 6

6

6 8

inf

inf

5 7

4

2

4 6

3

1

3 3

2

2 2

8

6

8 7

5

7 9

6

4

6 6

3

3

5 5

2

2

4 4

1

3 3

9

7

9 6

6

8 8

5

5

7 7

4

4

6 6

3

3

5 5

2

4 4

8

8 7

7 9

6

6 8

5

5 7

4

4 6

3

5

H7L H6L H5L H4L H3L H2L

H8L H5L H4L H3L H2L H1L

H5L H6L H5L H2L H1L H0L

H8L H5L H4L H3L H2L H1L

H7L H6L H5L H4L H3L H2L

H8L H7L H6L H5L H4L H3L

(3, 3) wło ˙zony do Q

g last = ∞,

Q : (3, 3) → 5{∞}

(29)

Kolejka opró˙zniona po 1 przebiegu algorytmu Stentz’a.

S G

7 6 5 4 3 2

8 5 4 3 2 1

7 6 5 2 1 0

8 5 4 3 2 1

7 6 5 4 3 2

8 7 6 5 4 3

7

9

6

6

8 5

5

7 4

4

6 3

3 5

2 4

8

6

8 7

5

7 9

6

4

6 6

5

3

3 5

4

2

2 4

3

1 3

9

7

9 6

6

6 8

inf

inf

5 7

4

2

4 6

3

1

3 3

2

2 2

8

6

8 7

5

7 9

6

4

6 6

3

3

5 5

2

2

4 4

1

3 3

9

7

9 6

6

8 8

5

5

7 7

4

4

6 6

3

3

5 5

2

4 4

8

8 7

7 9

6

6 8

5

5 7

4

4 6

3

5

H7L H6L H5L H4L H3L H2L

H8L H5L H4L H3L H2L H1L

H5L H6L H5L H2L H1L H0L

H8L H5L H4L H3L H2L H1L

H7L H6L H5L H4L H3L H2L

H8L H7L H6L H5L H4L H3L

S G

7 6 5 4 3 2

8 5 4 3 2 1

7 6 5 2 1 0

8 5 4 3 2 1

7 6 5 4 3 2

8 7 6 5 4 3

7

9

6

6

8 5

5

7 4

4

6 3

3 5

2 4

8

6

8 7

5

7 9

6

4

6 6

5

3

3 5

4

2

2 4

3

1 3

9

7

9 6

6

6 8

inf

inf

5 7

4

2

4 6

3

1

3 3

2

2 2

8

6

8 7

5

7 9

6

4

6 6

3

3

5 5

2

2

4 4

1

3 3

9

7

9 6

6

8 8

5

5

7 7

4

4

6 6

3

3

5 5

2

4 4

8

8 7

7 9

6

6 8

5

5 7

4

4 6

3

5

H7L H6L H5L H4L H3L H2L

H8L H5L H4L H3L H2L H1L

H5L H6L H5L H2L H1L H0L

H8L H5L H4L H3L H2L H1L

H7L H6L H5L H4L H3L H2L

H8L H7L H6L H5L H4L H3L

x = (3, 3) pobrane z Q

2.1 wykonany dla x = (4, 3) — przekierowanie z x na x

Q : ∅

(30)

Plan z aktualnego S: (↓, →, ↑, →, →). Osi ˛agni ˛eto stan (4, 3). Niezgodno´s´c wykryta dla c ((4, 3), →).

S

G

7 6 5 4 3 2

8 5 4 3 2 1

7 6 5 2 1 0

8 5 inf 3 2 1

7 6 5 4 3 2

8 7 6 5 4 3

7

9

6

6

8 5

5

7 4

4

6 3

3 5

2 4

8

6

8 7

5

7 9

6

4

6 6

5

3

3 5

4

2

2 4

3

1 3

9

7

9 6

6

6 8

inf

inf

5 7

4

2

4 6

3

1

3 3

2

2 2

8

6

8 7

5

7 9

6

inf

6 6

3

3

5 5

2

2

4 4

1

3 3

9

7

9 6

6

8 8

5

5

7 7

4

4

6 6

3

3

5 5

2

4 4

8

8 7

7 9

6

6 8

5

5 7

4

4 6

3

5

H7L H6L H5L H4L H3L H2L

H8L H5L H4L H3L H2L H1L

H5L H6L H5L H2L H1L H0L

H8L H5L H4L H3L H2L H1L

H7L H6L H5L H4L H3L H2L

H8L H7L H6L H5L H4L H3L

S

G

7 6 5 4 3 2

8 5 4 3 2 1

7 6 5 2 1 0

8 5 inf 3 2 1

7 6 5 4 3 2

8 7 6 5 4 3

7

9

6

6

8 5

5

7 4

4

6 3

3 5

2 4

8

6

8 7

5

7 9

6

4

6 6

5

3

3 5

4

2

2 4

3

1 3

9

7

9 6

6

6 8

inf

inf

5 7

4

2

4 6

3

1

3 3

2

2 2

8

6

8 7

5

7 9

6

inf

6 6

3

3

5 5

2

2

4 4

1

3 3

9

7

9 6

6

8 8

5

5

7 7

4

4

6 6

3

3

5 5

2

4 4

8

8 7

7 9

6

6 8

5

5 7

4

4 6

3

5

H7L H6L H5L H4L H3L H2L

H8L H5L H4L H3L H2L H1L

H5L H6L H5L H2L H1L H0L

H8L H5L H4L H3L H2L H1L

H7L H6L H5L H4L H3L H2L

H8L H7L H6L H5L H4L H3L

(4, 3) wło ˙zony do Q

g last = ∞,

Q : (4, 3) → 4{∞}

(31)

Kolejny plan wyprowadzony po 10 przebiegach algorytmu Stentz’a.

Plan z aktualnego S: (↓, →, →, →, ↑, ↑). Osi ˛agni ˛eto stan (4, 3). Niezgodno´s´c wykryta dla c ((4, 3), ↓).

S

G

7 6 5 4 3 2

8 5 4 3 2 1

7 6 7 2 1 0

8 7 inf 3 2 1

7 6 5 4 3 2

8 7 6 5 4 3

7

9

6

6

8 5

5

7 4

4

6 3

3 5

2 4

8

6

8 7

5

7 9

6

4

8 6

5

3

3 5

4

2

2 4

3

1 3

9

7

9 6

8

8 8

inf

inf

7 7

4

2

4 8

3

1

3 3

2

2 2

8

8

8 7

7

7 9

8

inf

inf 8

3

3

5 7

2

2

4 4

1

3 3

9

7

9 8

6

8 8

7

5

7 7

4

4

6 6

3

3

5 5

2

4 4

8

8 7

7 9

6

6 8

5

5 7

4

4 6

3

5

H7L H6L H5L H4L H3L H2L

H8L H5L H4L H3L H2L H1L

H5L H6L H7L H2L H1L H0L

H8L H7L H6L H3L H2L H1L

H7L H6L H5L H4L H3L H2L

H8L H7L H6L H5L H4L H3L

S

G

7 6 5 4 3 2

8 5 4 3 2 1

7 6 7 2 1 0

8 7 inf 3 2 1

7 6 5 4 3 2

8 7 6 5 4 3

7

9

6

6

8 5

5

7 4

4

6 3

3 5

2 4

8

6

8 7

5

7 9

6

4

8 6

5

3

3 5

4

2

2 4

3

1 3

9

7

9 6

8

8 8

inf

inf

7 7

4

2

4 8

3

1

3 3

2

2 2

8

8

8 7

7

7 9

8

inf

inf 8

3

3

5 7

2

2

4 4

1

3 3

9

7

9 8

6

8 8

7

5

7 7

4

4

6 6

3

3

5 5

2

4 4

8

8 7

7 9

6

6 8

5

5 7

4

4 6

3

5

H7L H6L H5L H4L H3L H2L

H8L H5L H4L H3L H2L H1L

H5L H6L H7L H2L H1L H0L

H8L H7L H6L H3L H2L H1L

H7L H6L H5L H4L H3L H2L

H8L H7L H6L H5L H4L H3L

(4, 3) wło ˙zony do Q

g last = ∞,

Q : (4, 3) → 6{∞}

(32)

Kolejny plan wyprowadzony po 4 przebiegach algorytmu Stentz’a.

Plan z aktualnego S: (↑, ←, ↑, →, →, →↓, →). Osi ˛agni ˛eto stan (2, 2). Niezgodno´s´c wykryta dla c ((2, 2), →).

S

G

7 6 5 4 3 2

8 inf 4 3 2 1

7 6 7 2 1 0

8 7 8 3 2 1

7 6 5 4 3 2

8 7 6 5 4 3

7

9

6

6

8 5

5

7 4

4

6 3

3 5

2 4

8

6

8 7

inf

7 9

6

4

8 6

5

3

3 5

4

2

2 4

3

1 3

9

7

9 6

8

8 8

inf

inf

9 7

4

2

4 8

3

1

3 3

2

2 2

8

8

8 7

9

7 9

8

inf

inf 8

3

3

5 9

2

2

4 4

1

3 3

9

7

9 8

6

8 8

9

5

7 7

4

4

6 6

3

3

5 5

2

4 4

8

8 7

7 9

6

6 8

5

5 7

4

4 6

3

5

H7L H6L H5L H4L H3L H2L

H8L H5L H4L H3L H2L H1L

H5L H6L H7L H2L H1L H0L

H8L H7L H8L H3L H2L H1L

H7L H6L H5L H4L H3L H2L

H8L H7L H6L H5L H4L H3L

S

G

7 6 5 4 3 2

8 inf 4 3 2 1

7 6 7 2 1 0

8 7 8 3 2 1

7 6 5 4 3 2

8 7 6 5 4 3

7

9

6

6

8 5

5

7 4

4

6 3

3 5

2 4

8

6

8 7

inf

7 9

6

4

8 6

5

3

3 5

4

2

2 4

3

1 3

9

7

9 6

8

8 8

inf

inf

9 7

4

2

4 8

3

1

3 3

2

2 2

8

8

8 7

9

7 9

8

inf

inf 8

3

3

5 9

2

2

4 4

1

3 3

9

7

9 8

6

8 8

9

5

7 7

4

4

6 6

3

3

5 5

2

4 4

8

8 7

7 9

6

6 8

5

5 7

4

4 6

3

5

H7L H6L H5L H4L H3L H2L

H8L H5L H4L H3L H2L H1L

H5L H6L H7L H2L H1L H0L

H8L H7L H8L H3L H2L H1L

H7L H6L H5L H4L H3L H2L

H8L H7L H6L H5L H4L H3L

(2, 2) wło ˙zony do Q

g last = ∞,

(33)

Kolejny plan wyprowadzony po 12 przebiegach algorytmu Stentz’a.

Plan z aktualnego S: (↑, →, ↓, →, →, ↓, →). Osi ˛agni ˛eto stan (1, 3). Niezgodno´s´c wykryta dla c ((3, 1), ↓).

S

G

7 6 inf 4 3 2

8 7 4 3 2 1

9 8 9 2 1 0

8 7 8 3 2 1

7 6 5 4 3 2

8 7 6 5 4 3

7

9

6

8

8 5

inf

7 4

4

6 3

3 5

2 4

8

8

10 7

inf

9 9

6

4

10 8

5

3

3 5

4

2

2 4

3

1 3

9

9

9 8

10

8 10

inf

inf

9 9

4

2

4 10

3

1

3 3

2

2 2

10

8

8 9

9

7 9

10

inf

inf 8

3

3

5 9

2

2

4 4

1

3 3

9

7

9 8

6

8 8

9

5

7 7

4

4

6 6

3

3

5 5

2

4 4

8

8 7

7 9

6

6 8

5

5 7

4

4 6

3

5

H7L H6L H5L H4L H3L H2L

H8L H7L H4L H3L H2L H1L

H5L H6L H7L H2L H1L H0L

H8L H7L H8L H3L H2L H1L

H7L H6L H5L H4L H3L H2L

H8L H7L H6L H5L H4L H3L

S

G

7 6 inf 4 3 2

8 7 4 3 2 1

9 8 9 2 1 0

8 7 8 3 2 1

7 6 5 4 3 2

8 7 6 5 4 3

7

9

6

8

8 5

inf

7 4

4

6 3

3 5

2 4

8

8

10 7

inf

9 9

6

4

10 8

5

3

3 5

4

2

2 4

3

1 3

9

9

9 8

10

8 10

inf

inf

9 9

4

2

4 10

3

1

3 3

2

2 2

10

8

8 9

9

7 9

10

inf

inf 8

3

3

5 9

2

2

4 4

1

3 3

9

7

9 8

6

8 8

9

5

7 7

4

4

6 6

3

3

5 5

2

4 4

8

8 7

7 9

6

6 8

5

5 7

4

4 6

3

5

H7L H6L H5L H4L H3L H2L

H8L H7L H4L H3L H2L H1L

H5L H6L H7L H2L H1L H0L

H8L H7L H8L H3L H2L H1L

H7L H6L H5L H4L H3L H2L

H8L H7L H6L H5L H4L H3L

(1, 3) wło ˙zony do Q

g last = ∞,

Q : (1, 3) → 5{∞}

(34)

Kolejny plan wyprowadzony po 1 przebiegu algorytmu Stentz’a.

Plan z aktualnego S: (→, →↓, ↓, →). Osi ˛ agni ˛ eto stan G = (3, 6).

S G

7 6 5 4 3 2

8 7 4 3 2 1

9 8 9 2 1 0

8 7 8 3 2 1

7 6 5 4 3 2

8 7 6 5 4 3

7

9

6

8

8 5

inf

7 4

4

6 3

3 5

2 4

8

8

10 7

inf

9 9

6

4

10 8

5

3

3 5

4

2

2 4

3

1 3

9

9

9 8

10

8 10

inf

inf

9 9

4

2

4 10

3

1

3 3

2

2 2

10

8

8 9

9

7 9

10

inf

inf 8

3

3

5 9

2

2

4 4

1

3 3

9

7

9 8

6

8 8

9

5

7 7

4

4

6 6

3

3

5 5

2

4 4

8

8 7

7 9

6

6 8

5

5 7

4

4 6

3

5

H7L H6L H5L H4L H3L H2L

H8L H7L H4L H3L H2L H1L

H5L H6L H7L H2L H1L H0L

H8L H7L H8L H3L H2L H1L

H7L H6L H5L H4L H3L H2L

H8L H7L H6L H5L H4L H3L

S G

7 6 5 4 3 2

8 7 4 3 2 1

9 8 9 2 1 0

8 7 8 3 2 1

7 6 5 4 3 2

8 7 6 5 4 3

7

9

6

8

8 5

inf

7 4

4

6 3

3 5

2 4

8

8

10 7

inf

9 9

6

4

10 8

5

3

3 5

4

2

2 4

3

1 3

9

9

9 8

10

8 10

inf

inf

9 9

4

2

4 10

3

1

3 3

2

2 2

10

8

8 9

9

7 9

10

inf

inf 8

3

3

5 9

2

2

4 4

1

3 3

9

7

9 8

6

8 8

9

5

7 7

4

4

6 6

3

3

5 5

2

4 4

8

8 7

7 9

6

6 8

5

5 7

4

4 6

3

5

H7L H6L H5L H4L H3L H2L

H8L H7L H4L H3L H2L H1L

H5L H6L H7L H2L H1L H0L

H8L H7L H8L H3L H2L H1L

H7L H6L H5L H4L H3L H2L

H8L H7L H6L H5L H4L H3L

(35)

c ((3, 2), →) = 2 c ((3, 2), →) = 4

S

G G S

(36)

S

G G S

(37)

Uwagi ko ´ncowe

Pole widzenia Algorytm łatwo pozwala wprowadzi´c wi ˛eksze pole widzenia, jako otoczenie postaci o pewnym promieniu. Wystarczy przy pod ˛a ˙zaniu wg planu p 1 , p 2 , . . . uaktualni´c wszelkie niezgodno´sci funkcji c wykryte w otoczeniu. Zmiany wymaga tylko krok 4.1 algorytmu „zewn ˛etrznego”.

Wi ˛eksze pole widzenia w przypadku ´srednim, powinno poprawia´c tras ˛e — zmniejsza´c tendencje do bł ˛adzenia.

Algorytm bywa cz ˛esto wypowiadany w formie wprowadzaj ˛acej etykiety dla stanów:

RAISE, LOWER. Etykieta RAISE sygnalizuje, ˙ze koszt stanu jest wi ˛ekszy ni ˙z ostatnio znany w kolejce Q (zwi ˛azane z krokiem 2.1 w podanym algorytmie Stentz’a). Etykieta LOWER sygnalizuje, ˙ze koszt stanu jest ni ˙zszy ni ˙z ostatnio znany w kolejce Q (zwi ˛azane z krokiem 3.4 w podanym algorytmie Stentz’a).

Praktyczne zastosowania militarne do w eksploracyjnych pojazdach bezzałogowych

m.in.: Automated Cross-Country Unmanned Vehicle (XUV).

Cytaty

Powiązane dokumenty

• Zanim zaproponuje się przejście na &#34;ty&#34;, należy się zastanowić, czy na pewno tego chcemy, czy nie dzieje się to na potrzebę chwili i czy następnego dnia nie

Poziom emitowanego hałasu (dB(A)) i klasa emisji hałasu Skala klas efekty-. wności enegetycznej od A

IEC 60794-3-11 Kable światłowodowe - część 3-11: Kable zewnętrzne - Szczegółowa specyfikacja jednomodowych kanałowych kabli światłowodowych.

Pour d´ emontrer le th´ eor` eme 1, nous utiliserons le crit` ere d’irrationalit´ e suivant :.. Th´ eor`

okaże się wówczas, że etykieta ma po trosze coś z każdej rozważanej jakości – współuczestniczenia fatycznego, rytuału, habitusu – i że niezbywalność etykiety równa

od lewej do prawej. Flagę czyta się więc tak jak pismo: od lewej do prawej i z góry na dół. W przypadku flagi państwowej Rze- czypospolitej Polskiej, z perspektywy patrzącego,

The book Professional Etiquette &amp; Diplomatic Protocol by Andrzej Szteliga in an accessible way presents and discusses classical principles of savoir‑vivre, professional

Gdy funkcje członka urzędu konsularnego ulegają zakończeniu, przywileje i immunitety jego samego oraz członków jego rodziny pozostających z nim we wspólnocie domowej, jak