Informatyka – Zeszyt 3
Leon Bobrowski1,2, Tomasz Łukaszuk1
SZEREGOWANIE ZADA ´N OBLICZENIOWYCH Z ZASTOSOWANIEM MODELU RANGOWEGO
Streszczenie: Zagadnienia szeregowania zada´n pojawiaja si, e mi, edzy innymi w kontek´scie, problem´ow realizowalno´sci du˙zych proces´ow obliczeniowych i ich optymalizacji. Przy roz- strzyganiu tego typu problem´ow mo˙zna wykorzystywa´c metody regresji rangowej. Do cel´ow konstrukcji modeli regresji rangowej poszczeg´olne zadania obliczeniowe charakteryzowane sa poprzez wielowymiarowe wektory zale˙zno´sci. Wektory zale˙zno´sci pozwalaj, a stwierdzi´c, czy okre´slone zadanie mo˙ze by´c zrealizowane tylko wtedy, gdy zostana wcze´sniej zreali-, zowane pewne inne zadania. Regresja rangowa obejmuje konstrukcje takich odwzorowa´n, liniowych z wielowymiarowej przestrzeni zale˙zno´sci na przestrze´n jednowymiarowa (lini, e, czasu), kt´ora odzwierciedla w mo˙zliwie du˙zym stopniu zale˙zno´sci pomiedzy zadaniami.,
Słowa kluczowe: szeregowanie zada´n obliczeniowych, model rangowy, wypukła i odcinkowo-liniowa funkcja kryterialna (CPL)
1. Wstep,
Realizacje du˙zych zada´n obliczeniowych wi, a˙ze si, e na og´oł z d, a˙zeniem do mak-, symalnego skracania czasu oblicze´n przy spełnieniu wszystkich warunk´ow ograni- czajacych [4], [7], [6]. Dla skr´ocenia czasu oblicze´n, procesy obliczeniowe dekom-, ponuje sie na podzadania O, j, kt´ore nastepnie realizuje si, e szeregowo poprzez jeden, procesor lub w spos´ob r´ownoległy przy o wiekszej liczbie procesor´ow. Modele sze-, regowania zada´n pomocne sa zar´owno przy weryfikacji warunk´ow realizowalno´sci, zdekomponowanych program´ow, jak r´ownie˙z przy skracaniu czasu oblicze´n poprzez odpowiednie rozdzielanie zada´n na poszczeg´olne procesory. W przedstawionym ar- tykule analizowana jest metoda badania niesprzeczno´sci, szeregowania oraz optyma- lizacji zada´n obliczeniowych Oj, oparta na koncepcjach regresji rangowej [2].
Modele regresji rangowej maja posta´c takich odwzorowa´n liniowych z wielo-, wymiarowej przestrzeni cech na linie prost, a, kt´ore w mo˙zliwie du˙zym stopniu za-, chowuja zadany porz, adek w wybranych parach zdarze´n lub obiekt´ow [2]. Porz, adek,
1Wydział Informatyki, Politechnika Białostocka, Białystok
2Instytut Biocybernetyki i In˙zynierii Biomedycznej, PAN, Warszawa
realizacji dwu zada´n Oj i Ok oznacza, ˙ze do realizacji zadania Ok potrzebna jest znajomo´s´c pewnych wynik´ow realizacji zadania Oj. W rezultacie wcze´sniejsza re- alizacja zadania Oj jest warunkiem koniecznym realizacji zadania Ok. Wymagany porzadek realizacji zada´n obliczeniowych mo˙zna reprezentowa´c w postaci wielowy-, miarowych wektor´ow zale˙zno´sci. Wektor zale˙zno´sci zadania Ok identyfikuje takie zadania Oj ( j 6= k), kt´orych wcze´sniejsza realizacja jest warunkiem koniecznym re- alizacji zadania Ok [1].
Konstrukcja rangowych odwzorowa´n liniowych została oparta na wyznacza- niu hiperłaszczyzny mo˙zliwie najlepiej rozdzielajacej dwa zbiory w przestrzeni, zale˙zno´sci. Wyznaczanie hiperłaszczyzny rozdzielajacej mo˙zna oprze´c na mini-, malizacji wypukłej i odcinkowo liniowej (CPL) funkcji kryterialnej [2]. Funkcja kryterialna definiowana jest w tym przypadku na podstawie wektor´ow zale˙zno´sci charakteryzujacych poszczeg´olne zadania obliczeniowe O, k. Algorytmy wymiany rozwiaza´n bazowych, podobne do programowania liniowego, pozwalaj, a wyznacza´c, minimum funkcji typu CPL w spos´ob efektywny nawet w przypadku du˙zej liczby wektor´ow zale˙zno´sci.
2. Charakterystyka zada ´n obliczeniowych przez wektory zale˙zno´sci Zał´o˙zmy, ˙ze realizowany proces obliczeniowy został podzielony (zdekomponowany) na m zada´n Ok (k = 1, ..., m). Ka˙zde z zada´n Ok zostało scharakteryzowane przez czas realizacji τk oraz przez wektor zale˙zno´sci ρk= [ρk1, ..., ρkm]T o m składowych binarnych ρk j (ρk j= 1 lub ρk j= 0). Warto´s´c ρk j= 1 oznacza, ˙ze k-te zadanie Ok
mo˙ze by´c realizowane tylko wtedy, gdy wcze´sniej bedzie zrealizowane zadanie O, j. Warto´s´c ρk j= 0 oznacza, ˙ze k-te zadanie Ok mo˙ze by´c realizowane niezale˙znie od stanu realizacji zadania Oj. Zakładamy przy tym, ˙ze zadania Ok i Oj nie moga blo-, kowa´c sie wzajemnie, tj.:,
(∀k, j ∈ {1, ..., m}) ρkk= 0 oraz (ρk j= 1) ⇒ (ρjk= 0) (1) Na podstawie wektor´ow zale˙zno´sci ρkwprowadzimy rangowa relacj, e poprze-, dzania Oj≺ Okpomiedzy zadaniami O, ji Ok, kt´ora oznacza, ˙ze zadanie Ojpoprzedza Ok:
(Oj≺ Ok) ⇔ (ρk j= 1) (2)
Przyjmujemy, ˙ze zar´owno podział procesu obliczeniowego na zadania Ok jak r´ownie˙z charakterystyka tych zada´n za pomoca wektor´ow zale˙zno´sci ρ, k oraz czas´ow
oblicze´n τk wynikaja z wiedzy ekspert´ow o realizowanym procesie. Np. w hierar-, chicznej strukturze warstwowej realizacja ka˙zdego zadania Ok(l) w l-tej warstwie jest mo˙zliwa tylko wtedy, gdy wszystkie zadania Ok(l−1) w warstwie wcze´sniejszej zastana zrealizowane. Przy realizacji zło˙zonych proces´ow obliczeniowych liczba m, zada´n Ok mo˙ze by´c bardzo du˙za. W takich okoliczno´sciach pojawia sie zagro˙zenie,,
˙ze proponowany przez ekspert´ow podział procesu na zadania Ok, scharakteryzowane za pomoca wektor´ow zale˙zno´sci ρ, k oraz czas´ow oblicze´n τk, spowoduje pojawie- nie sie trudno´sci w realizacji procesu obliczeniowego. Realizacja procesu mo˙ze by´c, niemo˙zliwa z powodu pojawienia sie ci, agu zale˙zno´sci sprzecznych, wzajemnie blo-, kujacych si, e. Blokowanie si, e procesu obliczeniowego mo˙ze nast, api´c na przykład, w´owczas, gdy zadanie Okodwołuje sie do zadania O, l, a zadanie Ol odwołuje sie do, zadania Om, kt´ore mo˙ze by´c zrealizowane po wykonaniu zadania Ok. W tym przy- padku podzbi´or rangowych relacji poprzedzania (2) ma poni˙zsza posta´c:,
{(Ol ≺ Ok), (Om≺ Ol), (Ok≺ Om)} (3) Relacja ≺ jest przechodnia (ang. transient relation) wtedy i tylko wtedy, gdy dla dowolnych Ok, Ol, Omspełniona jest poni˙zsza implikacja:
jezeli (Ol≺ Ok) oraz (Ok≺ Om), to (Om≺ Ol) (4) Zauwa˙zmy, ˙ze pary ze zbioru (3) nie tworza relacji przechodniej. Reprezentacja, zbioru (3) za pomoca grafu skierowanego z wierzchołkami utworzonymi przez za-, dania Ok pozwala uwypukli´c istnienie petli, kt´ora jest ´zr´odłem braku przechodnio´sci, i zablokowania sie procesu.,
Blokujace si, e ła´ncuchy zale˙zno´sci mog, a mie´c oczywi´scie długo´s´c wi, eksz, a ni˙z, trzy. Łatwo weryfikowalne warunki (1) zabezpieczaja przed blokowaniem si, e wza-, jemnym w parach zada´n. Weryfikacja zagro˙zenia sprzeczno´sciami i blokowaniem sie, w długich sekwencjach zadania Ok wymaga wprowadzenia innych sposob´ow ana- lizy. Istnieje mo˙zliwo´s´c wykorzystania do tego celu regresji rangowej [2]. Innym problemem, kt´ory mo˙ze by´c r´ownie˙z analizowany za pomoca regresji rangowej jest, rozpatrywanie mo˙zliwo´sci skr´ocenia czasu realizacji procesu obliczeniowego, po- przez r´ownoległa realizacj, e pewnych zada´n O, k. Model regresji rangowej pozwala w pewnych przypadkach wskaza´c takie zadania Ok, kt´orych r´ownoległa realizacja skr´oci czas przebiegu procesu.
3. Liniowe odwzorowania rangowe
Rozwa˙zmy liniowe odwzorowanie t(w) = wTρ, gdzie w = [w1, ..., wm]T (w ∈ Rm) jest wektorem parametr´ow, a ρ = [ρ1, ..., ρm] macierza utworzon, a z m-wymiarowych,
wektor´ow zale˙zno´sci ρk(1). Prosta t(w) = wTρ mo˙ze reprezentowa´c kolejno´s´c roz- poczecia realizacji t, kposzczeg´olnych zada´n Ok:
(∀k ∈ {1, ..., m}) tk= wTρk (5) Projektujac rangowy model zale˙zno´sci poszukujemy takiego optymalnego wek-, tora parametr´ow w∗, dla kt´orego odwzorowanie liniowe t(w) = wTρ w najlepszym stopniu zachowuje poni˙zsze implikacje rangowe:
Oj≺ Ok⇒ (w∗)Tρj< (w∗)Tρk oraz
Ok≺ Oj⇒ (w∗)Tρj> (w∗)Tρk, gdzie j< k (6) Metode poszukiwania optymalnego wektora parametr´ow w, ∗ (6) mo˙zna oprze´c na badaniu liniowej rozdzielno´sci za pomoca hiperpłaszczyzny przechodz, acej przez, poczatek układu wsp´ołrz, ednych przestrzeni cech poni˙zszych dwu zbior´ow wektor´ow, r´o˙znicowychrjk= ρk− ρj, gdzie j < k:
R+= {rjk= ρk− ρj: Oj≺ Ok}
R−= {rjk= ρk− ρj: Ok≺ Oj} (7) Definicja 1. Zbiory R+ i R− sa liniowo separowalne za pomoc, a hiperpłaszczyzny, przechodzacej przez pocz, atek układu wsp´ołrz, ednych wtedy i tylko wtedy, gdy istnieje, taki wektor parametr´oww0, ˙ze zachodza poni˙zsze nier´owno´sci:,
(∀rjk∈ R+) w0rjk> 0
oraz(∀rjk∈ R−) w0rjk< 0 (8) Wektor parametr´ow w0wyznacza hiperpłaszczyzne H(w, 0) w przestrzeni cech (prze- strzeni zale˙zno´sci) przechodzac, a przez pocz, atek układu wsp´ołrz, ednych tej prze-, strzeni:
H(w0) = {x : w0x = 0, x ∈ Rm} (9) O hiperpłaszczyznie H(w0) m´owimy, ˙ze separuje zbiory R+i R− (7). Wszystkie ele- menty rjkzbioru R+ le˙za po dodatniej stronie hiperpłaszczyzny H(w, 0), a wszystkie elementy rjkzbioru R−le˙za po jej stronie ujemnej.,
Mo˙zna wykaza´c słuszno´s´c poni˙zszego Lematu [2]:
Lemat 1. Odwzorowanie liniowe t = t(w0) = (w0)Tρ zachowuje wszystkie implikacje (6), wtedy i tylko wtedy, gdy hiperpłaszczyzna H(w0) (9) wyznaczona przez wektor w0 separuje zbiory R+ i R−(7).
4. Wypukła i odcinkowo liniowa (CPL) funkcja kryterialna Φ(w) Projektowanie hiperpłaszczyzny H(w∗) (9) optymalnie rozdzielajacej zbi´or do-, datni R+ od zbioru ujemnego R− (7) mo˙ze by´c oparte na minimalizacji wypukłej i odcinkowo-liniowej (CPL) funkcji kryterialnej Φ(w), kt´ora jest podobna do per- ceptronowej funkcji kryterialnej [6]. Wprowad´zmy w tym celu pozytywne funkcje kary ϕ+jk(w) okre´slone na elementach rjk zbioru R+ oraz negatywne funkcje kary ϕ−jk(w) okre´slone na elementach rjkzbioru R−(7):
(∀rjk∈ R+) ϕ+jk(w) = 1 − wTrjk jezeli wTrjk≤ 1
0 jezeli wTrjk> 1 (10) oraz
(∀rjk∈ R−) ϕ−jk(w) = 1 + wTrjk jezeli wTrjk≥ −1
0 jezeli wTrjk< −1 (11) Funkcja kryterialna Φ(w) jest dodatnio wa˙zona sum, a funkcji kary ϕ, +jk(w) i ϕ−jk(w), zdefiniowana nast, epuj, aco:,
Φ(w) = ∑
( j,k)∈J+
γjkϕ+jk(w) + ∑
( j,k)∈J−
γjkϕ−jk(w) (12) gdzie γjk jest dodatnim parametrem (cena) zwi, azanym z wektorem r´o˙znicowym, rjk= ρk− ρj, J+ jest zbiorem par indeks´ow ( j, k) wektor´ow ze zbioru dodatniego R+(( j, k) ∈ J+⇔ rjk∈ R+), J−jest zbiorem par indeks´ow ( j, k) wektor´ow ze zbioru ujemnego R− (( j, k) ∈ J−⇔ rjk∈ R−) (7).
Perceptronowa funkcja kryterialna u˙zywana w teorii sieci neuropodobnych i roz- poznawania obraz´ow ma posta´c podobna do Φ(w) (12) [2]. Funkcja kryterialna Φ(w), (12) jest funkcja wypukł, a i odcinkowo-liniow, a (ang. convex and piecewise linear -, CPL) jako suma tego typu funkcji kary ϕ+jk(w) (10) i ϕ+jk(w) (11). Algorytmy wy- miany rozwiaza´n bazowych, zbli˙zone do algorytm´ow programowania liniowego, po-, zwalaja znale´z´c minimum funkcji Φ(w) w spos´ob efektywny nawet w przypadku, du˙zych, wielowymiarowych zbior´ow R+ i R−(7) [3]:
Φ∗= Φ(w∗) = min
w Φ(w) ≥ 0 (13)
Optymalny wektor parametr´ow w∗ oraz warto´s´c minimalna Φ(w)∗ funkcji kryterialnej Φ(w) (12) moga by´c stosowane w rozwi, azywaniu wielu problem´ow eks-, ploracyjnej analizy danych. W szczeg´olno´sci wektor w∗ pozwala wyznaczy´c opty- malne odwzorowanie rangowe t = t(w∗) = (w∗)Tρ zachowujace wszystkie implika-, cje rangowe (6) lub ich wiekszo´s´c. Mo˙zna wykaza´c słuszno´s´c poni˙zszego Lematu, [2]:
Lemat 2. Warto´s´c minimalna (13) funkcji kryterialnej (12) jest r´owna zeru, Φ∗= 0 wtedy i tylko wtedy, gdy istnieje taki wektor parametr´oww0, ˙ze wszystkie implikacje rangowe (6) zachowane sa przez odwzorowanie liniowe t, = t(w0) = (w0)Tρ (5).
Mo˙zna zauwa˙zy´c te˙z, ˙ze Φ(w∗) = 0 wtedy i tylko wtedy, gdy istnieje taka hi- perpłaszczyzna H(w0) (9), kt´ora w pelni separuje zbi´or dodatni R+ od zbioru ujem- nego R−(7). Je˙zeli hiperpłaszczyzna H(w∗) (9) wyznaczona przez wektor optymalny w∗ (13) nie separuje zbior´ow R+ i R−, to zbiory te nie sa saparowalne przez ˙zadn, a, inna hiperpłaszczyzn, e H(w) (9). Warto´s´c minimalna Φ(w, ∗) (13) jest wtedy wieksza, od zera (Φ(w∗) > 0).
5. Wybrane problemy szeregowania zada ´n obliczeniowych
Wiele problem´ow szeregowania zada´n obliczeniowych Ojmo˙ze by´c analizowanych z wykorzystaniem zbioru wektor´ow zale˙zno´sci ρj(1). Zał´o˙zmy, ˙ze realizowany proces obliczeniowy podzielono (zdekomponowano) na m zada´n Oj scharakteryzowanych przez wektory zale˙zno´sci ρj (1) oraz czasy oblicze´n τj:
C0= {Oj}, gdzie j= 1, ..., m (14) Jednym z podstawowych pyta´n jest to, czy zbi´or C0 zada´n obliczeniowych repre- zentowanych przez wektory zale˙zno´sci jest niesprzeczny i mo˙ze by´c zrealizowany w spos´ob sekwencyjny? Innymi słowy, czy dany proces obliczeniowy mo˙ze zosta´c zrealizowany jako pewna sekwencja zada´n Oj (dla j = 1, ..., m)?
Szukajac odpowiedzi na to pytanie, posłu˙zymy si, e konstrukcj, a tzw. warstw funk-, cjonalnych. Zerowa warstwa funkcjonalna F0jest utworzona przez m0 takich zada´n obliczeniowych Ok ze zbioru C0(14), kt´ore nie zale˙za od ˙zadnych innych zada´n O, j, tj.:
F0= {Ok: ρk= [0, ..., 0]T} (15) Zakładamy tu, ˙ze m0> 0.
W celu tworzenia kolejnych warstw funkcjonalnych Fn(n > 0) zbi´or C0(14) zo- staje zredukowany do zbioru C1poprzez pominiecie takich m, 0zada´n, kt´ore wchodza, do zerowej warstwy funkcjonalnej F0(15):
C1= C0/F0 (16)
Redukcja zbioru C0do zbioru C1oznacza te˙z redukcje tych składowych ρ, k jw wekto- rach zale˙zno´sci ρk(1), kt´ore odpowiadaja pomijanym zadaniom O, j(Oj∈ F0). Je˙zeli zbi´or F0zawiera m0 zada´n, to zbi´or C1 zawiera m − m0zada´n scharakteryzowanych
wektorami zale˙zno´sci ρ[m − m0] o wymiarze m − m0. Je˙zeli m − m0> 0, to pierwsza warstwa funkcjonalna F1zostaje utworzona przez takich m1(m1> 0) zada´n oblicze- niowych Ok ze zbioru C1 (16), kt´ore nie zale˙za od innych zada´n O, j z tego zbioru, tj.:
F1= {Ok: Ok∈ C1, oraz ρk[m − m0] = [0, ..., 0]T} (17) W kolejnym etapie zbi´or C1 (16) zostaje zredukowany do zbioru C2 poprzez po- miniecie takich m, 1 zada´n Ok, kt´ore wchodza do pierwszej warstwy funkcjonalnej, F1(17):
C2= C1/F1 (18)
Podobnie jak poprzednio, redukcji zbioru C1 zada´n Oj (18) do zbioru C2 to- warzyszy redukcja składowych ρk jodpowiadajacych pomijanym zadaniom oraz po-, wstanie zredukowanych wektor´ow zale˙zno´sci ρk[m − m0− m1] o wymiarze m − m0− m1. Je˙zeli m − m0− m1> 0, to podjeta zostaje pr´oba utworzenia drugiej warstwy, funkcjonalnej F2 w spos´ob podobny do tworzenia warstwy F1. W podobny spos´ob tworzone sa nast, epne warstwy funkcjonalne F, n (n > 2) a˙z do osiagni, ecia etapu,, w kt´orym kolejna warstwa funkcjonalna nie mo˙ze by´c utworzona.
Dwie przyczyny moga spowodowa´c, ˙ze kolejna warstwa funkcjonalna F, n nie mo˙ze by´c utworzona. Po pierwsze, warstwa funkcjonalna Fnnie mo˙ze by´c utworzona w sytuacji, gdy zbi´or Cntypu (18) jest zbiorem pustym (Cn= φ), poniewa˙z wszystkie zadania obliczeniowe Okzostały ju˙z zredukowane we wcze´sniejszych warstwach Fn0
(n0< n). W tym przypadku mamy r´owno´s´c:
m− m0− ... − mn−1= 0 (19)
Jest to naturalne zako´nczenie procesu tworzenia n − 1 warstw funkcjonalnych Fi(i = 1, ..., n − 1).
Drugim powodem uniemo˙zliwiajacym utworzenie warstwy funkcjonalnej F, n
mo˙ze by´c brak takiego zadania Ok w niepustym zbiorze Cn = Cn−1/Fn−1 (18), dla kt´orego zredukowany wektor zale˙zno´sci ρk[m − m0− ... − mn−1] jest r´owny wek- torowi zerowemu [0, ..., 0]T:
(∀k ∈ In) ρk[m − m0− ... − mn−1] 6= [0, ..., 0]T (20) gdzie k ∈ In⇔ Ok∈ Cn.
Warunek stopu (20) oznacza, ˙ze wszystkie zadania Ok nale˙zace do zredukowa-, nego zbioru Cn sa ze sob, a powi, azane. Powstaje p, etla, kt´ora uniemo˙zliwia wydzie-, lenie zadania odpowiedniego do realizacji. Nie mo˙zna zrealizowa´c ˙zadnego zada- nia Ok ze zbioru Cn, poniewa˙z realizacja ka˙zdego z tych zada´n wymaga znajomo´sci
wynik´ow pewnego innego zadania z tego zbioru. Podobny problem mo˙ze sie po-, jawi´c ju˙z w momencie tworzenia zerowej warstwy funkcjonalnej F0 (15). Warunek uniemo˙zliwiajacy utworzenie warstwy F, 0ma posta´c:
(∀Ok∈ C0) ρk[m] 6= [0, ..., 0]T (21) Warunki typu (20) lub (21) oznaczaja pojawienie si, e p, etli w grafie zale˙zno´sci., Pojawienie sie p, etli w zbiorze C, n (18) oznacza, ˙ze zbi´or zada´n Ok z tego zbioru, reprezentowanych za pomoca zredukowanych wektor´ow zale˙zno´sci ρ, k[m − m0− ... − mn−1], jest sprzeczny i nie mo˙ze by´c zrealizowany. Realizacja ka˙zdego zadania Ok
tworzacego p, etl, e jest niemo˙zliwa, poniewa˙z wymaga znajomo´sci wynik´ow pewnego, innego zadania Oj ze zbioru Cn.
Algorytm 1 Algorytm pozwalajacy stwierdzi´c sprzeczno´s´c lub niesprzeczno´s´c, zbioru zada´n obliczenowych
1: C0:= {0j} j = 1, ..., m 2: I0:= { j} j = 1, ..., m 3: n := 0
4: if Cn= φ then
5: KONIEC: zbi´or zada´n jest niesprzeczny 6: end if
7: if (∀k ∈ In) ρk6= [0, ..., 0]Tthen 8: KONIEC: zbi´or zada´n jest sprzeczny 9: end if
10: Fn:= {Ok: Ok∈ Cnoraz ρk= [0, ..., 0]T 11: Cn+1:= Cn/Fn
12: In+1:= In/{k : Ok∈ Fn}
13: zredukuj składowe ρk jw wektorach zale˙zno´sci ρk(Ok∈ Cn+1) odpowiadajace pomijanym zada-, niom Oj(Oj∈ Fn)
14: n := n + 1 15: GOTO 4
Zauwa˙zmy, ˙ze przynale˙zno´s´c zada´n Oj i Ok do tej samej warstwy funkcjonal- nej Fn wyklucza istnienie zale˙zno´sci Oj ≺ Ok (2) lub Ok≺ Oj pomiedzy tymi za-, daniami. R´ownoległa realizacja zada´n obliczeniowych nale˙zacych O, j do tej samej warstwy funkcjonalnej Fndaje mo˙zliwo´s´c skr´ocenia czasu realizacji całego procesu obliczeniowego.
Lemat 3. Je˙zeli zadania Oj i Ok nale˙za do tej samej warstwy funkcjonalnej F, n, to nie mo˙ze istnie´c zale˙zno´s´c Oj≺ Ok (2) pomiedzy tymi zadaniami.,
Słuszno´s´c lematu 3 wynika bezpo´srednio z opisanej powy˙zej konstrukcji warstw funkcjonalnych Fn, gdzie ka˙zde zadanie Ok danej warstwy jest scharakteryzowane zredukowanym wektorem zale˙zno´sci ρk o warto´sci zerowej (ρk= [0, ..., 0]T. Podob- nie mo˙zna uzasadni´c poni˙zsza własno´s´c:,
(∀Ok0∈ Fn0) (∀Ok∈ Fn) (Ok0 ≺ Ok⇒ n0< n) (22) Zgodnie z powy˙zsza własno´sci, a, istnienie zale˙zno´sci O, k0 ≺ Ok w strukturze warstw funkcjonalnych Fn0 i Fn wyznacza taki porzadek, ˙ze warstwa F, n znajduje sie wy˙zej, ni˙z warstwa Fn0. Zadanie Ok z warstwy wy˙zszej nie mo˙ze poprzedza´c zadania Ok0
z warstwy ni˙zszej.
Lemat 4. Zadania obliczeniowe ze zbioru C0 (14) moga by´c zrealizowane wtedy, i tylko wtedy, gdy podczas wydzielania warstw funkcjonalnych Fn nie zachodza wa-, runki typu (20) lub (21) wskazujace na ,,zap, etlenie si, e” procesu obliczeniowego., Istnienie petli w zbiorze C, 0 (14) m zada´n obliczeniowych ma zwiazek z minimaln, a, warto´scia Φ(w, ∗[m]) (13) funkcji kryterialnej Φ(w[m]) (12):
Twierdzenie 1. Zbi´or C0 opisuje niesprzeczny zestaw m zada´n obliczeniowych Ok
wtedy i tylko wtedy, gdy warto´s´c minimalna Φ(w∗[m]) funkcji kryterialnej Φ(w[m]) okre´slonej na bazie wektor´ow zale˙zno´sci ρk[m] (1) reprezentujacych te zadania jest, r´owna zeru (Φ(w∗[m]) = 0).
Dow´od: W dowodzie posłu˙zymy sie opisan, a powy˙zej konstrukcj, a warstw funkcjo-, nalnych Fn. Zał´o˙zmy, ˙ze w trakcie konstrukcji nie sa spełnone warunki typu (20), lub (21). W tym przypadku wszystkie zadania obliczeniowe ze zbioru C0(14) moga, by´c rozło˙zone w warstwy funkcjonalne Fn. W rezultacie wszystkie zadania moga by´c, zrealizowane w spos´ob sekwencyjny, zgodny z podziałem na warstwy Fn.
Dla przeprowadzenia dowodu dokonamy indeksowania zada´n obliczeniowych Oj ze zbioru C0 zgodnie z podziałem na warstwy funkcjonalne Fn (indeksowa- nie kanoniczne). Przyjmiemy, ˙ze m0 zada´n Oj z warstwy F0 ma najni˙zsze in- deksy j (1 ≤ j ≤ m0), m1 zada´n Oj z warstwy F1 ma indeksy j z przedziału (m0+ 1 ≤ j ≤ m0+ m1), itd. Przy takim sposobie indeksowania zada´n obliczenio- wych Ojwektory zale˙zno´sci ρj= [ρj1, ..., ρjm]To m składowych binarnych ρjimaja, nastepuj, ac, a struktur, e: m, 0 pierwszych wektor´ow ρj (1 ≤ j ≤ m0) ma wszystkie m składowych ρji r´owne zeru ((∀ j ∈ {1, ..., m0}) (∀i ∈ {1, ..., m}) ρji = 0). Kolejne m1 wektor´ow ρj, odpowiadajacych zadaniom O, j z warstwy F1, ma składowe ρji
o indeksach i wiekszych ni˙z m, 0 r´owne zeru ((∀ j ∈ {m0+ 1, ..., m0+ m1}) (∀i ∈ {m0+ 1, ..., m}) ρji= 0). Podobnie m2wektor´ow ρjodpowiadajacych zadaniom O, j
z warstwy F2 ma składowe ρji o indeksach i wiekszych ni˙z m, 0+ m1 r´owne zeru ((∀ j ∈ {m0+ m1+ 1, ..., m0+ m1+ m2}) (∀i ∈ {m0+ m1+ 1, ..., m}) ρji= 0). Podobna, strukture maj, a wektory zale˙zno´sci ρ, j z kolejnych wy˙zszych warstw. Rozumowanie to jest oparte na wła´sciow´sci okre´slonej w relacji (22).
We´zmy wektor parametr´ow w0[m] o poni˙zszej strukturze:
w0[m] = [c1, ..., c1, c2, ..., c2, ..., cn, ..., cn]T (23) Pierwsze m0 składowych wektora w0[m] ma warto´s´c c1 (c1> 0, np. c1= 1) i od- powiada zadaniom z warstwy F0 (15). Kolejne m1 składowych wektora w0[m] ma warto´s´c c2 (c2 > c1) itd. Ostatnie mn składowych wektora w0[m] ma warto´s´c cn
(cn> cn−1).
Parametry ci (23) mo˙zna wybra´c tak, by wszystkie implikacje rangowe (6) były zachowane przez odwzorowanie liniowe tj = (w0[m])Tρj[m]. Np. odpowied- nio du˙za warto´s´c parametru ck odpowiadajacego warstwie F, k zapewnia, ˙ze wszyst- kie zale˙zno´sci Ok0 ≺ Ok, gdzie k0 < k, sa reprezentowane przez nier´owno´sci (6):, (w0[m])Tρk0[m] < (w0[m])Tρk[m].
Jak wynika z lematu 2, warto´s´c Φ(w∗[m]) (13) jest r´owna zeru (Φ(w∗[m] = 0) wtedy i tylko wtedy, gdy wszystkie implikacje rangowe (6) sa zachowane przez, odwzorowanie liniowe tj= (w0[m])Tρj[m].
Twierdzenie 1 wskazuje mo˙zliwo´s´c badania niesprzeczno´sci zestawu zada´n obliczeniowych Oj (15) schrakteryzowanych przez wektory zale˙zno´sci ρj[m] (1) na podstawie sprawdzenia warunku, czy warto´s´c minimalna Φ(w∗[m]) (13) funkcji kryterialnej Φ(w[m]) (12) jest r´owna zeru.
6. Mo˙zliwo´sci wykorzystania modeli rangowych w modyfikacji zada ´n obliczeniowych
Znajomo´s´c zestawu m zada´n obliczeniowych (15) scharakteryzowanych przez wek- tory zale˙zno´sci ρj[m] (1) pozwala zdefiniowa´c zbiory R+[m] i R−[m] (7) zło˙zone z wektor´ow r´o˙znicowych rjk[m] = ρk[m] − ρj[m], a nastepnie funkcj, e kryterialn, a, Φ(w[m]) (16). Minimalizacja funkcji kryterialnej Φ(w[m]) daje odpowied´z na py- tanie czy zestaw zada´n jest niesprzeczny (Tw. 1). Zestaw m zada´n obliczeniowych scharakteryzowanych przez wektory zale˙zno´sci ρj[m] (1) jest sprzeczny wtedy i tylko wtedy, gdy warto´s´c minimalna Φ(w∗[m]) (13) jest wieksza od zera (Φ(w, ∗[m]) > 0).
Ma to miejsce w sytuacji, gdy zbiory R+[m] i R−[m] (7) nie sa liniowo separo-, walne (8). W takim przypadku cze´s´c wektor´ow r´o˙znicowych r, jk[m] = ρk[m] − ρj[m]
usytuowana jest po niewła´sciwej stronie hiperpłaszczyny H(w∗[m]) (9) wyznaczo- nej w m-wymiarowej przestrzeni zale˙zno´sci przez wektor optymalny w∗[m] (13).
Cze´s´c wektor´ow r, jk[m] nale˙zacych do zbioru R, +[m] usytuowana jest niewła´sciwie po ujemnej stronie hiperpłaszczyzny H(w∗[m]) (w∗[m]rjk< 0). Istnieja tak˙ze takie, wektory rjk[m] ze zbioru R−[m], kt´ore sa niewła´sciwie usytuowane po dodatniej stro-, nie H(w∗[m]) (w∗[m]rjk > 0). W problemach rozpoznawania obraz´ow znany jest fakt, ˙ze dwa zbiory liniowo nieseparowalne mo˙zna doprowadzi´c do liniowej sepa- rowalno´sci poprzez redukcje przynajmniej cz, e´sci elemet´ow niewła´sciwie usytuowa-, nych wzgledem hiperpłaszczyzny optymalnej H(w, ∗[m]) [5]. Podobne techniki reduk- cji mo˙zna stosowa´c w szeregowaniu zada´n obliczeniowych.
Zgodnie z opisana wcze´sniej wieloetapow, a procedur, a wydzielana jest warstwa, funkcjonalna F0(15) a nastepnie kolejne warstwy F, n. Wydzielenie kolejnej warstwy Fnwia˙ze si, e z redukcj, a C, n= Cn−1/Fn−1(18) zbioru zada´n i sprawdzaniu czy zacho- dzi warunek stopu (20). Warunek stopu w warstwie zerowej ma podobna posta´c (21)., Warunek stopu wskazuje, ˙ze ˙zadne z m zada´n Okze zbioru Cnnie mo˙ze by´c zrealizo- wane, poniewa˙z wymaga to znajomo´sci wynik´ow pewnego innego zadania ze zbioru Cn. Sposobem na przerwanie tego typu wzjemnych zale˙zno´sci mo˙ze by´c taka mody- fikacja jednego z zada´n Okze zbioru Cn, by jego wykonanie nie zale˙zało od ˙zadnego innego zadania Oj ze zbioru Cn. Zredukowany wektor zale˙zno´sci ρk[m] zmodyfi- kowanego zadania O0k powinien by´c r´owny wektorowi zerowemu [0, ..., 0]T. Mody- fikacja zadania Ok prowadzaca do zerowania si, e wektora zale˙zno´sci ρ, k[m0] jest na og´oł mo˙zliwa, ale mo˙ze wymaga´c przedefiniowania nie tylko jednego, lecz wiekszej, liczby zada´n obliczeniowych, co mo˙ze by´c obarczone du˙zymi kosztami.
W poszukiwaniu najbardziej efektywnego sposobu modyfikacji zada´n Ok
ze sprzecznego zbioru Cn mo˙zna posłu˙zy´c sie minimaln, a warto´sci, a Φ(w, ∗[m]) (13) funkcji kryterialnej Φ(w[m]) (12), okre´slonej na bazie wektor´ow zale˙zno´sci ρk[m]
(1) reprezentujacych zadania O, k ze zbioru Cn. Bierzemy tu pod uwage tak, a modyfi-, kacje zada´n O, k→ O0k, kt´orym towarzyszy zerowanie sie zredukowanych wektor´ow, zale˙zno´sci ρk[m]:
ρk[m] → [0, ..., 0]T (24)
Zauwa˙zmy, ˙ze je˙zeli modyfikowanie zadania Ok ze sprzecznego zbioru Cn
nastepuje po wcze´sniejszym wydzieleniu pewnych warstw funkcjonalnych F, n, to wa- runek (24) nie ogranicza zale˙zno´sci zadania Okod innych zada´n z tych warswtw.
Wyb´or zadania Ok do modyfikacji mo˙zna oprze´c na kryterium maksymal- nego spadku 4kΦ(w∗[m]) minimalnej warto´sci Φ(w∗[m]) (13) funkcji kryterialnej Φ(w[m]) (12) w wyniku modyfikacji (24) wektora zale˙zno´sci ρk[m] (1) zadania Ok:
4kΦ(w∗[m]) = max
j∈In 4jΦ(w∗[m]) (25)
gdzie j ∈ In⇔ Oj∈ Cn
Zgodnie z powy˙zszym kryterium modyfikowania, do modyfikacji wybieramy takie zadanie, kt´ore daje najwiekszy spadek minimalnej warto´sci funkcji kryterialnej, okre´slonej na zredukowanym zbiorze Cn.
Mo˙zna zało˙zy´c, ˙ze obliczanie potencjalnych spadk´ow 4jΦ(w∗[m]) minimal- nej warto´sci Φ(w∗[m]) (13) funkcji kryterialnej Φ(w[m]) (12) jest stosunkowo tanie w stosunku do koszt´ow δj (δj> 0) rzeczywistej modyfikacji poszczeg´olnych zada´n obliczeniowych Oj.
Je˙zeli znane sa koszty δ, jmodyfikacji poszczeg´olnych zada´n obliczeniowych Oj, to kryterium wyboru zadania Ok do modyfikacji mo˙ze uwzglednia´c tak˙ze wielko´sci, δj:
4kΦ(w∗[m])/δk= max
Oj∈Cn
4jΦ(w∗[m])/δj (26)
Opisana powy˙zej procedura pozwala usuwa´c sprzeczno´s´ci z zestaw´ow zada´n obliczeniowych Ojpoprzez modyfikacje wybranych zada´n O, k.
Innym wa˙znym w praktyce problemem jest zagadnienie redukcji niepotrze- bych zada´n obliczeniowych Oj tworzacych zbi´or C, 0 (14). W pewnych przypadkach mo˙zemy by´c zainteresowani w jak najszybszym uzyskaniu wyniku okre´slonego za- dania Ok. Uzyskanie wyniku danego zadania Okwymaga wykonania pewnych zada´n Oj, lecz wykonywanie innych zada´n ze zbioru C0mo˙ze nie by´c konieczne. Zidenty- fikowanie takich niekoniecznych zada´n Ojpozwala je pomina´c i w rezultacie skr´oci´c, czas oblicze´n.
Zał´o˙zmy, ˙ze zbi´or C0zada´n Ojscharakteryzowych przez wektory zale˙zno´sci ρj
(1) i czasy realizacji τj jest niesprzeczny. W tym przypadku wszystkie zadania Oj
moga by´c przyporz, adkowane poszczeg´olnym warstwom funkcjonalnym F, n(19). Do- godnie jest posługiwa´c sie wtedy indeksowaniem kanonicznym opisanym w dowo-, dzie Twierdzenia 1. Redukcja zada´n Ojoznacza te˙z zmniejszanie wymiaru wektor´ow zale˙zno´sci ρj[m] (1).
Je˙zeli zadania Oj zostały przyporzadkowane poszczeg´olnym warstwom funk-, cjonalnym Fni wybrane zadanie Okznalazło sie w warstwie F, n0, to wszystkie zadania z warstw wy˙zszych Fn(n > n0), jak r´ownie˙z r´o˙zne od Okzadania z warstwy Fn0moga, zosta´c zredukowane (pominiete). W rezultacie takiej redukcji powstaje zbi´or zredu-, kowany C00. Zbi´or C00 mo˙ze by´c w pewnych okoliczno´sciach dodatkowo zredukowany.
W tym celu sprawdzamy czy w zbiorze C00 znajdzie sie takie zadanie O, j0, kt´ore nie poprzedza ˙zadnego innego zadania z tego zbioru. Je˙zeli takie zadanie zostanie zna- lezione, to zadanie to usuwamy ze zbioru C00 i powt´ornie poszukujemy w ostatnio zredukowanym zbiorze C00 zadania Oj00, kt´ore nie poprzedza ˙zadnego innego zadania z tego zbioru. Je˙zeli zadanie Oj00o takiej wła´sciowo´sci bdzie znalezione, to usuwamy
je ze zbioru C00. Poszukiwania niekoniecznych zada´n Oj i ich redukcje powtarzamy do momentu, gdy w zbiorze C00 nie bedzie element´ow nadaj, acych si, e do redukcji.,
7. Wyniki eksperyment´ow
Przy zastosowaniu opisanych wczesniej metod wykonane zostały dwa ekspery- menty, sprawdzajace w praktyce słuszno´s´c zaproponowanych rozwi, aza´n teoretycz-, nych. W obu eksperymentach u˙zyto sztucznie wygenerowanych sekwencji zada´n ob- liczeniowych.
7.1 Eksperyment 1 - Sekwencja niesprzeczna
W pierwszym eksperymencie sekwencja zada´n obliczeniowych bya dobrana tak, aby zdekomponowany proces obliczeniowy był niesprzeczny, czyli aby nie wystepowały, w nim zapetlenia. Rysunek 1 pokazuje kolejno´s´c wykonywania zada´n. Strzałka od za-, dania Oj do zadania Okwskazuje na zale´zno´s´c zadania Ok od zadania Oj. Pomiedzy, zadaniami Oji Okzachodzi relacja rangowa Oj≺ Ok.
Rys. 1. Sekwencja zada´n u˙zytych w eksperymencie 1
Otrzymano nastepuj, ace wektory zale˙zno´sci ρ, j( j = {1, ..., 9}):
ρ1= [0, 0, 0, 0, 0, 0, 0, 0, 0]T ρ2= [0, 0, 0, 0, 0, 0, 0, 0, 0]T ρ3= [0, 0, 0, 0, 0, 0, 0, 0, 0]T ρ4= [0, 0, 0, 0, 0, 0, 0, 0, 0]T ρ5= [1, 1, 0, 0, 0, 0, 0, 0, 0]T ρ6= [1, 0, 1, 1, 0, 0, 0, 0, 0]T ρ7= [1, 0, 1, 0, 1, 0, 0, 0, 0]T ρ8= [0, 1, 0, 0, 0, 1, 0, 0, 0]T ρ9= [0, 0, 0, 0, 0, 0, 1, 1, 0]T
(27)
Na podstawie relacji rangowych pomiedzy zadaniami i ich wektor´ow zale˙zno´sci wy-, znaczono zbiory R+i R−(7) wektor´ow r´o´znicowych rjk:
r1,5= [1, 1, 0, 0, 0, 0, 0, 0, 0]T r1,6= [1, 0, 1, 1, 0, 0, 0, 0, 0]T r1,7= [1, 0, 1, 0, 1, 0, 0, 0, 0]T r2,5= [1, 1, 0, 0, 0, 0, 0, 0, 0]T r2,8= [0, 1, 0, 0, 0, 1, 0, 0, 0]T r3,6= [1, 0, 1, 1, 0, 0, 0, 0, 0]T r3,7= [1, 0, 1, 0, 1, 0, 0, 0, 0]T r4,6= [1, 0, 1, 1, 0, 0, 0, 0, 0]T r5,7= [0, −1, 1, 0, 1, 0, 0, 0, 0]T r6,8= [−1, 1, −1, −1, 0, 1, 0, 0, 0]T r7,9= [−1, 0, −1, 0, −1, 0, 1, 1, 0]T r8,9= [0, −1, 0, 0, 0, −1, 1, 1, 0]T
R+= {r1,5, r1,6, r1,7, r2,5, r2,8, r3,6, r3,7, r4,6, r5,7, r6,8, r7,9, r8,9} R−= φ
(28)
Poprzez minimalizacje warto´sci funkcji kryterialnej Φ(w) (12) wyznaczono opty-, malny wektor parametr´ow w∗:
w∗= [−1, 0, −1, 0, 0, 0, −3, −4, 0, 0]T (29) Warto´s´c minimalna funkcji kryterialnej Φ(w∗) (13) przyjmuje warto´s´c zero, wiec, zgodnie z twierdzeniem 1 zestaw zada´n jest niesprzeczny i mo´ze by´c realizowany w zało˙zonej sekwencji.