• Nie Znaleziono Wyników

wprowadza do grafu alokacji G nowy wierzchołek reprezentuj ˛ acy w˛ezeł obliczeniowy (etykietowany jako N ) i wi ˛ a˙ze go z wierzchołkiem reprezentu- j ˛ acym alokator (indeks 0).

N/A
N/A
Protected

Academic year: 2021

Share "wprowadza do grafu alokacji G nowy wierzchołek reprezentuj ˛ acy w˛ezeł obliczeniowy (etykietowany jako N ) i wi ˛ a˙ze go z wierzchołkiem reprezentu- j ˛ acym alokator (indeks 0)."

Copied!
11
0
0

Pełen tekst

(1)

Zaprezentowane poni˙zej cztery produkcje pozwol ˛ a generowa´c grafy, reprezen- tuj ˛ ac aktualny stan alokacji oprogramowania w kontrolowanym systemie rozproszo- nym. Inicjalny IE-graf alokacji składa si˛e z pojedynczego wierzchołka etykietowa- nego jako A i indeksowanego warto´sci ˛ a 0.

Produkcja P

1

wprowadza do grafu alokacji G nowy wierzchołek reprezentuj ˛ acy w˛ezeł obliczeniowy (etykietowany jako N ) i wi ˛ a˙ze go z wierzchołkiem reprezentu- j ˛ acym alokator (indeks 0).

s

N

Transformacja osadzenia dla tej produkcji jest nast˛epuj ˛ aca:

C

1

= {((s, out , v

L

), {(A, (N, true), s, out ),

(N, (N, true), −n, in), (N, (N, true), n, in)}), CopyRest )}

Kiedy chcemy zaalokowa´c oprogramowanie w postaci instancji obiektu OBJ (ze zdefiniowanymi zbiorami ˙z ˛ adanych i oferowanych usług – odpowiednio reqeusted _services i offered _services) musimy go poł ˛ aczy´c ze wszystkimi jest mo- dułami po´srednicz ˛ acymi (ang. stub) do jednej z usług ˙z ˛ adanych przez alokowany obiekt, pod warunkiem, ˙ze s ˛ a one zaalokowane w w˛e´zle obliczeniowym NODE w za- danym w˛e´zle obliczeniowym (którego indeks jest podany w zmiennej NODE) powin- ni´smy zastosowa´c produkcj˛e P

2

.

am

M

Transformacja osadzenia dla tej produkcji jest nast˛epuj ˛ aca:

C

2

= {((s, out , v

L

), {(A, (N, true), s, out ), (M, (N, π

1

), −a, in)}), ((ai , out , v

L

),

{(A, (I, true), ai , out ), (M, (I, π

2)

, −c, in)}), CopyRest )},

gdzie:

– π

1

: NODE = name.

CN

,

– π

2

: service

CN

∈ requested _services

OBJ

∧ Allocated _in(CN ) = NODE .

(2)

Kontynuuj ˛ ac alokacj˛e obiektu, pami˛etamy pomocniczo jego indeks w zmiennej globalnej ALLOBJ i dla ka˙zdej z usług serv oferowanych przez alokowany obiekt (serv ∈ offered _services) wykonujemy produkcj˛e P

3

.

ae E

3

Transformacja osadzenia dla tej produkcji jest nast˛epuj ˛ aca:

C

3

= {((am, out , v

L

), {(A, (M, true), am, out ), (E, (M, π

3

), −b, in)}), CopyRest )}, gdzie π

3

: CN = AO.

Nast˛epnie dla wszystkich usług ˙z ˛ adanych albo istnieje ju˙z zaalokowany moduł po´srednicz ˛ acy do tej usługi w tym w˛e´zle obliczeniowym, i powi ˛ azanie wierzchołka M z I zostało wykonane w ramach produkcji P

2

albo musimy wykona´c produkcj˛e P

4

, która go wygeneruje.

ai I

4

Transformacja osadzenia dla tej produkcji jest nast˛epuj ˛ aca:

C

5

= {((ae, out , v

L

), {(A, (E, true), ae, out ), (I, (E, π

5

), −l, in)}), ((am, out , v

L

),

{(A, (M, true), am, out ), (I, (M, π

6

), c, in)}), CopyRest },

gdzie π

5

: service

2

= serv

CN

∧ π

6

: CN = AO.

Zwró´cmy uwag˛e, ˙ze wierzchołek reprezentuj ˛ acy alokowany obiekt AO nie wy-

st˛epuje po lewej ani po prawej stronie produkcji, ale poniewa˙z istnieje kraw˛ed´z

(etykietowana jako am) pomi˛edzy wierzchołkiem lewej strony produkcji i AO , to

mo˙zemy wygenerowa´c kraw˛ed´z pomi˛edzy AO i wierzchołkiem wstawianym jako

wierzchołek indeksowany liczb ˛ a 2 w grafie prawej strony produkcji (etykietowanym

etykiet ˛ a I).

(3)

1.2. Algebraiczne transformacje grafowe

Podej´scie algebraiczne bazuje na konstrukcji pushout, która to konstrukcja po- zwala formalnie zamodelowa´c sklejanie grafów w kontek´scie opisu w ramach teorii kategorii. W praktyce stosuje si˛e dwa główne podej´scia:

1) double pushout (skrót DPO) – wprowadzone przez Ehriga [20] i rozwijane w szczególno´sci przez zespoły zwi ˛ azane z uniwersytetami w Berlinie i Pizie, 2) single pushout (skrót SPO) – wprowadzone przez Löwe’a [19, 76] i rozwijane

równolegle do podej´scia DPO.

Z uwagi na fakt, ˙ze teoria kategorii operuje na zbiorach i funkcjach (morfizmach) pomi˛edzy nimi, kraw˛edzie definiowane wcze´sniej jako E ⊂ V × Γ × V b˛ed ˛ a w de- finicji grafu (def. 1.4) definiowane jako zbiór abstrakcyjnych bytów zwanych kraw˛e- dziami oraz funkcji s, , t.

Definicja 1.4. Grafem uogólnionym nad zbiorem etykiet wierzchołków Σ oraz kra- w˛edzi Γ nazywamy dziesi ˛ atk˛e H = (V, E, Σ, Γ, δ, λ, s, t, υ, ε), gdzie:

– V jest sko´nczonym, niepustym zbiorem wierzchołków grafu, – E jest zbiorem kraw˛edzi,

– Σ jest zbiorem etykiet wierzchołkowych, – Γ jest zbiorem etykiet kraw˛edziowych,

– δ : V −→ Σ jest funkcj ˛ a etykietowania wierzchołków, – λ : E −→ Γ jest funkcj ˛ a etykietowania kraw˛edzi,

– s : E −→ V wskazuje wierzchołek b˛ed ˛ acy punktem startowym kraw˛edzi (source),

– t : E −→ V wskazuje wierzchołek b˛ed ˛ acy punktem docelowym kraw˛edzi (target),

– ν : V −→ (NodeAtrib → NodeAtribValue) jest funkcj ˛ a atrybutuj ˛ ac ˛ a wierz- chołki,

– ε : E −→ (EdgeAtrib → EdgeAtribValue) jest funkcj ˛ a atrybutuj ˛ ac ˛ a kraw˛e- dzie.

Istnieje równowa˙zno´s´c pomi˛edzy obiema notacjami, gdy˙z dla e = (p, λ, q) (z def. 1.1) warto´sci funkcji s i t b˛ed ˛ a zdefiniowane nast˛epuj ˛ aco: s(e) = p, (e) = λ i t(e) = q.

Podstaw ˛ a formaln ˛ a do wprowadzenia algebraicznych transformacji grafowych

s ˛ a poj˛ecia morfizmu grafów i kategorii.

(4)

Definicja 1.5. Dla danych grafów G

1

i G

2

, zdefiniowanych jako (V

i

, E

i

, Σ, Γ, δ

i

, 

i

, s

i

, t

i

, υ

i

, ε

i

) dla i = 1, 2 morfizm f : G

1

−→ G

2

zdefiniowany jest jako trójka funkcji f = (f

V

: V

1

→ V

2

, f

E

: E

1

→ E

2

, f

R

) takich, ˙ze:

– f

V

i f

E

zachowuj ˛ a własno´sci funkcji s i t, czyli f

V

◦ s

1

= s

2

◦ f

E

oraz f

V

◦ t

1

= t

2

◦ f

E

;

– f

R

: (δ

1

, λ

1

, υ

1

, ε

1

) −→ (δ

2

, λ

2

, υ

2

, ε

2

) przypisuje odpowiednie mapowanie dla etykietowa´n i atrybutowa´n kraw˛edzi oraz wierzchołków, czyli F

R

(p, α, q, β) = (δ ◦ f

V

(p), λ ◦ f

E

(α), ν ◦ f

V

(q), ε ◦ f

E

(β)).

E 1

st11

V 1 E 2

st22

V 2

f

E

f

V

Morfizm f nazywamy ró˙znowarto´sciowym, je˙zeli odpowiednio funkcje f

E

i f

V

s ˛ a ró˙znowarto´sciowe, i izomorfizmem, je˙zeli funkcje f

E

i f

V

s ˛ a bijekcjami.

Definicja 1.6. Kategoria K = (Obj

K

, Mor

K

, ◦, id ) zdefiniowana jest nast˛epuj ˛ aco:

– Obj

K

jest zbiorem obiektów,

– dla ka˙zdej pary A, B ∈ Obj

K

Mor

K

(A, B) jest zbiorem morfizmów,

– dla ka˙zdej trójki A, B, C ∈ Obj

K

operacja zło˙zenia morfizmów ◦ jest te˙z mor- fizmem czyli ◦

(A,B,C)

: Mor

K

(B, C) × Mor

K

(A, B) −→ Mor

K

(A, C), – dla ka˙zdego A ∈ Obj

K

morfizm identyczno´sciowy id

A

∈ Mor

K

(A, A).

Ponadto obiekty spełniaj ˛ a nast˛epuj ˛ ace warunki:

– ł ˛ aczno´sci: dla A, B, C, D ∈ Obj

K

i f ∈ Mor

K

(A, B), g ∈ Mor

K

(B, C), h ∈ Mor

K

(C, G) prawdziwe jest (h ◦

(B,C,D)

g) ◦

(A,B,C)

f =h ◦

(B,C,D)

(g ◦

(A,B,C)

f ), – to˙zsamo´sci: dla A, B ∈ Obj

K

i f ∈ Mor

K

(A, B) prawdziwe s ˛ a wyra˙zenia

f ◦

(A,A,B)

id

A

= f i id

A

(A,B,B)

f = f .

Przyjmujemy te˙z nast˛epuj ˛ ace konwencje: f ∈ Mor

K

(A, B) oznaczamy jako f : A −→ B, obiekt A nazywamy dziedzin ˛ a morfizmu f , a obiekt B jego przeciw- dziedzin ˛ a oraz opuszczamy indeks w operacji kompozycji, gdy wybór kompozycji jednoznacznie wynika z kontekstu. Przykłady zastosowania teorii kategorii do opisu systemów grafowych mo˙zna znale´z´c w [18].

Do wprowadzenia transformacji grafowych potrzebujemy formalizmu, który po-

zwoli opisa´c sklejenie grafów, wykorzystuj ˛ ac wspólny podgraf.

(5)

Definicja 1.7. Dla zadanych morfizmów f : A −→ B i g : A −→ C w kategorii K pushoutem nad f i g nazwiemy trójk˛e (D, f

0

, g

0

), gdzie:

– D jest obiektem pushoutu,

– f

0

: C −→ D i g

0

: B −→ D s ˛ a morfizmami takimi ˙ze f

0

◦ g = g

0

◦ f oraz nast˛epuj ˛ acy warunek jest spełniony: dla dowolnego obiektu X ∈ Obj

K

i morfizmów h : B −→ X i k : C −→ X istnieje jedyny morfizm x : D −→ X, taki ˙ze x ◦ g

0

= h i x ◦ f

0

= k.

A B

C D

g'

X

g

f

f' h

k x

Dla zdefiniowanej konstrukcji pushoutu mo˙zna zbada´c takie wła´sciwo´sci jak jed- noznaczno´s´c, składanie i dekompozycja pushoutów. W [18] udowodniono ni˙zej po- dane twierdzenie.

Twierdzenie 1.1. Dla zadanej kategorii K prawdziwe s ˛ a nast˛epuj ˛ ace stwierdzenia:

– pushout D jest wyznaczony jednoznacznie przez izomorfizmy,

– składanie i dekompozycja pushoutów te˙z jest pushoutem, czyli dla zaprezento- wanego poni˙zej diagramu prawdziwe s ˛ a stwierdzenia:

• zło˙zenie pushoutów: je˙zeli (1) i (2) s ˛ a pushoutami, to (1) + (2) te˙z jest pushoutem.

• dekompozycja pushoutu: je˙zeli (1) i (1) + (2) s ˛ a pushoutami, to (2) te˙z jest pushoutem.

A B

C D

g g'

f

f'

E F

e'' e

e'

(1) (2)

(6)

Definicja 1.21. Hipergrafem bryły wypukłej S nazywa´c b˛edziemy etykietowany i atrybutowany hipergraf G

S

= (V, A ∪ H, Σ, Γ, δ, λ, ν, ε), gdzie:

– V jest sko´nczonym, niepustym zbiorem wierzchołków grafu reprezentuj ˛ acych płaszczyzny (´sciany bryły), którego wierzchołki s ˛ a jednoznacznie rozró˙znialne przez funkcj˛e indeksuj ˛ ac ˛ a I,

– E = A∪H jest zbiorem kraw˛edzi, gdzie dla e ∈ E funkcja s(e) zwraca sekwen- cj˛e wierzchołków, z których kraw˛ed´z wychodzi, a funkcja t(e) zwraca zbiór wierzchołków, do których kraw˛ed´z dochodzi; zbiory A i H maj ˛ a nast˛epuj ˛ ac ˛ a interpretacj˛e: A ⊂ V × V oraz H ⊂ S

i>2

V

i

(gdzie V

i

oznacza i-elementowy iloczyn kartezja´nski):

• ka˙zda hiperkraw˛ed´z e = {v

f1

, v

f2

} ∈ A reprezentuje dokładnie jedn ˛ a kra- w˛ed´z bryły S, wspóln ˛ a dla ´scian f

1

i f

2

,

• ka˙zda hiperkraw˛ed´z e = {v

f1

, v

f2

, . . . v

fk

} ∈ H (k > 2) reprezentuje do- kładnie jeden wierzchołek bryły S wspólny dla ´scian f

1

, f

2

, . . . f

k

.

Pozostałe elementy s ˛ a identyczne jak w definicji 1.3. Rodzin˛e hipergrafów brył wy- pukłych b˛edziemy oznacza´c jako H

conv

.

Rysunek 1.11 reprezentuje prostopadło´scian z dodatkowym elementem – oknem, a rysunek 1.12 przedstawia cz˛e´s´c jej grafowej reprezentacji – linie ci ˛ agłe ilustruj ˛ a kraw˛edzie e ∈ A, a linia przerywana kraw˛edzie nale˙z ˛ ace do e ∈ H.

Rysunek 1.11. Sze´scian reprezentuj ˛ acy budynek z oknem na ´scianie szczytowej i odpowia-

daj ˛ acy mu fragment hipergrafu

(7)

2. Rozproszone transformacje grafowe – teoria

Przedstawiony w poprzednim rozdziale aparat formalny transformacji grafo- wych znalazł zastosowanie w wielu dziedzinach, szczególnie tych, które zajmuj ˛ a si˛e budow ˛ a i weryfikacj ˛ a formalnego modelu systemu.

Przy praktycznym zastosowaniu tych formalizmów, w szczególno´sci w kon- tek´scie du˙zych wolumenów danych (czyli grafów liczonych w setkach tysi˛ecy w˛e- złów), pojawiaj ˛ a si˛e problemy z efektywno´sci ˛ a rozwi ˛ azania. Z drugiej jednak strony regularne, dobrze zdefiniowane struktury danych wprost zach˛ecaj ˛ a do ich analizy w sposób równoległy. Paradygmat przetwarzania rozproszonego zarówno umo˙zliwia kooperacj˛e podsystemów geograficznie rozproszonych, jak i podnosi efektywno´s´c i niezawodno´s´c takich systemów (je˙zeli ich dane i funkcjonalno´sci s ˛ a wła´sciwie zre- plikowane). Zauwa˙zmy, ˙ze z teoretycznego punktu wiedzenia (przy nieograniczonej liczbie procesorów i bez uwzgl˛ednienia narzutów komunikacyjnych) model oblicze´n równoległych pozwala na efektywne rozwi ˛ azanie problemów NP-zupełnych, o ile formalizm opisu problemu wspiera obliczenia równoległe. W szczególno´sci Kreow- ski i Kuske wykazali [73], ˙ze za pomoc ˛ a formalizmu „graph multiset transforma- tions” [74] mo˙zna rozwi ˛ aza´c NP-zupełny problem „Hamilton paths” w czasie wielo- mianowym (czyli N P

GraphTransf

= P

ParallelGraphTransf

). Niestety w chwili obecnej nie dysponujemy efektywn ˛ a implementacj ˛ a wspomagaj ˛ ac ˛ a formalizm „graph multi- set transformations” w czasie wielomianowym, ale powy˙zsze rezultaty teoretyczne powinny nas zach˛eci´c do rozwoju narz˛edzi wspomagaj ˛ acych przetwarzanie równole- głe, szczególnie w ´srodowisku rozproszonym.

Wprowadzenie współbie˙znego dost˛epu do współdzielonych struktur danych,

które mog ˛ a by´c dynamicznie modyfikowane, wprowadza nowe klasy bł˛edów zwa-

nych bł˛edami uwarunkowanymi czasowo oraz zakleszczeniami systemu. W kla-

sycznych rozwi ˛ azaniach systemów współbie˙znych wprowadza si˛e dodatkowe me-

chanizmy umo˙zliwiaj ˛ ace synchronizacj˛e, takie jak: semafory, monitory, mechanizm

rendez-vous z j˛ezyka Ada czy synchroniczn ˛ a wymian˛e komunikatów. Dokładniej te

problemy s ˛ a omówione w monografii Tanenbauma i Steena [95]. Nale˙zy zwróci´c

jednak uwag˛e, ˙ze poprawne wprowadzenie synchronizacji nie jest zadaniem łatwym,

(8)

ponadto wymaga dodatkowego wysiłku i jak ka˙zdy projekt programistyczny jest pro- cesem długotrwałym. Na koniec okazuje si˛e, ˙ze rozwi ˛ azania te s ˛ a dedykowane dla konkretnego rozwi ˛ azania i nawet niewielka modyfikacja mo˙ze wymaga´c przeprojek- towania całego systemu synchronizacji.

Celowe wydawałoby si˛e opracowanie mechanizmu niejawnej synchronizacji (ang. implicit synchronization), pozwalaj ˛ acego na wprowadzanie elementu synchro- nizacji do mechanizmu współpracy systemów rozproszonych, które byłyby uzale˙z- nione jedynie od typu gramatyki, a nie od konkretnych rozwi ˛ aza´n (czyli okre´slonych zbiorów produkcji). Wst˛epna koncepcja takiego rozwi ˛ azania została podana w [49].

Zakładamy podział scentralizowanego grafu G na podgrafy G

1

, ...G

k

w taki sposób, by mo˙zna było efektywnie sklei´c je w jeden scentralizowany graf. Grafy G

i

i = 1...k nazywa´c b˛edziemy cz˛e´sciowymi, gdy b˛edziemy chcieli pokaza´c ich autonomi˛e, lub komplementarnymi, gdy b˛edziemy chcieli podkre´sli´c aspekt ich współzale˙zno´sci.

Nad ka˙zdym z podgrafów cz˛e´sciowych G

i

opiek˛e przejmuje agent G

i

, któ- rego zadaniem b˛edzie dokonywanie lokalnych modyfikacji podgrafu oraz nawi ˛ aza- nie współpracy z innymi agentami w celu wykonania transformacji, która nie mo˙ze by´c wykonana lokalnie w taki sposób, by po sklejeniu grafów komplementarnych wynik był identyczny jak wynik wykonania pewnej sekwencji transformacji na gra- fie scentralizowanym. Koncepcja grafów komplementranych jest od kilku lat roz- wijana w ramach prowadzonej przez autora grupy badawczej GRADIS. Aparat for- malny dla takiego rozwi ˛ azania, nazwanego RCG (ang. Replicated Complementary Graps), w którym linia podziału pomi˛edzy grafami komplementarnymi przebiega przez wierzchołki, zostanie opisany w podrozdziale 2.1 (dotycz ˛ acym grafów) oraz podrozdziale 2.1.3 (dotycz ˛ acym transformacji grafowych). W obu przypadkach prze- analizowana zostanie zło˙zono´s´c obliczeniowa algorytmów wspomagaj ˛ acych powy˙z- sze koncepcje.

Niezale˙znie od stworzenia ram formalnych umo˙zliwiaj ˛ acych realizacj˛e rozpro-

szonych transformacji grafowych do efektywnej pracy systemu opartego na RCG wy-

magany jest efektywny podział pocz ˛ atkowy grafu scentralizowanego na grafy kom-

plementarne według zadanego kryterium podziału. Zadanie to nale˙zy do NP-trudnych

obliczeniowo, musimy wi˛ec przeanalizowa´c mo˙zliwo´s´c wykorzystania algorytmów

heurystycznych, których analizie po´swi˛econy jest podrozdział 2.2. Uzupełnieniem

tych rozwa˙za´n b˛edzie zasygnalizowanie rozwijanej ostatnio (w ramach grupy GRA-

DIS) przez S˛edziwego [85] koncepcji tzw. Slashed Graph opartej na podziale grafów

przez rozcinanie kraw˛edzi. Na zako´nczenie rozdziału omówiona b˛edzie koncepcja

współpracy ró˙znych typów gramatyk grafowych na bazie sprz˛e˙zenia (wymuszenia

równoległego wykonania) transformacji grafowych w ró˙znych gramatykach opisuj ˛ a-

cych poszczególne aspekty tego samego problemu (patrz podrozdz. 2.4).

(9)

(a) Przykład rzutu 2D mieszkania

(b) Hipergraf reprezentuj ˛ acy mieszkanie z rysunku 3.13a

Rysunek 3.13. Graficzna i hipergrafowa reprezentacja układu mieszkania

(10)

Do opisania geometrii brył reprezentuj ˛ acych przestrze´n miejsk ˛ a stosuje si˛e dwa układy współrz˛ednych. Pierwszy z nich, globalny, mo˙ze by´c dowolnym geodezyj- nym układem odniesienia (WGS84, UTM), o którym mo˙zna zało˙zy´c, ˙ze jest liniowy w modelowanym obszarze. Drugi układ, lokalny, definiuje si˛e poprzez powi ˛ azanie z okre´slonym punktem bryły S pocz ˛ atku tego układu, O

S

, oraz poprzez okre´slenie wektorów bazowych {e

i

} (np. baza ortonormalna).

W celu łatwego przechodzenia mi˛edzy obydwoma układami współrz˛ednych z ka˙zdym w˛ezłem i hiperkraw˛edzi ˛ a hipergrafu ˆ G(S), oprócz atrybutu okre´slaj ˛ acego lokalne współrz˛edne, wi ˛ a˙zemy dwa atrybuty (niezmiennicze w ramach ˆ G(S)): Lo- calOrigin okre´slaj ˛ acy globalne współrz˛edne punktu O

S

oraz LocalBase zawieraj ˛ acy definicj˛e bazy {e

i

}.

Równie˙z w przypadku hipergrafu reprezentacji wewn˛etrznej wprowadzamy dwa układy współrz˛ednych. Pierwszy z nich jest lokalnym układem współrz˛ednych, okre-

´slonym powy˙zej (LocalOrigin), natomiast drugi jest sublokalnym układem odniesie- nia, skojarzonym z kondygnacj ˛ a budynku, którego pocz ˛ atek, wyra˙zony we współ- rz˛ednych lokalnych, przechowywany jest w atrybucie StoreyOrigin. Dla zapew- nienia komunikacji mi˛edzy oboma systemami transformacyjnymi, oprócz lokalnego układu współrz˛ednych (LocalOrigin), współdzielone s ˛ a równie˙z atrybuty: Entity- Type, którego warto´sciami mog ˛ a by´c okno, drzwi itp., oraz EntityProperties zawie- raj ˛ acy zbiór własno´sci specyficznych dla obiektu (w tym współrz˛edne).

Hipergrafy reprezentuj ˛ ace projektowane obiekty mog ˛ a by´c generowane w wy- wodach gramatyk hipergrafowych. Gramatyka hipergrafowa zło˙zona jest ze zbioru hiperkraw˛edzi o terminalnych i nieterminalnych etykietach, zbioru wierzchołków, zbioru produkcji oraz hipergrafu startowego.

Definicja 3.1. Niech H b˛edzie rodzin ˛a instancji etykietowanych, atrybutowanych ˆ hipergrafów. Produkcj ˛ a gramatyki hipergrafowej nazywamy czwórk˛e postaci p = (l, r, π, eval), gdzie:

– l jest etykietowanym hipergrafem lewej strony produkcji, – r jest etykietowanym hipergrafem prawej strony produkcji,

– π : H → {TRUE, FALSE}, jest predykatem okre´slaj ˛acym (na podstawie ˆ danych projektowych) mo˙zliwo´s´c zastosowania produkcji p,

– eval jest funkcj ˛ a wyliczaj ˛ ac ˛ a warto´sci atrybutów hipergrafu r na podstawie war- to´sci atrybutów podgrafu, do którego dopasowano hipergraf l.

Produkcja p b˛edzie oznaczona p : l −−→

π

eval

r lub w formie uproszczonej p : l −→ r.

Zastosowanie produkcji p : l −→ r do zadanego hipergrafu G (np. pokazanego na rysunku 3.13b) składa si˛e z dwóch kroków:

1) wyszukiwany jest podgraf L ⊆ G, izomorficzny z l, usuwany z G i zast˛epowany

przez hipergraf r,

(11)

Rysunek 3.20. Przykład stacji benzynowej: segmenty definiuj ˛ ace zamkni˛ete przestrze- nie (S

1

. . . S

9

), lampy (L

1

. . . L

10

) i sensory (wykrywaj ˛ ace obecno´s´c: P

1

. . . P

6

lub koniec tankowania: D

1

. . . D

8

).

Nast˛epnym etapem projektowania jest okre´slenie formalnej reprezentacji rozwa-

˙zanej przestrzeni architektonicznej (zob. rys. 3.20), tj. reprezentacji grafowej. Propo- nowany model formalny pozwala na wydajne przeprowadzanie oblicze´n, szczególnie dla problemów du˙zej skali [63].

Przykładowa przestrze´n architektoniczna, stacja benzynowa, przedstawiona jest na rysunku 3.20. Wszystkie elementy składowe rozpatrywane s ˛ a jako bryły (dys- trybutory, podpory, zadaszenie, kasy, podło˙ze) albo bezwymiarowe punkty (punkty

´swietlne, czujniki). Bryła mo˙ze by´c zło˙zona, tj. składa´c si˛e z elementów b˛ed ˛ acych bryłami prostymi (wielo´scianami). Reprezentowana jest ona za pomoc ˛ a hipergrafu (zob. [86]), natomiast bezwymiarowe punkty s ˛ a dodatkowymi wierzchołkami.

Najistostniejsz ˛ a cech ˛ a modelu hipergrafowego jest umo˙zliwienie wykonywania fotometrycznych oblicze´n dwu- i trójwymiarowych. Rezultaty oblicze´n mog ˛ a by´c zintegrowane z modelem w postaci atrybutów w˛ezłów lub kraw˛edzi. Zatem s ˛ a do- st˛epne za jego po´srednictwem.

Rysunek 3.21 przedstawia prost ˛ a przestrze´n architektoniczn ˛ a zawieraj ˛ ac ˛ a dys- trybutor, fragment podło˙za oraz zadaszenie wraz z podporami. Wszystkie rozwa˙zane obiekty przyjmuj ˛ a formy prostopadło´scienne. Dodatkowo istniej ˛ a dwa punkty o´swie- tleniowe oraz czujnik. Model grafowy przedstawiony jest na rysunku 3.22. Dla po- lepszenia czytelno´sci hipergrafy reprezentuj ˛ ace poszczególne bryły s ˛ a zwini˛ete i po- kazane w formie sze´sciok ˛ atnych w˛ezłów.

Aby osi ˛ agn ˛ a´c cele procesu projektowania (odpowiednie nat˛e˙zenie ´swiatła przy

minimalnym zu˙zyciu energii), nale˙zy rozwi ˛ aza´c problem optymalizacyjny, u˙zywaj ˛ ac

przestrzeni obliczeniowej udost˛epnianej przez formalny model grafowy.

Cytaty

Powiązane dokumenty

Miałem wtedy również kontakty w ruchu ludowym, dlatego również rozstrzygnięcia późniejsze, już po wyborach czerwcowych, nie stały się dla mnie zupełnym zaskoczeniem.. - Jak

„Wyrażam zgodę na przetwarzanie danych osobowych zawartych w ofercie pracy dla potrzeb niezbędnych do realizacji procesu rekrutacji zgodnie z Ustawą z dnia 29.. o ochronie

KLASYFIKACJA GRUNTÓW EŁK KLASYFIKACJA GRUNTÓW EŁK KLASYFIKACJA GRUNTÓW EŁK KLASYFIKACJA GRU 4 W ramach prac terenowych prowadzono badania makroskopowe gruntów na podstawie,

W tym kon- tekście warto poruszyć temat dystrybucji filmów w modelu PVOD, który mocno się zmienił przez ostatnie kilka miesięcy.. Premium Video On Demand (PVOD)

Różnorodne możliwości sposobu montażu: w systemowych sufitach podwieszanych lub przez zawieszenie przy wykorzystaniu opcjonalnych zestawów linek z regulacją długośći lub na

Uniwersy- tetu Śląskiego 2021 [plik tekstowy PDF: 4,35 MB], seria „Prace Naukowe Uniwersytetu Śląskiego w Katowicach”, nr 4044.. Kisiel

4 Department of Human Molecular Genetics, Institute of Biotechnology and Molecular Biology, Faculty of Biology, Adam Mickiewicz University, 89 Umultowska, 61-614,

10 000 turystów odwiedzających park w Borżomi w ciągu dwóch lat działań - w tym 5000 Polaków, 150 000 turystów odwiedzających pozostałe uczestniczące w projekcie parki - w