Metody Informatyki Stosowanej
Transcription
Metody Informatyki Stosowanej
Polska Akademia Nauk Oddział w Gdańsku Komisja Informatyki Metody Informatyki Stosowanej Nr 2/2008 (Tom 15) Szczecin 2008 Metody Informatyki Stosowanej Kwartalnik Komisji Informatyki Polskiej Akademii Nauk Oddział w Gdańsku Komitet Naukowy: Przewodniczący: prof. dr hab. inż. Henryk Krawczyk, czł. koresp. PAN, Politechnika Gdańska Członkowie: prof. dr hab. inż. Michał Białko, czł. rzecz. PAN, Politechnika Koszalińska prof. dr hab. inż. Ludosław Drelichowski, Uniwersytet Technologiczno-Przyrodniczy w Bydgoszczy prof. dr hab. inż. Janusz Kacprzyk, czł. koresp. PAN, Instytut Badań Systemowych PAN prof. dr hab. inż. Leszek Rutkowski, czł. koresp. PAN, Politechnika Częstochowska prof. dr hab. inż. Piotr Sienkiewicz, Akademia Obrony Narodowej prof. dr inż. Jerzy Sołdek, Politechnika Szczecińska prof. dr hab. inż. Andrzej Straszak, Instytut Badań Systemowych PAN Recenzenci: prof. dr hab. inż. Ryszard Budziński, Uniwersytet Szczeciński prof. dr hab. inż. Andrzej Czyżewski, Politechnika Gdańska dr hab. Małgorzata Łatuszyńska, prof. US, Uniwersytet Szczeciński prof. dr hab. inż. Andrzej Piegat, Politechnika Szczecińska prof. dr hab. inż. Valeriy Rogoza, Politechnika Szczecińska prof. dr inż. Jerzy Sołdek, Politechnika Szczecińska prof. dr hab. inż. Andrzej Stateczny, Akademia Morska w Szczecinie dr hab. inż. Alexander Ţariov, prof. PS, Politechnika Szczecińska dr hab. inż. Antoni Wiliński, prof. PS, Politechnika Szczecińska dr hab. Waldemar Wolski, prof. US, Uniwersytet Szczeciński prof. dr hab. inż. Oleg Zaikin, Politechnika Szczecińska Redaktor naczelny: Antoni Wiliński Sekretarz redakcji: Piotr Czapiewski ISSN 1898-5297 ISBN 978-83-925803-4-8 Wydawnictwo: Polska Akademia Nauk Oddział w Gdańsku Komisja Informatyki Adres kontaktowy: ul. Żołnierska 49 p. 104, 71-210 Szczecin Druk: Pracownia Poligraficzna Wydziału Informatyki Politechniki Szczecińskiej. Nakład 500 egz. Spis treści Włodzimierz Bielecki, Tomasz Klimek, Konrad Trifunovič Obliczenie potęgi k znormalizowanej afinicznej relacji . . . . . . . . . 5 Mariusz Borawski Vector space over the field of numbers in the mean value-pseudovariance representation . . . . . . . . . . . . . 21 Ekaterina Kamenskaya, Georgy Kukharev Some aspects of automated psychological characteristics recognition from the facial image . . . . . . . . . . . . . . . . . . . . . . . 29 Janusz Korol Ilościowa ocena zmian regionalnego poziomu ochrony środowiska . . 39 Piotr Lech, Krzysztof Okarma An efficient low bitrate video transmission algorithm supported by the Monte Carlo method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Kesra Nermend Rozwój przestrzennych systemów wspomagania decyzji . . . . . . . . . 63 Marcin Ożarowski, Mirosław Plebanek, Zenon Ulman Detekcja nadmiaru multiplikatywnego w resztowym systemie liczbowym . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Zbigniew Piotrowski, Jarosław Wątróbski Environmental factors as determinants of multicriteria methods suitability for a decision situation . . . . . . . . . . . . . . . . . . . . . . 79 Mirosław Plebanek, Zenon Ulman, Marcin Ożarowski Porównywanie liczb w resztowym systemie liczbowym z wykorzystaniem parzystości . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Jakub Swacha Cost-effective extension of data storage system . . . . . . . . . . . . . 99 Łukasz Szełemej Przegląd metod ekstrakcji wiedzy w serwisach WWW – Web Structure Mining . . . . . . . . . . . . . . . . 109 Alexandr Ţariov Szybki algorytm realizacji bazowej operacji wyznaczania średniej kroczącej . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Jarosław Wątróbski, Monika Stolarska Dobór systemów CRM w organizacji wirtualnej – aspekt modelowy . 125 Paweł Ziemba, Mateusz Piwowarski Metody analizy wielokryterialnej we wspomaganiu porównywania produktów w Internecie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Obliczenie potęgi k znormalizowanej afinicznej relacji Włodzimierz Bielecki, Tomasz Klimek, Konrad Trifunovič Politechnika Szczecińska, Wydział Informatyki Abstract: An approach to calculate the power k of an affine normalized relation is presented. A way to normalize an arbitrary affine relation is discussed. The approach is illustrated by an example. It is clarified how to calculate the positive transitive closure and transitive closure of a relation on the basis of the power k of the relation. Results of experiments are discussed. It is demonstrated how the calculated power k of a relation can be used for extracting both coarse- and fine-grained parallelism available in program loops. Feature research is outlined. Słowa kluczowe: affine loops, dependence, transitive closure, program transformation, parallelization 1. Wprowadzenie Dekompozycja trudnego obliczeniowo zadania na zbiór mniejszych wzajemnie niezależnych podproblemów to naturalny i dobrze znany sposób skrócenia czasu jego wykonania. Zaprezentowano dotąd liczne algorytmy umożliwiające realizację takiego podejścia zarówno w sposób równoległy jak i rozproszony [18], [19], [20], [21], [22]. Jednak badania w tej dziedzinie nadal trwają i koncentrują się głównie w dążeniu do wyeksponowania maksymalnej równoległości zawartej w pętlach. Jeśli za formę reprezentacji zależności przyjmiemy graf, w którym wierzchołki symbolizują kolejne iteracje pętli a krawędzie zależności, to powodzenie przedsięwzięcia w znacznym stopniu uzależnione jest od możliwości obliczenia domknięcia przechodniego takiego grafu, czyli ogólnie rzecz ujmując, zbioru wierzchołków osiągalnych z dowolnego węzła startowego. Nie stanowi to specjalnej trudności, jeśli ograniczymy się do grafów, w których liczba wierzchołków jest wartością stałą. Wówczas zastosować można jeden z dobrze znanych algorytmów przeszukiwania w głąb (ang. depth-first search) lub przeszukiwania wszerz (ang. breadth-first search). Niestety powyższe metody nie sprawdzają się w przypadku grafów sparametryzowanych, czyli takich, których liczba wierzchołków i krawędzi nie jest znana w momencie kompilacji. Wymagają one bowiem doboru odpowiedniej formy reprezentacji grafu jak i opracowania algorytmów umożliwiających obliczenie na jej podstawie wymaganego domknięcia przechodniego. O ile w przypadku wymagania pierwszego zastosowanie relacji krotek i arytmetyki Presburgera powinno 6 Włodzimierz Bielecki, Tomasz Klimek, Konrad Trifunovič być wystarczające, kwestia opracowania algorytmów rozwiązujących przedstawiony problem w sposób dokładny pozostaje nadal otwarta. Znane narzędzia starają się zwrócić w miarę możliwości dokładne rozwiązanie, jednak zgodnie z obecnym stanem wiedzy nie jest to możliwe w przypadku ogólnym. Wówczas musimy zadowolić się swego rodzaju aproksymacją. W artykule tym przedstawiony jest sposób obliczania domknięcia przechodniego w sposób dokładny, ograniczając się do grafów opisanych za pomocą pojedynczej znormalizowanej afinicznej relacji. 2. Pojęcia podstawowe W artykule rozważane są idealnie zagnieżdżone pętle afiniczne, w których dolne oraz górne granice pętli, a także odwołania do tablic oraz instrukcji warunkowych są określone przy pomocy funkcji afinicznych, których argumentami są indeksy otaczających pętli oraz opcjonalnie parametry strukturalne [1]. Kroki pętli są znanymi, stałymi liczbami całkowitymi. Aby iteracje pętli mogły być wykonywane równolegle na niezależnych procesorach, nie może wystąpić sytuacja, gdy jedna z iteracji dokonuje zapisu a inna zapisu lub odczytu tej samej komórki pamięci. Jeżeli istnieją iteracje pętli, które nie spełniają tego warunku, to mówimy, że występuje pomiędzy nimi zależność i nie mogą być one wykonywane równolegle, lecz muszą być wykonywane zgodnie z kolejnością wykonania w pętli sekwencyjnej, którą to kolejność określa się mianem porządku leksykograficznego. Prezentowane podejście wymaga zastosowania dokładnej analizy zależności, w wyniku której otrzymujemy graf skierowany, w którym krawędzie symbolizują istniejącą zależność. Utworzenie takiego grafu w czasie kompilacji nie zawsze jest możliwe (np. nie są znane parametry granic pętli, czyli liczba wierzchołków symbolizujących iteracje). Nawet, jeśli możliwe jest utworzenie grafu zależności pomiędzy iteracjami w czasie kompilacji, to takie rozwiązanie nie zawsze jest efektywne – liczba wierzchołków w grafie jest równa liczbie iteracji pętli. W artykule do analizy zależności wybrano narzędzie Petit [6]. W programie tym zależności reprezentowane są w postaci relacji, czyli odwzorowania przekształcającego jedną przestrzeń iteracji w drugą, przedstawionego przy pomocy wyrażeń liniowych, których argumentami są zmienne odpowiadające indeksom pętli dla początku i końca zależności oraz stałe. Z szeregu zalet, jakie posiadają relacje krotek, na szczególną uwagę zasługuje to, że mogą być one sparametryzowane. Przykładowa postać takiej relacji jest następująca: {[i] → [i + 2] : 1 ≤ i ≤ n − 2} (1) W konsekwencji, możliwe jest przy ich pomocy, ustalenie domknięcia przechodniego dla grafów sparametryzowanych. Istnieją dwie relacje związane z domknięciem przechodnim [3] i określone są przez następujące wzory: 1) domknięcie przechodnie: x → z ∈ R∗ ⇔ x = z ∨ ∃ y s.t. x → y ∈ R ∧ y → z ∈ R∗ (2) x → z ∈ R+ ⇔ x → z ∈ R ∨ ∃ y s.t. x → y ∈ R ∧ y → z ∈ R+ (3) 2) dodatnie domknięcie przechodnie: Obliczenie potęgi k znormalizowanej afinicznej relacji 7 Zależność między domknięciem przechodnim a dodatnim domknięciem przechodnim przedstawia następujący wzór: R∗ = R+ ∪ I (4) gdzie I – relacja tożsamości, np. I = {[i] → [i] : ograniczenia dla i}. Przykładowa relacja przedstawiająca domknięcie przechodnie dla grafu opisanego przy pomocy relacji (1) wygląda następująco: {[i] → [i0 ] : ∃β : i0 − i = 2β ∧ 1 ≤ i ≤ i0 ≤ n} (5) Proces wyznaczania domknięcia przechodniego dla grafu opisanego przy pomocy relacji R poprzedzony jest koniecznością wyznaczenia relacji Rk postaci: Rk = ∞ [ Rk (6) k=1 gdzie: Rk = R ◦ Rk−1 Rk−1 = R ◦ Rk−2 ... R1 = R R0 = I (7) “◦” jest operatorem kompozycji relacji. W kolejnym rozdziale zaprezentowana jest metoda wyznaczania relacji Rk dla pojedynczej relacji R. Autorzy zakładają, że czytelnik zna podstawy związane z akademickimi narzędziami Petit i Omega kalkulator do znajdowania zależności w postaci relacji oraz do wykonywania operacji na relacjach i zbiorach, a także do generowania kodu. Szczegóły można znaleźć w [6]. 3. Wyznaczanie relacji Rk dla pojedynczej znormalizowanej relacji afinicznej Przed przystąpieniem do wyznaczania relacji Rk dla prezentowanego podejścia, niezbędne jest aby rozważana relacja R spełniała następujące wymagania: 1. Relacja nie może być sumą wielu relacji, których krotki wyznaczające początki i końce są różne. 2. Każdy koniec/początek zależności opisywanej przez krotkę relacji posiada dokładnie jeden początek/koniec, tzn. nie istnieją wspólne końce/początki dla dwóch lub większej liczby krawędzi opisanych przy pomocy rozważanej relacji. 3. Liczba zmiennych zawartych w opisie relacji, musi być mniejsza lub równa ilości zmiennych indeksujących pętli. Jeżeli rozważana relacja R nie spełnia powyższych wymagań należy przystąpić do procedury normalizacji takiej relacji. Wygląda ona następująco: 8 Włodzimierz Bielecki, Tomasz Klimek, Konrad Trifunovič 1. Jeżeli rozważana relacja R jest sumą wielu relacji, których krotki wyznaczające początki i końce są różne, to taki przypadek dotyczy obliczania potęgi unii relacji; przypadek ten nie jest rozpatrywany w danym artykule i tym samym kończymy proces normalizacji, informując o braku możliwości obliczenia potęgi k dla relacji wejściowej. Jeśli jednak rozważana relacja jest sumą relacji, których krotki wyznaczające początki i końce są jednakowe, wówczas tworzymy jedna relacje, która zawiera połączenie ograniczeń wszystkich relacji za pomocą operatora OR. 2. Dla relacji utworzonej w kroku 1, sprawdzamy czy każdy koniec/początek posiada dokładnie jeden początek/koniec, tzn. dla dowolnego początku d ∈ domain(Ri )/końca r ∈ range(Ri ) istnieje dokładnie jeden koniec range(Ri (d))/początek domain(Ri−1 (r)), co jest równoważne z tym, że nie istnieją takie di i dj , że di 6= dj i R(di ) = R(dj ) / ri i rj , że ri 6= rj i R−1 (ri ) = R−1 (rj ). Jeżeli warunek nie jest spełniony to należy spróbować usunąć nadmiarowe zależności z relacji Ri , korzystając ze znanych metod i tym samym wyodrębnić krawędzie podstawowe w taki sposób aby były opisane za pomocą tych samych krotek wyznaczających początki i końce. W przypadku sukcesu, przechodzimy do kroku 3. Inaczej koniec normalizacji i poinformowanie o braku możliwości obliczenia potęgi k wejściowej relacji. 3. Rozwiązujemy wszystkie równania będące elementami ograniczenia relacji R. Niech x = a będzie przykładowym rozwiązaniem jednego z takich równań, wówczas zastępujemy wszystkie wystąpienia zmiennej x rozwiązaniem a w ramach relacji R i jej ograniczeniach. 4. Rozwiązujemy wszystkie nierówności będące elementami ograniczenia relacji R. Dla relacji (8): R = {[i, j] → [i0 , j] : −j + 1 = 0 ∧ 1 ≤ i < i0 ≤ 25} ∪ {[i, j] → [i0 , j] : −j + 1 = 0 ∧ 10 ≤ i < i0 ≤ 50} (8) po wykonaniu kroku 1, otrzymujemy relację (9) z ograniczeniami połączonymi za pomocą operatora OR: ) ( [i, j] → [i0 , j] : −j + 1 = 0 ∧ 1 ≤ i < i0 ≤ 25 OR (9) R= −j + 1 = 0 ∧ 10 ≤ i < i0 ≤ 50 A po wykonaniu kroków 2-4, przekształcamy relację R do następującej postaci: R = {[i, 1] → [i + 1, 1] : 1 ≤ i ≤ 24 OR 10 ≤ i ≤ 49} (10) Dysponując znormalizowaną postacią relacji R (10) możemy przystąpić do wyznaczania relacji Rk . Pierwszym krokiem procedury jest wyznaczenie zbioru domain(R) ∩ range(R). Jeżeli jest on zbiorem pustym, oznacza to, iż żaden z końców relacji nie należy jednocześnie do jej początków i tym samym relacja Rk przyjmuje postać: ( ) R dla k = 1 k R = (11) ∅ dla k > 1 9 Obliczenie potęgi k znormalizowanej afinicznej relacji W przeciwnym wypadku, zważywszy na fakt, że połączone krawędzie znormalizowanej relacji symbolizujące istniejące zależności, tworzą łańcuchy o początkach należących do zbioru domain(R) i końcach w zbiorze range(R), możliwe jest wygenerowanie wyrażenia wyznaczającego poszczególne wierzchołki należące do takich łańcuchów dla zadanych wartości k. Realizowane jest to za pomocą układu równań rekurencyjnych. Dla znormalizowanej relacji R postaci (12): a11 a 21 R= . . . an1 a12 . . . a1n i1 b1 a22 . . . a2n i2 b2 · + → ... ... ... ... ... an2 . . . ann in bn d1 i1 c11 c12 . . . c1n c c ... c i d 2 21 22 2n 2 ograniczenia na R + · ... ... ... ... ... ... dn in cn1 cn2 . . . cnn (12) gdzie ograniczenia nałożone na relację R (12) spełniają następujące wymagania: 1) indeksy pętli zawierają się pomiędzy jej ograniczeniami: dolnym i górnym, 2) początki zależności są leksykograficznie mniejsze niż odpowiadające im końce, 3) składowe relacji definiują odpowiednio początki i końce zależności, układ równań rekurencyjnych wraz z wartościami początkowymi wygląda następująco: a11 a 21 ... an1 a12 a22 ... an2 ... ... ... ... k c11 b1 i1 a1n k a2n i2 b2 c21 = + · ... ... ... ... cn1 bn ann ikn i01 i0 2 = ... i0n c12 c22 ... cn2 t1 t 2 ... tn ... ... ... ... k−1 d1 i1 c1n k−1 c2n i2 d2 (13) + · ... ... ... dn ink−1 cnn (14) Dla przykładowej relacji: R = {[i] → [i + 1]}, tworzymy równanie rekurencyjne: ik = ik−1 + 1, którego rozwiązaniem względem wartości początkowej i0 jest: ik = i0 + k. Układy równań rekurencyjnych (13) z ograniczeniami (14) mogą być rozwiązywane przez wiele akademickich i komercyjnych narzędzi takich jak: Maple [23], Mathematica [24], Maxima [25], MuPAD [26], PURRS [27]. Na potrzeby badań wykonanych w dalszej części tej publikacji, wykorzystano funkcjonalność oferowaną przez oprogramowanie dostępne w Mathematica. Dysponując rozwiąza- 10 Włodzimierz Bielecki, Tomasz Klimek, Konrad Trifunovič k,t k,t niem [ik,t 1 , i2 , . . . , in ] układów równań (13) i (14) możliwe jest utworzenie relacji k R postaci (15): h i [t1 , t2 , ..., tn ] → xk,t , xk,t , ..., xk,t : t = [t1 , t2 , ..., tn ] ∈ domain(R) n 1 2 | {z } 1 i h k,t k,t ∧ xk,t = ik,t ∧ 1 ≤ j ≤ n ∧ xk,t = xk,t ∈ range(R) , x , ..., x n 1 2 j j k {z } | R = | {z } (15) 2 3 h i k,t k,t k,t k,t + ∧ k ≥ 1 ∧ x = x , x , ..., x ∈ R (t) n 1 2 | {z } 4 k,t k,t gdzie t = [t1 , t2 , . . . , tn ] oraz [xk,t 1 , x2 , . . . , xn ] określają odpowiednio wejściową k oraz wyjściową krotkę relacji R , a kolejne ograniczenia oznaczają: 1. Ograniczenia nałożone na składowe krotki wejściowej relacji Rk . 2. Wyrażenie wyznaczające wartości poszczególnych składowych krotki wyjściowej relacji Rk dla zadanych wartości k oraz t. 3. Ograniczenia na składowe krotki wyjściowej relacji Rk do zbioru range(R). 4. Relacja Rk generuje zależności przechodnie tylko i wyłącznie dla tworzących je zależności bezpośrednich, reprezentowanych przez relację R. Oznacza to, że relacja Rk nie może zawierać dodatkowych zależności przechodnich, które nie wynikają z występowania i przebiegu zależności bezpośrednich. Ograniczenie to dotyczy relacji, których łańcuchy powstałe w wyniku występowania zależności posiadają przerwy, czyli w ramach ograniczeń wyznaczających dziedzinę relacji R, mogą pojawić się wierzchołki, które zostały z niej wykluczone (wierzchołek jest końcem zależności ale nie jest początkiem żadnej zależności). Ponieważ procedura wyznaczania relacji Rk dla takich relacji może wprowadzić zależności nadmiarowe, a wyznaczenie dokładnego domknięcia przechodniego relacji R nie zawsze jest możliwe (przykładowo Omega Calculator nie zawsze jest w stanie obliczyć dokładne domknięcie przechodnie dla relacji afinicznej), ograniczenie 4 można zapisać w następującej formie: 0 ¬ ∃ (k 0 : 1 ≤ k 0 < k ∧ xk ,t ∈ U DD) (16) gdzie UDD (ang. Ultimate Dependence Destination) określają wierzchołki, które nie są początkami żadnej zależności. Przeciwieństwem takich wierzchołków jest zbiór UDS (ang. Ultimate Dependence Sources), którego wierzchołki z kolei nie są końcami żadnej zależności. Symbol ¬ oznacza negację, ∃ jest kwantyfikatorem egzystencjalnym. Ograniczenie (16) nie dopuszcza nadmiarowych zależności między przerwami w łańcuchach, powstałych w wyniku występowania nieciągłości łańcuchów zależności, czyli między wierzchołkami, które są końcami zależności ale nie są początkami żadnej zależności lub są wierzchołkami całkowicie niezależnymi. Aby relacja Rk (15) nie zawierała zbytecznych ograniczeń, musimy zagwarantować, że ograniczenie czwarte będzie wprowadzane tylko wtedy gdy jest ono 11 Obliczenie potęgi k znormalizowanej afinicznej relacji niezbędne, czyli wtedy gdy mamy do czynienia z relacją, która opisuje łańcuchy zależności posiadające przerwy. Można to sprawdzić wykonując następujące kroki. Dla danej relacji R wyznaczamy: 1. 2. 3. 4. Zbiór wierzchołków U DS = domain(R) − range(R). Zbiór wierzchołków U DD = range(R) − domain(R). Pojedynczy wypukły region opisujący U DS ∪ U DD: Hull(U DS ∪ U DD). Relację r opisaną na pojedynczym regionie otrzymanym w punkcie 3. Biorąc pod uwagę, że r (18) opisuje łańcuchy zależności nieprzerwane na obszarze tworzonym przez wszystkie początki i końce zależności opisywane przez R, to warunek r − R = ∅ oznacza, że relacja R opisuje nieprzerwane łańcuchy zależności, w przeciwnym wypadku relacja R opisuje łańcuchy przerywane, a różnicę stanowią krawędzie powstałe w miejscach przerw relacji R. Przykładowo dla relacji (17): R = {[i] → [i + 1] : ∃ (α : 2, 4 · α + 2 ≤ i ≤ 1000, 4 · α + 3)} 1. U DS = {[2]} ∪ {[i] : ∃ (α : i = 2 + 4 · α ∧ 6 ≤ i ≤ 998)} U DD = {[i] : ∃ (α : i = 4 · α ∧ 4 ≤ i ≤ 1000)} 2. Hull (U DS ∪ U DD) = {[i] : 2 ≤ i ≤ 1000} 3. r = {[i] → [i0 ] : i0 = i + 1 ∧ 2 ≤ i, i0 ≤ 1000} r − R 6= ∅ (17) (18) Relacja R (17) opisuje łańcuchy zależności, które posiadają przerwy i tym samym wprowadzenie ograniczenia 4-ego do relacji Rk jest niezbędne. Rozważmy przykład tworzenia relacji Rk wraz z odpowiednimi ograniczeniami. Dla danej pętli: for i = 1 to n do for j = 1 to n do a(i+1, 4*j − n) = a(i,2*j) endfor endfor (19) Petit znalazł następującą relację zależności (20): R = {[i, j] → [i + 1, j 0 ] : n+2j 0 = 4j ∧ 1 ≤ j 0 ∧ 3j 0 ≤ 4j ∧ 1 ≤ i ∧ i+2j 0 < 4j} (20) Relacja wymaga normalizacji. Postać relacji po znormalizowaniu: R = {[i, 2 · j] → [i + 1, 4j − n] : 1 ≤ i < n ≤ 4j − 2 ∧ 4j ≤ 3n} 1. Tworzymy postać wyrażenia rekurencyjnego: ) ( xk+1 = xk1 + 1 1 2 · xk+1 = 4 · xk2 − n 2 (21) (22) z wartościami początkowymi: ( x01 = t1 x02 = t2 ) (23) 12 Włodzimierz Bielecki, Tomasz Klimek, Konrad Trifunovič Jego rozwiązaniem jest: ( ) 1 xk,t = t + k 1 1 2 xk,t = 21 · (n − 2k · n + 2 · 2k · t2 ) 2 (24) 2. Ustalamy zbiór domain(R): {[i, j] : ∃ (alpha : 0 = n + 2alpha ∧ 1 ≤ i < n ≤ 4j − 2 ∧ 4j ≤ 3n)} (25) 3. Obliczamy zbiór range(R): {[i, j] : ∃ (alpha : n = 2j + 4alpha && 2 ≤ i ≤ n ∧ 1 ≤ j ≤ n)} (26) 4. Ustalamy zbiór wierzchołków UDS : {[1, j] : ∃ (α : 0 = n + 2 · α ∧ n ≤ 4j − 2 ∧ 4j ≤ 3n)} ∪ {[i, j] : ∃ (α : n = 2 + 2j + 4 · α ∧ 2 ≤ i < n ≤ 4j − 2 ∧ 4j ≤ 3n)} (27) 5. Obliczamy zbiór wierzchołków UDD : {[n, j] : ∃ (α : n = 2j + 4α ∧ 1 ≤ j ≤ n)} ∪ {[i, j] : ∃ (α : n = 2j + 4α ∧ 2 ≤ i < n ∧ 4j ≤ n ∧ 1 ≤ j)} ∪ {[i, j] : ∃ (α : n = 2j + 4α ∧ 2 ≤ i < n ∧ j ≤ n ∧ 2 + 3n ≤ 4j)} (28) 6. Sprawdzamy czy dana relacja opisuje łańcuchy zależności, które mogą posiadać przerwy: Ustalamy pojedynczy wypukły region relacji R (21): Hull(U DS ∪ U DD). {[i, j] : 1 ≤ i ≤ n ∧ 1 ≤ j ≤ n} (29) Definiujemy relację r (30) tożsamą z R (21) ograniczoną powyższym regionem (29): r = {[i, j] → [i0 , j 0 ] : i0 = i+1 ∧ 2j 0 = 4j −n ∧ 1 ≤ i, i0 ≤ n ∧ 1 ≤ j, j 0 ≤ n} (30) r − R = ∅ ⇒ relacja R nie opisuje łańcuchów zależności, które mogą zawierać przerwy Warunek nie jest spełniony więc takiego niebezpieczeństwa nie ma. 7. Tworzymy relację Rk zgodnie z szablonem (15): k,t1 k,t2 [t1 , t2 ] → [x1 , x2 ] : k ≥ 1 ∧ ∃ (α : 0 = n + 2α ∧ 1 ≤ t1 < n ≤ 4 · t2 − 2 ∧ 4 · t2 ≤ 3n) ∧ | {z } 1 1 k k,t2 k,t1 k k R = x1 = t1 + k ∧ x2 = · n − 2 · n + 2 · 2 · t2 ∧ (31) 2 {z } | 2 k,t k,t k,t 2 1 2 ≤ n) ≤ n ∧ 1 ≤ x + 4 · α ∧ 2 ≤ x ∃ (α : n = 2 · x 2 1 2 {z } | 3 Obliczenie potęgi k znormalizowanej afinicznej relacji 13 8. Tworzymy relację R+ poprzez dodanie kwantyfikatora ∃ do relacji Rk (31): 1 2 [t1 , t2 ] → [xk,t , xk,t ] : ∃ (k : k ≥ 1 ∧ 1 2 ∃ (α : 0 = n + 2α ∧ 1 ≤ t < n ≤ 4 · t − 2 ∧ 4 · t ≤ 3n) ∧ 1 2 2 | {z } 1 1 + k,t2 k,t1 k k R = x1 = t1 + k ∧ x2 = · n − 2 · n + 2 · 2 · t2 ∧ (32) 2 {z } | 2 k,t2 k,t1 k,t2 ≤ n)) ≤ n ∧ 1 ≤ x + 4 · α ∧ 2 ≤ x ∃ (α : n = 2 · x 2 1 2 {z } | 3 9. Tworzymy relację R∗ = R+ ∪ I, gdzie I = R−1 ◦ R ∪ R ◦ R−1 1 2 [t1 , t2 ] → [xk,t , xk,t ] : ∃ (k : k ≥ 1 ∧ 1 2 ∧ ∃ (α : 0 = n + 2α ∧ 1 ≤ t < n ≤ 4 · t − 2 ∧ 4 · t ≤ 3n) 1 2 2 | {z } 1 1 k,t1 k,t2 ∗ k k ∪ R = x1 = t1 + k ∧ x2 = · n − 2 · n + 2 · 2 · t2 ∧ 2 | {z } 2 k,t k,t k,t 2 1 2 ∃ (α : n = 2 · x + 4 · α ∧ 2 ≤ x ≤ n ∧ 1 ≤ x ≤ n)) 2 1 2 {z } | [t1 , t2 ] → [t1 , t2 ] : [t1 , t2 ] → [t1 , t2 ] : 3 (33) (34) ∃(α : 0 = n+2α ∧ 1 ≤ t1 < n ≤ 4·t2 −2 ∧ 4·t2 ≤ 3n) ∪ | {z } 1,3 ∃(α : n = 2t2 +4α ∧ 2 ≤ t1 ≤ n ∧ 1 ≤ t2 ≤ n) | {z } 1,3 W kolejnym rozdziale przedstawiony jest zestaw przykładowych pętli, których zależności są opisywane pojedynczymi relacjami zależności, dla których wyznaczono relacje R+ zgodnie z zaprezentowanym podejściem. 4. Wyniki badań Tabela 1 zawiera pięć pętli (lewa kolumna), których zależności są opisywane za pomocą tylko pojedynczej relacji (prawa kolumna). Warto zwrócić uwagę na to, że wszystkie pętle są niejednolite i żadne ze znanych narzędzi nie radzi sobie z obliczeniem dokładnego tranzytywnego domknięcia tych relacji. Natomiast zaproponowane w danym artykule podejście pozwala na obliczenie tranzytywnego domknięcia każdej z tych relacji w oparciu o wcześniej wyznaczoną relacje Rk , wyniki zawarte są w Tabeli 2. 5 4 3 2 1 Nr for i=2 to 1000 do if ((i mod 3)>=0 and (i mod 3)<=2) then a(i)=a(i+1) endif endfor for i=1 to 1000 do for j=1 to 1000 do a(i+j+4,2*i+1)=a(2*j+3,i+1) endfor endfor for i=1 to 1000 do for j=1 to 1000 do a(2*j+3,i+1)=a(i+j+3,2*i+1) endfor endfor for i=1 to 1000 do for j=1 to 1000 do a(i,j)=a(i,2*n-j) endfor endfor for i=1 to 1000 do for j=1 to 1000 do a(i,j)=a(i,2*j) endfor endfor Pętla R = {[i] → [i + 1] : ∃ (α : 2, 4 · α + 2 ≤ i ≤ 1000, 4 · α + 3)} R = {[i, 2 · j] → [2i, i + j + 1] : 1 ≤ i ≤ 500 ∧ 1 ≤ j ≤ 1000} R = {[i, 2 · j] → [2i, i + j] : 1 ≤ i ≤ 500 ∧ 1 ≤ j ≤ 1000} R = {[i, j] → [i, 2n − j] : 1 ≤ i ≤ 1000 ∧ 2n − 10001 ≤ j < n} R = {[i, j] → [i, 2j] : 1 ≤ i ≤ 1000 ∧ 1 ≤ j ≤ 500} Relacja zależności Tabela 1. Pętle wykorzystane w badaniach i odpowiadające im relacje zależności 14 Włodzimierz Bielecki, Tomasz Klimek, Konrad Trifunovič 15 Obliczenie potęgi k znormalizowanej afinicznej relacji Tabela 2. Wyznaczona relacja R+ dla danej relacji R Relacja R+ Nr 1 k,t1 k,t2 ∧ [t , t ] → [x , x ] : ∃ (k : k ≥ 1 ∧ 1 ≤ t ≤ 1000 ∧ 1 ≤ t ≤ 500 1 2 1 2 1 2 {z } | 1 k,t1 k,t2 k + x = t ∧ x = t · 2 ∧ 1 2 2 R = |1 {z } 2 k,t2 k,t1 k,t2 ∃ (α : 2 · α = x ∧ 1 ≤ x ≤ 1000 ∧ 2 ≤ x ≤ 1000 )) 2 1 2 {z } | 3 2 3 R = R = [i, j] → [i, 2n − j] : 1 ≤ i ≤ 1000 ∧ 2n − 1000, 1 ≤ j < n | {z } + 1 k,t1 k,t2 [t , t ] → [x , x ] : ∃ (k : k ≥ 1∧ 1 2 1 2 ∧ ∃ (α : 2α = t + t ∧ 1 ≤ t ≤ 500 ∧ 1 ≤ t ≤ 1000) 1 2 1 2 {z } | 1 + 1 k,t k k,t −k k R = x 1 = t · 2 ∧ x 2 = · 2 (−t + 4 · t + 3 · t ) ∧ 1 1 1 2 1 2 3{z | } 2 k,t1 k,t2 k,t1 k,t2 ∃ (α : 0 = x + 2α ∧ 4 · x − 2000, 2 ≤ x ≤ 4 · x − 2, 1000)) 1 2 1 2 | {z } 3 4 k,t1 k,t2 [t , t ] → [x , x ] : ∃ (k : k ≥ 1∧ 1 2 1 2 ∃ (α : 2α = 1 + t1 + t2 ∧ 1 ≤ t1 ≤ 500 ∧ 1 ≤ t2 ≤ 1000) ∧ | {z } 1 + R = xk,t1 = t · 2k ∧ xk,t2 = 1 · 2−k (−3 + 3 · 2k − t + 4k · t + 3 · t ) ∧ 1 1 1 2 1 2 3 | {z } 2 k,t1 k,t2 k,t1 k,t2 ) ∃ (α : 0 = x + 2 · α ∧ 4 · x − 2002, 2 ≤ x ≤ 4 · x − 4, 1000) 1 2 1 2 | {z } 3 5 k,t1 [t ] → [x ] : ∃ (k : k ≥ 1 ∧ ∃ (α : 2, 4 · α + 2 ≤ i ≤ 1000, 4 · α + 3) ∧ 1 1 | {z } 1 k,t1 k,t1 + = t1 + k ∧ ∃ (α : 3, 4 · α + 3 ≤ x1 ≤ 1001, 4 · α + 4) ∧ 1 R = x | {z } {z } | 2 3 0 0 0 0 ¬∃ (k : 1 ≤ k < k ∧ ∃ (α : t + k = 4 · α ∧ 4 ≤ t + k ≤ 1000)) ) 1 1 | {z } 4 16 Włodzimierz Bielecki, Tomasz Klimek, Konrad Trifunovič 5. Zastosowanie Wyznaczenie relacji Rk , R+ i R∗ dla danej relacji R, symbolizującej zależności zawarte w pętli stwarza możliwość ich wielorakiego zastosowania. Interesujące są szczególnie te, które dotyczą bezpośrednio transformacji pętli programowych. Aktualnie najmocniejsze z nich to przekształcenia afiniczne, polegające na wyznaczeniu harmonogramu (ang. schedule) dla każdej instancji instrukcji zawartej wewnątrz pętli. Harmonogram jest to odwzorowanie, które określa czas wykonania każdej iteracji poprzez wyznaczenie funkcji θ(S, I) : Ω × N nD → N (nD – rozmiar przestrzeni iteracji, Ω – zbiór instrukcji {S1 , . . . , Sk } w pętli), w taki sposób, aby honorować występujące pomiędzy nimi zależności. Spośród wszystkich możliwych harmonogramów instancji instrukcji wyróżniony jest tak zwany harmonogram swobodny (ang. free schedule [1]). Polega on na tym, że iteracje wykonywane są natychmiast, kiedy tylko są dostępne (już obliczone) wszystkie ich operandy. θf ree (S, I) można przedstawić w formie: ( ) 0 if ¬(∃S 0 (I 0 ) S 0 (I 0 ) → S(I)) θf ree (S, I) = (35) 1 + maxθf ree (S 0 ,I 0 ) (S 0 (I 0 ) → S(I)) Taki harmonogram jest optymalny i znajduje maksymalną równoległość zawartą w pętli. Rozważmy przykład zastosowania relacji Rk dla pętli nr 1 z Tabeli 1, w transformacji metodą wyznaczenia harmonogramów swobodnych. Jako pierwsze, czyli w czasie θf ree (S, I) = 0 wykonywane są iteracje niezależne i te należące do zbioru UDS, otrzymane w następujący sposób: LD = {[i, j] : 1 ≤ i ≤ 1000 ∧ 1 ≤ j ≤ 1000} (36) IN D = LD − ( domain(R) ∪ range(R) ) (37) U DS = (domain(R) − range(R)) = = {[i, j] : ∃ (α : 2 · α = 1 + j ∧ 1 ≤ i ≤ 1000 ∧ 1 ≤ j ≤ 499} (38) gdzie LD (36) to przestrzeń iteracji pętli, a domain(R) i range(R) to zbiory kolejno zawierające początki i końce iteracji zależnych. Kolejne iteracje wykonywane są zgodnie z porządkiem narzuconym przez relację Rk . Wyznaczając wartość kmax : # " " # # " # " t1 1 0 1000 0 · ≤ + 0 1 1000 0 t2 · 2 k otrzymujemy: t1 ≤ 1000, t2 · 2k ≤ 1000 ⇔ 2k ≤ 1000 1000 ⇔ k ≤ log2 ; t2 t2 podstawiamy minimalną wartość dla składowej t2 ze zbioru UDS (38): min(t2 ) = 1, więc k ≤ log2 1000 ⇔ k ≤ log2 1000 1 17 Obliczenie potęgi k znormalizowanej afinicznej relacji (39) kmax = 9 k k i ograniczając dziedzinę relacji R do zbioru wierzchołków UDS: R \U DS, możemy przystąpić do wygenerowania zbioru określającego kolejne harmonogramy swobodne w zależności od wartości kroku k: S(k) = range(Rk ) S(k) = ( [t1 , t2 ] : ∃ (α : 2 · 2k · α = 2k + t2 ∧ 1 ≤ t1 ≤ 1000 ∧ 2, 1 · 2k ≤ t2 ≤ 1000, 499 · 2k ) (40) ) (41) Jest to etap końcowy, umożliwiający wygenerowanie pętli skanujących poszczególne iteracje należące do zbiorów: IND (37), UDS (38) i S(k) (41). Wygenerowany kod równoległy przedstawiono na Rys. 1 i 2. Relację R∗ można wykorzystać w poszukiwaniu iteracji nie wymagających synchronizacji. Podejście to nie różni się znaczącą od metody transformacji pętli po- # kod skanujący wierzchołki niezależne codegen IND parfor(t1 = 1; t1 <= 1000; t1++) { parfor(t2 = 501; t2 <= 999; t2 += 2) { s1(t1,t2); } } # kod skanujący wierzchołki UDS codegen UDS parfor(t1 = 1; t1 <= 1000; t1++) { parfor(t2 = 1; t2 <= 499; t2 += 2) { s1(t1,t2); } } Rysunek 1. # kod skanujący wierzchołki zbioru S(k) wygenerowany ręcznie for(k=1; k<=9; k++) { parfor(t1=1; t1<=1000; t1++) { parfor(t2 = max(2, 2^k); t2 <= min(1000, 499*2^k); t2 += 2*2^k) { s1(t1,t2); } } } Rysunek 2. 18 Włodzimierz Bielecki, Tomasz Klimek, Konrad Trifunovič # kod skanujący wierzchołki niezależne codegen IND parfor(t1 = 1; t1 <= 1000; t1++) { parfor(t2 = 501; t2 <= 999; t2 += 2) { s1(t1,t2); } } # kod skanujący wierzchołki niezależne codegen IND parfor(t1 = 1; t1 <= 1000; t1++) { parfor(t2 = 501; t2 <= 999; t2 += 2) { s1(t1,t2); } } Rysunek 3. # kod skanujący wierzchołki zbioru S(k) wygenerowany ręcznie parfor(t1 = 1; t1 <= 1000; t1++) { parfor(t2 = 1; t2 <= 499; t2 += 2) { for(k = 1; k <= floor(log(1000)/log(t2)); k++) { s1(t1,t2*2^k); } } Rysunek 4. legającej na wyznaczeniu harmonogramów swobodnych i dotyczy głownie sposobu generowania pętli skanującej relację S(k) = range(R∗ \U DS). Przedstawia to kod na Rys. 3 i 4. 6. Podsumowanie W niniejszej pracy zaprezentowane zostały metody tworzenia relacji Rk , R+ i R , dzięki którym możliwe jest wyeksponowanie zarówno drobnoziarnistej (Rk i wyznaczenie harmonogramów swobodnych) jak i gruboziarnistej (R∗ i poszukiwanie łańcuchów nie wymagających synchronizacji) równoległości zawartej w pętlach. Każda z tych relacji zawiera informacje dotyczące domknięcia przechodniego dla rozważanej relacji R na różnym poziomie szczegółowości. Jak zdążyliśmy się przekonać, relacje opisujące owe domknięcia (Tabela 2) nie zawsze są relacjami afinicznymi. Wiążą się z tym faktem różnorodne problemy, począwszy od braku możliwości stosowania arytmetyki Presburger’a i narzędzi na niej bazujących, które dostarczają funkcjonalności związanej z wykonywaniem elementarnych operacji na zbiorach i relacjach (suma, różnica, przecięcie, złożenie), po problemy związane ∗ Obliczenie potęgi k znormalizowanej afinicznej relacji 19 z generowaniem kodu dla obliczonych zbiorów z ograniczeniami nieliniowymi. O ile w przypadku pętli, w których występuje tylko jedna relacja zależności (takiej sytuacji poświęciliśmy bieżący artykuł) możliwe jest znajdowanie optymalnych harmonogramów swobodnych (choć nie bez problemów, operacje na relacjach i zbiorach oraz generowanie kodu było wykonywane ręcznie) o tyle w przypadku pętli, w których występuje więcej niż jedna relacja zależności nie zawsze jest możliwe. Problemy te staną się kolejnymi z którymi postaramy się zmierzyć w następnych badaniach. Bibliografia [1] Darte A., Robert Y., Vivien F. Scheduling and Automatic Parallelization. Birkhauser Boston, 2000 [2] Pugh W., Wonnacot D. An Exact Method for Analysis of Value-based Array Data Dependences. Workshop on Languages and Compilers for Parallel Computing, 1993 [3] Kelly W., Pugh W., Rosser E., Shpeisman T. Transitive clousure of infinite graphs and its applications, Languages and Compilers for Parallel Computing, 1995 [4] Feautrier P. Some Efficient Solutions to the Affine Scheduling Problem, Part I. One-Dimensional Time. International Journal of Parallel Programing, Vol 21(5), 1992 [5] Feautrier P. Some Efficient Solution to the Affine Scheduling Problem, Part II, Multi-Dimensional Time. International Journal of Parallel Programing, Vol. 21(6), 1992 [6] Kelly W., Maslov V., Pugh W., Rosser E., Shpeisman T., Wonnacott D. The Omega library interface guide. Technical Report CS-TR-3445, Dept. of Computer Science, University of Maryland, College Park, March 1995 [7] Wolf M. E., Lam M. S. A Loop Transformation Theory and an Algorithm to Maximize Parallelism. IEEE Transactions on Parallel and Distributed Systems, Vol. 2(4), 1992 [8] Bielecki W., Drążkowski R. Approach to building free schedules for loops with affine dependences represented with a single dependence relation. WSEAS Transactions on Computers, Issue 11, Volume 4, 2005 [9] Bielecki W., Siedlecki K. Finding Free Schedules for Non-uniform Loops. Proceedings of the Euro-Par 2003, Lecture Notes in Computer Science, 2003 [10] Bielecki W., Siedlecki K. Wyszukiwanie równoległości nie wymagającej synchronizacji w pętlach idealnie zagnieżdżonych. X Sesja Naukowa Wydziału Informatyki Politechniki Szczecińskiej, Szczecin 2005 [11] Bielecki W., Siedlecki K. Wyszukiwanie początków niezależnych wątków obliczeń w dowolnie zagnieżdżonych pętlach programowych. Metody Informatyki Stosowanej w Technice i Technologii, Szczecin 2004 [12] Kelly W., Pugh W. Minimizing communication while preserving parallelism. ACM International Conference on Supercomputing, 1996, s. 52-60 [13] Pugh W., Rosser E. Iteration Space Slicing and its Application to Communication Optimization. Proceedings of International Conference on Supercomputing, 1997 [14] Lim W., Lam M. S. Communication-free parallelization via affine transformations. Proceedings of the seventh workshop on languages and compilers for parallel computing, 1994, s. 92-106 20 Włodzimierz Bielecki, Tomasz Klimek, Konrad Trifunovič [15] Beletsky V. Finding Synchronization-Free Parallelism for Non-uniform Loops. Proceedings of the Computational Science – ICCS‘2003, Lecture Notes in Computer Science, Springer (2003), v. 2658 s. 925-934 [16] Bielecki W., Pałkowski M., Siedlecki K. Badania efektywności metod wyszukiwania gruboziarnistej równoległości w pętlach programowych. Materiały X Sesji Naukowej Informatyki 2006 [17] Bielecki W., Trifunovič K. Algorytmy zrównoleglenia zagnieżdżonych pętli programowych – stan wiedzy, kierunki badań. Materiały XI Sesji Naukowej Informatyki 2007 [18] Bacon D., Graham S., Sharp O. Compiler transformations for high-performance computing. Computing Surveys, Vol. 26(4), 1994, s. 345-420 [19] Boulet P., Darte A., Silber G.-A., Vivien F. Loop paralellelization algorithms: from parallelism extraction to code generation. Technical Report 97-17, LIP, ENS-Lyon, France, June, 1997 [20] Darte A., Robert Y. Constructive methods for scheduling uniform loop nests. IEEE Transactions on Parallel and Distributed Systems, Vol. 5, No. 8, 1994, s. 814-822 [21] Darte A., Vivien F. On the optimality of Allen and Kennedy’s algorithm for parallelism extraction in nested loops. Journal of Parallel Algorithms and Applications, Special issue on “Optimizing Compilers for Parallel Languages”, Vol. 12, 1997, s. 83-112 [22] Darte A., Vivien F. Optimal Fine and Medium Grain Parallelism Detection in Polyhedral Reduced Dependence Graphs. International Journal of Parallel Programming, Vol. 25(6), 1997, s. 447-496 [23] http:// www.maplesoft.com [24] http:// www.wolfram.com [25] http:// maxima.sourceforge.net [26] http:// www.mupad.com [27] Bagnara R. et al. The automatic solution of recurrence relations. I. Linear recurrences of finite order with constant coefficients. Quaderno 334, Dipartimento di Matematica, Universitŕ di Parma, Italy, 2003 Vector space over the field of numbers in the mean value-pseudovariance representation Mariusz Borawski Szczecin University of Technology, Faculty of Computer Science and Information Technology Abstract: It is showed that over the field of numbers in the mean value-pseudovariance representation we can build a vector space. The scalar product and the distance measure are defined. This enables the application of the mean value-pseudovariance representation in the methods using vector calculation. Keywords: convolution, mean value-pseudovariance representation, vector space 1. Introduction For the purpose of determining coordinates in vector space we make the assumption that they are not burden with uncertainty. This assumption is necessary because of lacking definition of vector space for data with uncertainty. As a rule we use vector space over the field of real or complex numbers. In order to create a vector space operating over uncertain values, it is necessary to define a suitable number system. Such systems are defined by fuzzy arithmetic proposed by Lotfi Asker Zadeh [14]. Fuzzy arithmetic reflects very well the “qualitative” thinking of people, however due to the way of defining the arithmetic operations it distorts relations between those operations. In consequence it is very hard to adopt existing methods to work with fuzzy arithmetic. In the framework of contemporary mathematics there is a parallel way of defining the arithmetic operations over arbitrary abstract objects, including objects containing uncertain data. It is possible basing on the axioms of algebra. Unlike fuzzy arithmetic, algebra first of all tries to map relations between operations. As a result it is very easy to adopt any numerical system derived from the field theory to work with arbitrary existing method. At the end of the 1970’s Mareŝ made an attempt to create a number system satisfying the assumptions of both theories, creating the convolutive representation. He pointed out the fact, that it is not necessary to use logical operations of conjunction and disjunction in definition of addition and multiplication of fuzzy numbers. He proposed using convolution as the operator of addition in fuzzy arithmetic. At first in the form of integral [7], next in the form of sum [8]. The 22 Mariusz Borawski description of convolution as the operator of fuzzy numbers addition we can also find in [2, 6, 9]. In [8] Mareŝ showed group properties of convolution, using the equivalence relation, including the existence of the opposite element for the convolution of membership functions with discrete arguments. Investigations of convolution properties as multiplication operator in the set of functions were undertaken in the 1940’s and 1950’s by Jan Mikusiński. He introduced the notion of an operator as the extension of the notion of a function. Since on an operator we can perform similar operations as on numbers, it comprises the extension of the notion of a number [10, 11]. Mikusinski’s investigations indicate the impossibility to define the group of function set with convolution as the operator, when the function is continuous. It does not exclude the possibility to define group when the function is in discrete form. The main problem connected with the application of convolution as addition operation is lacking definition of the field with addition and multiplication in the set of distributions. It results first of all from lacking of suitable definition of multiplication. However, it is possible to describe a distribution using parameters and to make operations on these parameters. In such a way the LR representation in fuzzy arithmetic was created, which describes the behaviour of membership functions [12]. Unlike in the LR representation, we can use for description of distribution not a value representing the level and the left and right maximal deviations from this value, but the mean value and pseudovariance. Pseudovariance is a generalisation of variance, allowing positive as well as negative values. It is a consequence of assumption, used in algebra, that the result of an operation should belong to the same set as the set of operands, and lacking of direct definition of subtraction. Subtraction is performed as addition of the opposite value, hence to make it possible to decrease the pseudovariance value in operation of subtraction, it is indispensable to allow for its negative value. Variance from the theoretical point of view is a better parameter describing the distribution than the extreme values, because it is less sensitive to unique untypical stochastic events, and for the normal distribution it attains finite values. Besides, its behaviour in convoluting the distributions [4] and multiplication by constant [5] is very well described. 2. Vector space The set X is called the vector space over the field (K, +, ·), when the following conditions are satisfied: 1. (X, +) is Abelian group. 2. A two arguments operation is defined, assigning the ordered pairs (k, ~x), where k ∈ K and ~x ∈ X, the element ~c ∈ X. 3. If e ∈ K is a neutral element of multiplication in the set K, then: ^ [e~x = ~x] . (1) ~ x∈X 23 Vector space over the field of numbers. . . 4. ^ ^ [r (s~x) = (rs) ~x] . (2) [(r + s) ~x = r~x + s~x] . (3) [r (~x + ~y ) = r~x + r~y ] . (4) r,s∈K x ~ ∈X 5. ^ ^ r,s∈K ~ x∈X 6. ^ ^ r∈K ~ x,~ y ∈X The elements of the set K are called scalars, and the elements of the set X – vectors. It can be shown that the set Lχ̃ of ordered pairs in the mean value-pseudovariance representation (x; χ̃) with operation of addition forms a field. Thus we can define a vector space over the field of numbers in the mean value-pseudovariance representation. The vector here can be a set of n-tuples: {(x1 ; χ̃1 ) ; (x2 ; χ̃2 ) ; . . . ; (xn ; χ̃n )} . (5) All the possible n-tuples form a set of vectors Lw . Let us define the addition operation in this set as: ^ ^ û1 ,û2 ,...,ûn ∈Lχ̃ v̂1 ,v̂2 ,...,v̂n ∈Lχ̃ [{û1 ; û2 ; . . . ; ûn } + {v̂1 ; v̂2 ; . . . ; v̂n } ≡ {û1 + v̂1 ; û2 + v̂2 ; . . . ; ûn + v̂n }] . (6) Let us investigate if the set Lw with the number field of mean value-pseudovariace representation (Lχ̃ , +, ·) forms the vector space: 1. Operation + is associative and commutative in the set Lw . These properties result from associativity and commutativity of addition in the set Lχ̃ . In the set Lw there is a neutral element: {(0; 0) ; (0; 0) ; . . . ; (0; 0)} , (7) for each element given by the formula (5) there is an opposite element: {(−x1 ; −χ̃1 ) ; (−x2 ; −χ̃2 ) ; . . . ; (−xn ; −χ̃n )} . Thus the algebraic structure (Lw , +) is an Abelian group. 2. We take as two arguments operation: ^ ^ [â · {û1 ; û2 ; . . . ; ûn } ≡ {âû1 ; âû2 ; . . . ; âûn }] . (8) (9) â∈Lχ̃ û1 ,û2 ,...,ûn ∈Lχ̃ 3. The value (1; 0) is a neutral element of multiplication in the set Lχ̃ . (1; 0) · {û1 ; û2 ; . . . ; ûn } = {û1 ; û2 ; . . . ; ûn } . (10) 24 Mariusz Borawski 4. â b̂~u : â b̂ · {û1 ; û2 ; . . . ; ûn } = o o n n â · b̂û1 ; b̂û2 ; . . . ; b̂ûn = âb̂û1 ; âb̂û2 ; . . . ; âb̂ûn . (11) n o âb̂ ~u : âb̂ · {û1 ; û2 ; . . . ; ûn } = âb̂û1 ; âb̂û2 ; . . . ; âb̂ûn . 5. (12) â~u + b̂~u : â · {û1 ; û2 ; . . . ; ûn } + b̂ · {û1 ; û2 ; . . . ; ûn } = o n {âû1 ; âû2 ; . . . ; âûn } + b̂û1 ; b̂û2 ; . . . ; b̂ûn = n o âû1 + b̂û1 ; âû2 + b̂û2 ; . . . ; âûn + b̂ûn . (13) 6. â + b̂ ~u : â + b̂ · {û1 ; û2 ; . . . ; ûn } = n o â + b̂ û1 ; â + b̂ û2 ; . . . ; â + b̂ ûn = o n âû1 + b̂û1 ; âû2 + b̂û2 ; . . . ; âûn + b̂ûn . (14) â~u + â~v : â · {û1 ; û2 ; . . . ; ûn } + â · {v̂1 ; v̂2 ; . . . ; v̂n } = {âû1 ; âû2 ; . . . ; âûn } + {âv̂1 ; âv̂2 ; . . . ; âv̂n } = {âû1 + âv̂1 ; âû2 + âv̂2 ; . . . ; âûn + âv̂n } . (15) â (~u + ~v ) : â · ({û1 ; û2 ; . . . ; ûn } + {v̂1 ; v̂2 ; . . . ; v̂n }) = â {û1 + v̂1 ; û2 + v̂2 ; . . . ; ûn + v̂n } = {âû1 + âv̂1 ; âû2 + âv̂2 ; . . . ; âûn + âv̂n } . (16) The set Lw over the field of numbers in mean value-pseudovariance representation is thus the vector space. A vector containing the information uncertainty is a vector with length and direction being uncertain. We can determine only the most probable values of its length and direction. These most probable values are described with the aid of mean value after rejection of variance. Variance will determine the degree of our uncertainty about its length and direction. Uncertainty of information has own direction (fig. 1). 25 Vector space over the field of numbers. . . Figure 1. Interpretation of uncertainty in the coordinates of vector 3. Pseudohilbertian space The vector space X over the field (K, +, ·) is called a prehilbertian space, if in this space a function is defined that assigns any pair of elements (~x, ~y ) from the set X the element α ∈ K and satisfies the following conditions [1]: ^ [(~x, ~x) ≥ 0] , (17) ~ x∈X [(~x, ~x) = 0] ≡ [~x is zero element] , ^ ^ [(α~x, ~y ) = α(~x, ~y )] , (18) (19) ~ x,~ y ∈X α∈K ^ [(~x + ~ y , ~z ) = (~x, ~z ) + (~y , ~z )] , (20) ^ (21) ~ x,~ y ,~ z ∈X [(~x, ~y ) = (~y , ~x)∗ ] , ~ x,~ y ∈X ∗ denotes the conjugate number. This function will be called the scalar product in prehilbertian space. In the vector space Lw the scalar product can be defined as: # " n ^ X ^ ûk v̂k . (22) ({û1 ; û2 ; . . . ; ûn } ; {v̂1 ; v̂2 ; . . . ; v̂n }) ≡ û1 ,û2 ,...,ûn ∈Lχ̃ v̂1 ,v̂2 ,...,v̂n ∈Lχ̃ k=1 Let us check if the set Lw over the field of numbers (Lχ̃ ; +; ·) is a prehilbertian space: 1. ({û1 ; û2 ; . . . ; ûn } ; {û1 ; û2 ; . . . ; ûn }) = n X k=1 û2k = n X k=1 x2k ; 2xk χ̃k . (23) 26 Mariusz Borawski Taking into account that x represents the “main” value of the number (x; χ̃) we can link it with the notion of positive and negative fuzzy number. In this case the scalar product of a fuzzy number with itself will be always positive. 2. From the formula (23) arises the fact that scalar product can attain the value equal to neutral element for vectors with all values xk equal zero and arbitrary χ̃k . There is infinite number of such vectors. 3. (â {û1 ; û2 ; . . . ; ûn } ; {v̂1 ; v̂2 ; . . . ; v̂n }) = n n X X ûk v̂k = â ({û1 ; û2 ; . . . ; ûn } ; {v̂1 ; v̂2 ; . . . ; v̂n }) . (24) (âûk ) v̂k = â k=1 k=1 4. ({û1 + v̂1 ; û2 + v̂2 ; . . . ; ûn + v̂n } ; {ŷ1 ; ŷ2 ; . . . ; ŷn }) = n n n X X X (ûk + v̂k ) ŷk = ûk ŷk + v̂k ŷk = k=1 k=1 k=1 ({û1 ; û2 ; . . . ; ûn } ; {ŷ1 ; ŷ2 ; . . . ; ŷn }) + ({v̂1 ; v̂2 ; . . . ; v̂n } ; {ŷ1 ; ŷ2 ; . . . ; ŷn }) . (25) 5. ({û1 ; û2 ; . . . ; ûn } ; {v̂1 ; v̂2 ; . . . ; v̂n }) = n n X X ûk v̂k = v̂k ûk = ({v̂1 ; v̂2 ; . . . ; v̂n } ; {û1 ; û2 ; . . . ; ûn }) . (26) k=1 k=1 Because not only the scalar product of zero vector by itself attains zero value, the set Lw over the field of numbers in the mean value-pseudovariance representation, it is not a prehilbertian space. But the vectors attaining such a value have a special character. All the fuzzy number forming such vectors have a mean value equal zero. Such space can be called pseudoprehilbertian. In the field of numbers in the mean value-pseudovariance representation we can evaluate the square root. Thanks to the possibility to evaluate the square root it is possible in the set Lw to define the distance measure according to the following formula [1]: p (27) k~uk = (~u, ~u) . This set can be thus called the pseudounitary space. 4. Summary The definition a vector space for calculations with uncertain values is a very important task, making it possible to define a vector with uncertain direction and Vector space over the field of numbers. . . 27 length. A lot of quantities have a definite direction and sense, for example force, velocity and acceleration. Such quantities are described with vectors. Similarly like in the case of scalars it is not always possible to determine their exact values, so for vectors it is not always possible to determine exactly their direction and length. In such cases for description of quantities we can use the vectors with uncertain direction and length. Capabilities of a “pure” vector space, as mathematical tool are rather limited. Admittedly it is possible to create a coordinate systems and define the vector based on its coordinates, however the reciprocal process, i.e. determination of coordinates based on vector is not possible. Due to this definition of prehilbertian space is very important, because it introduces the additional element to the vector space – the scalar product making possible to determine the way of evaluation of coordinates for a given vector. In the case of calculations with uncertain values the axiom of prehilbertian space is not met, as given in the formula (18). It says that if the scalar product of a vector by itself is equal zero, than the vector has to be a zero vector. In calculation with uncertain values emerges a problem of definition of a zero vector. We should pose a question if zero value of mean value is sufficient for vector to be zero. From the formula (23) it arises that scalar product of a vector by itself can be zero for nonzero pseudovariance. Existence of prehilbertian space for a field of number in the mean value-pseudovariance representation thus hinge on the form of zero vector definition. But even the definition of zero vector leading to failure of meeting the axiom given by the formula (18) does nor exclude the possibility to use the scalar product in calculations on vectors. Such a situation is encountered for example in pseudoeuclidean spaces, used in particular theory of relativity [3, 13]. Because of lack of clarity, the space with scalar product for uncertain values is called the pseudoprehilbertian space. Definition of distance measure in the pseudooprehilbertian space makes it possible to calculate the length of a vector. Failure to met the axiom concerning the zero vector leads also to failure to meet the axiom about zero value of metric measure between two coinciding points. It can be zero for equal mean values but different variances. In such case we cannot speak about metric and norm, but about measure of distance. Due to a very similar character of pseudoprehilbertian with defined distance measure by the formula (27) and unitary space, by analogy we may call this space the pseudounitary space. References [1] Bronsztejn I. N., Siemiendiajew K. A., Musiol G., Mühlig H., Nowoczesne kompendium matematyki, Warszawa, PWN 2004 [2] Dubois D., Prade H., Fuzzy numbers: An overview, Analysis of Fuzzy Information wolumen 2, Boca Raton, CRC Press 1988 [3] Einstein A., O szczególnej i ogólnej teorji względności, Lwów-Warszawa, Książnica Polska Towarzystwa Nauczycieli Szkół Wyższych 1922 28 Mariusz Borawski [4] Feller W., Wstęp do rachunku prawdopodobieństwa wolumen 1, Warszawa, PWN 2006 [5] Grużewski A., O prawdopodobieństwie i statystyce, Warszawa, PZWS 1966 [6] Harman B., Sum and product of the modified real fuzzy numbers, Kybernetika 1992 [7] Mareŝ M., How to handle fuzzy quantities ?, Kybernetika (13):23–40 1977 [8] Mareŝ M., Addition of rational fuzzy quantities: Convolutive approach, Kybernetika (25):1–12 1989 [9] Mareŝ M., Computation over Fuzzy Quantities, Boca Raton, CRC Press 1994 [10] Mikusiński J., Rachunek operatorów, Warszawa, Polskie Towarzystwo Matematyczne 1953 [11] Mikusiński J., Operational calculus, Warsaw, Oxford, PWN, Pergamon Press 1983 [12] Piegat A., Modelowanie i sterowanie rozmyte, Warszawa, Akademicka Oficyna Wydawnicza EXIT 1999 [13] Raszewski P. K., Geometria Riemanna i analiza tensorowa, Warszawa, PWN 1958 [14] Zadeh L. A., Fuzzy sets, Inform. and Control. 8:338–353 1965 Some aspects of automated psychological characteristics recognition from the facial image Ekaterina Kamenskaya1 , Georgy Kukharev2 1 St.-Petersburg Electrotechnical University, Department of Computer Software Environment 2 Szczecin University of Technology, Faculty of Computer Science and Information Technology Abstract: Identification of psychological characteristics is a task widely used in theoretical and practical psychological research, education, coaching, career guidance and hiring process, business and political affairs, psychotherapeutic diagnostics, self-exploration and awareness, etc. The paper contains some consideration of the computer system of automated psychological characteristics recognition from the facial image, such as a basic schema of its operation, image processing and analysis methods which can be applied, holistic and feature-based approaches, image databases for experiments, etc. Keywords: computer vision, image processing, face recognition, psychology 1. Introduction Identification of psychological characteristics is the task widely used in theoretical and practical psychological research, education, coaching, career guidance and hiring process, business and political affairs, psychotherapeutic diagnostics, self-exploration and awareness, etc. Teachers evaluate student’s personality traits and cognitive abilities to know how to represent material and establish communication and learning process in more efficient way. Lawyers use personality testing for criminal behavior analysis, litigation profiling, witness examination and jury selection. Medical stuff analyses personality characteristics and observes patient’s psychological state in regard of its influence on medical treatment process. Even websites design and software interfaces are now developed based on knowledge of user’s personalities and their preferences. It is hard to underestimate the role of identification of psychological characteristics in modern society, as everyone needs to know people’s psychological traits to understand or predict their reactions to various subjects and situations, no matter if it is for personal or business purposes. Face provides researchers and psychologists with the instrument of obtaining information about someone’s personality and psychological traits. This instrument is more objective than questionnaires and neuropsychological tests (people can not 30 Ekaterina Kamenskaya, Georgy Kukharev change facial features so easily) and it could be used remotely using person’s facial portrait. If this instrument is working automatically (system gets facial portrait as input data, processes it and in result gives out information about personality characteristics) and has straight-forward layout, then: 1) psychological testing becomes more accurate, fast, objective and available for different kinds of research and applications; 2) deep knowledge in interpretation of the facial features, which is rather rare in the modern society, is not needed to administer and use the instrument. As the database containing scientifically proved connections between the facial features and the characteristics of personality is not large so far, realization of the automatic instrument would help to conduct an extensive investigation concerning psychological and medical diagnosis from the facial images. There are three main approaches to psychological characteristics recognition from face: the physiognomy, the phase facial portrait and the ophthalmogeometry. The physiognomy is a theory based upon the idea that the assessment of the person’s outer appearance, primarily the face, facial features, skin texture and quality, may give insights into one’s character or personality. The phase facial portrait operates with the angles of the facial features and the facial asymmetry. The ophthalmogeometry approach is based on the idea that person’s emotional, physical and psychological states can be recognized by 22 or more parameters of an eyes part of the face. Methods and tools existing in the area of recognition of psychological characteristics from the facial image (e.g. “Visage” Project [1] by Dr. Paul Ekman, “Digital physiognomy“ software [2] by Uniphiz Lab, Video-computer psychological diagnosis and correction method [3] by professor Avtandil Anuashvili, ophthalmogeometry approach [4] by professor Ernst Muldashev) have been described in our previous article [5]. They require manual processing and selection of the facial points/features on the images. We suggest that the approaches and the methods developed within face recognition, facial expression recognition, face retrieval should be adjusted and applied to recognition of psychological characteristics from the face. 2. From face recognition systems to systems of new generation The face recognition problem (in computer vision) can be formulated in following general statement: identify or verify one or more persons in the scene on given still or video images using a stored database of faces. The solution mainly involves segmentation of the faces (face detection), feature extraction from the face region, recognition or verification. Structure of face recognition system is represented in Fig. 1 and consists of such steps as image preprocessing, face detection, face normalization, feature extraction (and feature reduction in complex face recognition systems), classification. Among methods applied in face recognition systems are Principal Component Analysis (PCA), Independent Component Analysis (ICA), Linear Discriminant Analysis (LDA), Active Appearance Model (AAM), neural network, etc. In general the methods may be distinguished in to two categories: analytical (geometrical) Some aspects of automated psychological characteristics recognition. . . 31 and global (holistic), the first capture the characteristic set of points on the face and relative distances between them and the second transform the facial image into facial feature space as a whole [6]. Figure 1. Basic structure of face recognition system [7] Many algorithms developed originally for face recognition are used in other research fields, for example, in facial expression analysis to interpret person’s emotional state. Facial expression analysis refers to computer systems that attempt to automatically analyze and recognize facial motions and facial feature changes from visual information. The general approach to automatic facial expression analysis consists of three steps shown on Fig. 2: face acquisition, facial data extraction and representation, and facial expression recognition. Figure 2. Basic structure of facial expression analysis systems [8] Automatic facial expression recognition which had incorporated accomplishments in the related areas such as psychological studies, human movement analysis, face detection, face tracking, and face recognition, enriches facial image understanding including facial modeling, etc. It has many recent advances and successes [9, 10] and can be applied in many areas such as emotion and paralinguistic communication, clinical psychology, psychiatry, neurology, pain asses- 32 Ekaterina Kamenskaya, Georgy Kukharev sment, lie detection, intelligent environments, and multimodal human-computer interface. Expressions of fear, happiness, disgust, and anger are readily and universally interpretable as conveying information about the internal state of another person. Automated facial expression recognition is one of examples representing new tendency of moving from simple systems of human identification and/or authentication to systems of new generation which are capable of recognizing person’s emotional, physical and psychological states. Nowadays technology is interested in not only person’s identity, but also in his/her personality characteristics, feelings, interests, motivations, etc. 3. Computer system of automated psychological characteristics recognition After review of existing approaches to psychological characteristics recognition from the facial image we come to conclusion that the methods and the algorithms developed within face recognition and facial expression recognition may be adjusted and applied in computer system of automated psychological characteristics recognition from the facial portrait. The subject of required investigation is the methods of image processing and analysis which are intended to solve such tasks as: 1. Acquiring/normalizing facial image in accordance with ISO/IEC 19794-5:2005 [11] which specifies photographic and format requirements to facial images (see Fig. 3). 2. Developing fast and reliable method of detection of the basic anthropometric facial parameters (eye’s centers, eye’s horizontal line, vertical symmetry line, nose base line, lip corners, etc.), the algorithm must be coherent with standard ISO/IEC 19794-5:2005 and requirements to computer system of automated psychological characteristics recognition from facial image (see Fig. 4-5). 3. Developing algorithm for synthesis of two new facial images from only right (RR) and only left parts (LL) of the original facial image, normalizing of facial images according to specific anthropometric parameters and other factors (see Fig. 6). 4. Defining the structure of the image database which is to store original and synthesized facial images, and defining the access method to the database. 5. Adjusting algorithms for the facial parts/features detection and normalization. 6. Developing method for automated calculation of distinctions and similarities between facial parts and also between original facial image and two synthesized facial images (RR and LL). Implementation of these procedures in online mode is required to develop automated system of psychological characteristics analysis from the face. Fig. 4 and Fig. 5 show the process of face detection and facial feature localization using such tools as “Face Detector/Localizer” and “Facial Feature Detector” from WIPS, Poland accordingly [12]. Some aspects of automated psychological characteristics recognition. . . 33 Figure 3. Standard facial image parameters in accordance to ISO/IEC 19794-5:2005 [11] Figure 4. The result of face/candidate detection from input image using “Face Detector/Localizer” [12] In point 2 above the need in effective algorithms for detection of the basic anthropometric facial parameters (eye’s centers, eye’s horizontal line, nose base line, lip corners, etc.) is expressed. Actually, many researchers in face recognition and facial expression recognition areas relied on measuring the relative distances between important facial key points: eye corners, mouth corners, nose tip, and 34 Ekaterina Kamenskaya, Georgy Kukharev chin edge [13]. This explains one of possible approaches to features extraction and classification for psychological characteristics recognition from the face. At first the facial region is detected from an input image. The gender of a person is important for some facial features and components classification, so it should be determined. Then the facial components are extracted. The Active Appearance Model (AAM) may be used to extract the facial feature points. From these facial feature points, various measures are computed to distinguish each facial component into defined classes, such as large eye, small mouth, and so on. After classifying facial components with each classification criterion and gender of subject, physiognomic information is generated by combining the classified results of each classification criteria. Although this approach has the advantage of reducing the number of variables, a major drawback may be the difficulty in determining the best set of key points to measure. An alternative approach is to process faces holistically, and it should be also reviewed attentively in application to the computer system of automated psychological characteristics recognition. Holistic techniques, such as template matching, preserve much of the information contained in the original images and are often preferred because they allow a classifier system to discover the relevant features a posteriori. Furthermore, template approaches have been shown to outperform feature-based systems. Another advantage in using holistic face classification techniques is that they are capable of face synthesis [14] and, thus, could be used to generate faces with facial features revealing certain psychological characteristics. Figure 5. The result of detection of anthropometric facial parameters using “Facial Feature Detector” [12] Effective approach may be to model specific traits directly using holistic face recognition techniques, such as principle component analysis (PCA) which has already proven successful at classifying faces according to identity, emotion, gender, and age. Thus, such type of classifier is expected to succeed in classification of facial features for interpretation of psychological traits. The central idea behind Some aspects of automated psychological characteristics recognition. . . 35 PCA is to find an orthonormal set of axes pointing in the direction of maximum covariance in the data. In terms of facial images, the idea is to find the orthonormal basis vectors, or the eigenvectors, of the covariance matrix of a set of images, with each image treated as a single point in a high dimensional space. It is assumed that the facial images form a connected subregion in the image space. The eigenvectors map the most significant variations between faces and are preferred over other correlation techniques that assume every pixel in an image is of equal importance. In Sheryl Brahnam’s experiments [15] four separate PCAs were trained to classify faces along the bipolar extremes (high and low) of the following trait dimensions: dominance, warmth, sociality, and trustworthiness. PCA is also capable of face synthesis, and thus, could be used to generate faces with the facial features revealing certain psychological characteristics. Figure 6. The results of image preprocessing and extraction of external and internal facial regions for its further analysis Besides, no appropriate database of faces for psychological characteristics recognition research is available. The FERET [16] database and others similar to it are available to researchers in face recognition, but they have been developed primarily to evaluate face identification techniques and contain numerous photographs of a small set of individuals that vary in pose, lighting conditions, facial expression, and the addition of such occluding accessories as hats and glasses. The photographs of the faces, the drawings of the faces, and the faces pieced together using Identi-Kit [17] or FACES [18] composite programs may be used for development of new facial databases for experiments in psychological characteristics recognition. 36 Ekaterina Kamenskaya, Georgy Kukharev The database with the facial photographs specifically used for the tasks of psychological characteristics recognition should contain three pictures of each human model (frontal picture and left and right profile pictures) with dimensions of not less than 768 pixels in width and 1024 pixels in length. If the model is wearing glasses, then three pictures should be taken without glasses, and additional frontal picture should be taken with glasses. Among other requirements let’s mention that the face should be illuminated equally and should have no shadows; it is recommended that the model should have neutral facial expression (without smile), the eyes should be normally open and the mouth should be closed; the face must not be occluded by any objects, so it is recommended to hide hair pulling them back behind the ears. 4. Conclusion The paper shows new tendency of moving from systems of face recognition to systems of new generation which can recognize person’s emotional, physical and psychological states. Some methods and tools for psychological characteristics recognition from the facial image are mentioned, though they aren’t automated. The paper gave some consideration of the computer system of automated psychological characteristics recognition from the facial image, such as a basic schema of its functioning, image processing and analysis methods which can be applied, holistic and feature-based approaches, image databases for experiments. Automation of such computer system can potentially make great social impact and get countless psychological, educational and business applications. Furthermore, it can make huge benefits to technology, such as human-computer interaction on a higher level. The analysis of psychological characteristics recognition based on verbal approaches is developed in the research group of professor A. Wiliński in WIPS, Poland. The consolidation of scientific groups (LETI and WIPS) will intensify solving the problem of automated psychological characteristics recognition from the facial image. The authors thank professor A. Wiliński for help in organization of the meeting with the research group WIPS for interest to the topic of person’s psychological characteristics recognition. References [1] Visage Project for Physiognomy Data, can be found at http:// face-and-emotion. com/ dataface/ visage/ about_visage.jsp. [2] Digital Physiognomy Software: Match person’s face to his or her character. Can be found at http:// www.uniphiz.com/ physiognomy.htm. [3] Anuashvili A. Fundamentals of Psychology. Scientific, Philosophic and Spiritual Fundamentals of Psychology. The Institute for Control Problems Press, Moscow, 2001 (In Russian). [4] Muldashev E. R. Whom did we descend from? OLMA-PRESS, Moscow 2002 (In Russian). Some aspects of automated psychological characteristics recognition. . . 37 [5] Kamenskaya E., Kukharev G. Recognition of psychological characteristics from face. Metody Informatyki Stosowanej, nr 1/2008, pp. 59-73, Poland, May 2008. [6] Kukharev G. A., Chegolewa N. L. Face Recognition Systems. LETI, St. Petersburg, 2006. [7] Kukharev G., Kuzminski A. Techniki Biometriczne. Część 1. Metody Rozpoznawania Twarzy. Pracownia Poligraficzna WI PS, 2003. [8] Tian Y.-L., Kanade T., Cohn J. F. Facial Expression Analysis. In: Handbook of face recognition, Li S. Z., Jain A. K. (eds.), pp. 247-276, Springer, 2005. [9] Cohn J., Kanade T., Moriyama T., Ambadar Z., Xiao J., Gao J., Imamura H. A comparative study of alternative facs coding algorithms. Technical Report CMU-RI-TR-02-06, Robotics Institute, Carnegie Mellon University, Pittsburgh, November 2001. [10] Tian Y.-L., Kanade T., Cohn J. Recognizing action units for facial expression analysis. IEEE Trans. on Pattern Analysis and Machine Intelligence, 23(2):1-19, 2001. [11] International Organization for Standardization: ISO/IEC 19794-5:2005 Information technology – Biometric data interchange formats – Part 5: Face image data, http:// www.iso.org/ iso/ iso_catalogue/ catalogue_tc/ catalogue_detail.htm? csnumber=38749 [12] Masicz P., Kukharev G. Scientific research of the “Face Locator” environment which uses the Method of oval object location and the variable ray procedure. Polish Journal of Environmental Studies, Vol. 16, No. 4A, 2007, pp. 173-176. [13] Brunelli R., Poggio T. Face Recognition through Geometrical Features. Lecture Notes In Computer Science; Vol. 588 archive. Proceedings of the Second European Conference on Computer Vision, pp. 792-800, 1992. [14] Vetter T., Poggio T. Linear Object Classes and Image Synthesis From a Single Example Image. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 19, no. 7, pp. 733-742, 1997. [15] Brahnam S. A study in artificial personality from the perspective of the observer. Proceedings of the Modeling Other Agents from Observations (MOO), pp. 57-64, New York City, 2004. [16] Phillips P. J., Moon H., Rauss P. J., Rizvi S. The FERET evaluation methodology for face recognition algorithms. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 22, No. 10, October 2000. The FERET Database can be found at http:// www.itl.nist.gov/ iad/ humanid/ feret/ . [17] Identi-Kit software, can be found at http:// www.identikit.net/ . [18] Faces software by InterQuest, can be found at http:// www.resourcemanagement.net/ . Ilościowa ocena zmian regionalnego poziomu ochrony środowiska∗ Janusz Korol Uniwersytet Szczeciński, Wydział Nauk Ekonomicznych i Zarządzania Abstract: Implementation of the sustainable development concept and its monitoring require both precise definition of the measures and careful selection of the measurement method. The relationship between the concept of development and its measures, including the model concepts of development, is mutual. On the one hand, the measures are drivers of the development concept, and on the other – they reflect the scale and structure of development processes. The role of sustainable development indicators in this context is enforced by the opportunities of their practical implementation allowing a fair evaluation of the present condition and a scientifically approved forecast of economic as well as social and ecological effects. The paper provides evaluation of one of the aspects of regional sustainable development – environmental protection. The subsequent stages of that evaluation include: — an analysis of the distribution of environmental protection measures in regions in the years 1998 and 2005; — construction of a synthetic measure of environmental protection and an analysis of its changes in regions; — an analysis of the impact of economic factors on environmental protection. In the study quantitative taxonomic and econometric methods of regional analysis have been employed. Słowa kluczowe: regional sustainable development, eco-development 1. Regionalne wskaźniki zrównoważonego rozwoju i ochrony środowiska Wdrażanie koncepcji rozwoju zrównoważonego i monitorowanie jej realizacji wymaga sprecyzowania sposobu jego pomiaru i określenia mierników służących temu pomiarowi. Powiązanie koncepcji rozwoju i jego mierników, również modelowych koncepcji rozwoju, ma charakter wzajemny. Z jednej strony mierniki są bowiem nośnikami koncepcji rozwoju, a z drugiej odzwierciedlają skalę i strukturę ∗ Artykuł po raz pierwszy ukazał się w numerze specjalnym Metod Informatyki Stosowanej (Tom 14), jednak z winy Redakcji wkradł się do niego wówczas błąd. Przepraszając Autora za zaistniałą sytuację, niniejszym drukujemy poprawną wersję. 40 Janusz Korol Tabela 1. Grupy i kategorie wskaźników zrównoważonego rozwoju Ład środowiskowy 1. Jakość wód i jej ochrona (gospodarka wodno-ściekowa. 2. Jakość powietrza i jego ochrona. 3. Ochrona powierzchni ziemi i surowców naturalnych (gospodarka odpadami). 4. Jakość i ochrona klimatu akustycznego (hałas). 5. Ochrona przyrody i krajobrazu oraz gospodarowanie przestrzenią. 6. Ochrona przed promieniowaniem i nadzwyczajne zagrożenia środowiska. 7. Dostęp do informacji o środowisku. Ład ekonomiczny 1. Produkt krajowy brutto w regionie. 2. Rozwój przedsiębiorczości i aktywność zawodowa ludności. 3. Dostęp do infrastruktury. 4. Zrównoważony rozwój wsi. 5. Zrównoważony rozwój turystyki. 6. Zrównoważony rozwój transportu. 7. Zrównoważony rozwój energetyki. Ład społeczny 1. Demografia. 2. Zwalczanie ubóstwa. 3. Zdrowie i jego ochrona. 4. Kultura i rekreacja. 5. Edukacja. 6. Mieszkalnictwo. 7. Bezpieczeństwo publiczne. 8. Partnerstwo i równouprawnienie. Źródło: opracowanie własne na podstawie [5, s. 22-30] procesów rozwoju. Rolę mierników rozwoju zrównoważonego w tym kontekście podkreślają również możliwości, które wynikają z ich praktycznego zastosowania, pozwalającego na rzetelną ocenę istniejącego stanu, a także potwierdzoną naukową prognozę efektów ekonomicznych oraz skutków społecznych i ekologicznych. Grupę wskaźników ładu i ochrony środowiska oraz jej poszczególne kategorie na tle pozostałych wskaźników rozwoju zrównoważonego dla poziomu wojewódzkiego przedstawiono w tabeli 1. Wskaźniki te pozwalają na analizę problemów ekonomicznych, społecznych i ekologicznych w układzie Presja/Przyczyna – Stan – Reakcja. W odniesieniu do ładu środowiskowego wskaźniki presji przedstawiają źródło problemów i zagrożeń środowiska. Wskaźniki stanu estymują jakość środowiska. Wskaźniki reakcji informują, jak przebiegają działania w celu utrzymania lub poprawy stanu środowiska. Jako przykład przytoczyć można analizę jakości powietrza atmosferycznego. Wskaźnikami przyczyn są między innymi: emisja zanieczyszczeń pyłowych i gazowych z zakładów szczególnie uciążliwych, wskaźnikami stanu: stężenie gazów i pyłów, a wskaźnikami reakcji nakłady na zapobieganie tym zanieczyszczeniom. Praktyczne wdrożenie tak sformułowanych modeli wskaźników pozwala uzyskać informacje o lokalnych i regionalnych procesach zrównoważonego rozwoju, ich tempie i zakresach realizacji oraz efektywności. 2. Rozkład wskaźników ochrony środowiska w regionach w latach 1998 i 2005 Ocenę struktury i poziomu ochrony środowiska i ich zróżnicowania w regionach przeprowadzono dokonując analizy opisowej wskaźników ochrony środowiska, a następnie w syntetyczny sposób zbadano podobieństwo ich rozkładu i poziom w regionach. Na finalnym etapie zidentyfikowano związek pomiędzy poziomem ochrony środowiska oraz poziomem rozwoju ekonomicznego w regionach. Punktem wyjścia dla prowadzonego badania stanowi raport z realizacji pracy Opracowanie modelu wdrożeniowego wskaźników zrównoważonego rozwoju na poziomie wojewódzkim..., w którym pogrupowano poszczególne wskaźniki w odpowiednie dziedziny dla każ- Ilościowa ocena zmian regionalnego poziomu ochrony środowiska 41 dego z wymiarów zrównoważonego rozwoju1. W dziedzinie ochrony środowiska ostatecznie zredagowano listę 13 wskaźników dostępnych na poziomie województw dla lat 1998-2005. Obejmuje ona pięć wcześniej wymienionych sfer: jakość wód i ich ochronę, jakość powietrza i jego ochronę, ochronę powierzchni ziemi, ochronę klimatu akustycznego, ochrony przyrody i krajobrazu oraz gospodarowanie przestrzenią. Szczegółowe zestawienie omawianych wskaźników i ich podstawowe statystyczne charakterystyki dla lat 1998 i 2005 przedstawiono w tabeli 2. Na podstawie danych tabeli 2 sformułować można pierwsze wnioski o kształtowaniu się poszczególnych komponentów ochrony środowiska w Polsce w okresie 1998-2005. Wyraźnie obniżyły się w roku 2005 w porównaniu do roku 1998 nakłady inwestycyjne na ochronę powietrza i klimatu. Wynika to jednak z faktu, że w kraju poczyniono już wcześniej wiele inwestycji w celu wypełnienia międzynarodowych norm w tej dziedzinie. Wiąże się z tym spadek zanieczyszczeń pyłowych i gazowych. Do pozytywnych zmian, jakie zaszły w kraju zaliczyć także należy zwiększenie się udziału ludności korzystającej z oczyszczalni ścieków i wzrost powierzchni parków spacerowo-wypoczynkowych. Zaobserwować również można dość silne wewnętrzne zróżnicowanie rozkładu cech w regionach. Zwłaszcza emisji zanieczyszczeń i nakładów inwestycyjnych na ochronę środowiska. Zmniejszyło się zróżnicowanie nakładów według trzech głównych kierunku inwestowania, tj. w zakresie gospodarki i ochrony wód, ochrony powietrza i gospodarki odpadami. W celu pełniejszego scharakteryzowania rozkładów wskaźników według regionów dokonano ich grupowania i porządkowania. Spośród procedur grupowania zastosowano metodę pełnego wiązania2. Badanie przeprowadzono na podstawie 1 Na podstawie tego raportu dokonano analizy możliwości ich zebrania lub wyznaczenia w oparciu o informacje publikowane przez Główny Urząd Statystyczny. Redagując ostateczną listę wskaźników wziętych pod uwagę, kierowano się zasadą zapewnienia porównywalności wyników dla kolejnych badanych lat, co zdeterminowało uwzględnienie tylko tych wskaźników, które możliwe były do zebrania lub wyznaczenia dla wszystkich badanych lat. 2 W metodach aglomeracyjnych każdy obiekt stanowi początkowo odrębną grupę, następnie zmniejsza się sukcesywnie liczbę grup przez ich łączenie w grupy wyższego rzędu. Proces łączenia kończy się z chwilą uzyskania jednej grupy składającej się ze zbioru wszystkich obiektów. Schemat metod aglomeracyjnych: 1. Na podstawie macierzy odległości D szuka się pary skupień p i q najmniej odległych od siebie: dpq = min {dij } , i, j = 1, . . . , n, i,j gdzie: n – liczba aktualnie występujących grup (w pierwszej iteracji n oznacza liczbę obiektów). 2. Łączy się p i q w jedno nowe skupienie, nadając mu nazwę skupienia p, i usuwa skupienie q. Zmniejsza się liczbę skupień o jeden. 3. Wyznacza się odległości nowego skupienia od wszystkich pozostałych skupień według wzoru: dpr = a1 dpr + a2 dqr + bdpq + c |dpr − dqr | , gdzie: dpq – wartość wyznaczona według wzoru z pkt.1, r – element zbioru obiektów różnych od p i q, a1 , a2 , b, c – parametry charakteryzujące wybraną procedurę aglomeracyjną, dla metody kompletnego powiązania wynoszą one: a1 = 0, 5, a2 = 0, 5, b = 0, c = 0, 5. 4. Czynności od 1 do 3 powtarza się, redukując wymiar macierzy D o jeden, aż do momentu, gdy wszystkie obiekty połączą się w jedno skupienie. 42 Janusz Korol Tabela 2. Wskaźniki ochrony środowiska i ich statystyczna charakterystyka w latach 1998 i 2005 Rok Poziom minimalny Poziom maksymalny Średnia Współczynnik arytmezmienności tyczna w % X1 – Udział ludności korzystającej z oczyszczalni ścieków w ogólnej liczbie ludności w % 1998 35,5 Podkarpackie 71,0 Pomorskie 49,22 20,27 2005 47,3 Mazowieckie 78,5 Pomorskie 60,63 14,67 X2 – Nakłady inwestycyjne na gospodarkę wodną i ochronę wód na mieszkańca w zł w cenach bieżących 1998 45,8 Lubelskie 153 Lubuskie 90,43 30,15 2005 46,0 Podlaskie 136 Opolskie 93,94 24,70 X3 – Udział zużycia wody w przemyśle w ogólnym zużyciu wody na potrzeby gospodarki narodowej i ludności w % 1998 20,6 Lubuskie 93,5 Świętokrzyskie 51,33 49,02 2005 15,3 Lubuskie 93,1 Zachodniopomorskie 50,03 53,95 X4 – Emisja zanieczyszczeń pyłowych z zakładów szczególnie uciążliwych w t na km2 1998 0,20 Podlaskie 4,50 Śląskie 0,97 101,12 2005 0,08 Warmińsko-mazurskie 1,82 Śląskie 0,40 97,15 X5 – Emisja zanieczyszczeń gazowych bez dwutlenku węgla z zakładów szczególnie uciążliwych w t na km2 1998 0,80 Warmińsko-mazurskie 39,70 Śląskie 8,28 115,23 2005 0,40 Warmińsko-mazurskie 57,90 Śląskie 7,76 172,52 X6 – Nakłady inwestycyjne na ochronę powietrza i klimatu na mieszkańca w zł w cenach bieżących 1998 21,5 Warmińsko-mazurskie 236 Świętokrzyskie 104,94 67,94 2005 10,6 Podlaskie 62,6 Łódzkie 25,72 62,50 X7 – Odpady komunalne stałe wywiezione na mieszkańca w tonach 1998 0,22 Podkarpackie 0,50 Dolnośląskie 0,32 23,50 2005 0,14 Świętokrzyskie 0,31 Dolnośląskie 0,24 21,10 X8 – Udział odpadów wyselekcjonowanych w ogólnej ilości odpadów komunalnych stałych wywiezionych w % 1998 0,41 Warmińsko-mazurskie 4,31 Lubelskie 2,16 54,56 2005 1,91 Podlaskie 6,30 Opolskie 3,14 32,44 X9 – Nakłady inwestycyjne na gospodarkę odpadami na mieszkańca w zł w cenach bieżących 1998 3,31 Świętokrzyskie 82,6 Lubuskie 21,70 102,74 2005 1,13 Lubuskie 39,4 Dolnośląskie 16,95 52,48 X10 – Nakłady inwestycyjne na zmniejszanie hałasu i wibracji na mieszkańca w zł w cenach bieżących 1998 0,01 Opolskie 0,73 Świętokrzyskie 0,25 100,85 2005 0,00 Podlaskie 11,50 Mazowieckie 1,96 141,22 X11 – Powierzchnia parków spacerowo-wypoczynkowych w ha na tys. mieszkańców 1998 0,20 Lubelskie 0,63 Kujawsko-pomorskie 0,40 33,83 2005 0,24 Świętokrzyskie, Podkarpackie 0,87 Wielkopolskie 0,54 41,27 X12 – Udział powierzchni i o walorach szczególnie przyrodniczych prawnie chronionej w powierzchni województwa w % 1998 16,3 Łódzkie 53,1 Warmińsko-mazurskie 31,36 34,10 2005 16,4 Łódzkie 61,9 Świętokrzyskie 33,68 39,65 X13 – Nakłady inwestycyjne na ochronę różnorodności biologicznej i krajobrazu na mieszkańca w zł w cenach bieżących 0,75 Mazowieckie 0,14 156,87 1998 0,00 Kujawsko-pomorskie, Warmińsko-mazurskie, Lubuskie, Małopolskie, Świętokrzyskie, 1,34 Pomorskie 0,18 193,50 2005 0,00 Lubuskie, Małopolskie, Podkarpackie, Podlaskie, Świętokrzyskie Źródło: opracowanie własne na podstawie [4], [6] 43 Ilościowa ocena zmian regionalnego poziomu ochrony środowiska danych za rok 2005. Najmniejsza odległość 0,044 wyniosła pomiędzy regionami wielkopolskim i zachodniopomorskim. Największa 0,542 dzieliła regiony świętokrzyski i dolnośląski. Wyniki grupowania zaprezentowano na rysunku 1. Wyróżnić można sześć grup regionów o podobnej strukturze wskaźników. Pierwszą (I) tworzą regiony: lubelski, podlaski i warmińsko-mazurski. W skład drugiej (II) wchodzą: łódzki, śląski i opolski. Trzecia grupa (III) obejmuje regiony: małopolski, podkarpacki i świętokrzyski. Czwarta (IV) składa się z: dolnośląskiego, wielkopolskiego, zachodniopomorskiego, kujawsko-pomorskiego i lubuskiego. W największej odległości od pozostałych regionów pozostają mazowiecki i pomorski. Tworzą one grupy jednoelementowe. Skupienia grup w układzie przestrzennym przedstawiono na rysunku 2, a rozkład wskaźników ochrony środowiska dla wyodrębnionych grup na rysunku 3. Dolnośląskie Wielkopolskie Zachodniopomorskie Kujawsko-pomorskie Lubuskie Pomorskie Lubelskie Podlaskie Warmińsko-mazurskie Łódzkie Śląskie Opolskie Małopolskie Podkarpackie Świętokrzyskie Mazowieckie 0,0 0,1 0,2 0,3 0,4 0,5 0,6 Odległości wiązań Rysunek 1. Diagram grupowania regionów według wskaźników ochrony środowiska Źródło: obliczenia własne w programach GDM i Statistica W grupie I regionów, które są położne w północno-wschodniej części kraju najmniejsze są zużycie wody na potrzeby gospodarki (X2 ) i emisja zanieczyszczeń gazowych i pyłowych (X4 i X5 ). Stąd w regionach tych relatywnie najniższe są też nakłady inwestycje na gospodarkę wodną i ochronę powietrza (X2 i X6 ). Odmiennie kształtuje się sytuacja w regionach grupy II, położonych w części południowo-centralnej kraju, gdzie występują największe zanieczyszczenia powietrza. W tej części kraju przeznaczane są też jedne z najwyższych nakładów inwestycyjnych na jego ochronę. Relatywnie wysokie są tam również nakłady na gospodarkę wodną. Regiony te cechują się również najmniejszą powierzchnią obszarów o szczególnych walorach przyrodniczych (X12 ). Obszarów tych najwięcej jest w regionach grupy III, położonych w części południowo-wschodniej kraju. W tej części kraju występuje ponadto relatywnie wysokie zużycie wody na potrzeby gospodarki. Infrastruktura komunalna ochrony wód jest jednak w tej części słabo rozbudowana (X1 ). Najlepiej rozbudowana jest ona w regionie pomorskim (grupa 44 Janusz Korol Pomorskie Zachodnio- Warmińsko- -mazurskie Kujaw sko-pomorskie pomorskie Podlaskie Mazow ieckie Lubuskie Wielkopolskie Łódzkie Dolnośląskie Grupa Grupa Grupa Grupa Grupa Grupa I II III IV V VI (3) (3) (3) (5) (1) (1) Opolskie Śląskie Lubelskie Św ięt okrzyskie Podkar- Małopolskie packie Rysunek 2. Skupienia regionów w układzie przestrzennym Źródło: opracowanie własne VI). Najwyższe są tam także nakłady inwestycyjne na ochronę różnorodności biologicznej (X13 ). Pozostałe regiony położone na zachodzie kraju – grupa IV, cechują się tym, że jest tam relatywnie najwięcej parków spacerowo-wypoczynkowych (X11 ). W regionie mazowieckim (grupa V), podobnie jak w regionach położonych na północnym-wschodzie kraju, mała jest dostępność komunalnych oczyszczalni 1,0 Średnia dla wartości znormalizowanych 0,9 0,8 I 0,7 II 0,6 III 0,5 IV 0,4 V 0,3 VI 0,2 0,1 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 0,0 Rysunek 3. Zróżnicowanie wskaźników ochrony środowiska według grup regionów Źródło: opracowanie własne 45 Ilościowa ocena zmian regionalnego poziomu ochrony środowiska ścieków. W odróżnieniu od nich, są tam jednak najwyższe inwestycje na ochronę powietrza i zmniejszanie hałasu i wibracji. Zbieranych jest tam również najwięcej odpadów komunalnych. 3. Syntetyczna miara poziomu ochrony środowiska i jej zmiany w regionach Wyniki uzyskane na poprzednim etapie badania wskazują, że regiony posiadają zróżnicowane walory środowiska przyrodniczego. Zróżnicowane są również działania w zakresie jego ochrony. Trudno zatem na tej podstawie jednoznacznie ocenić poziom ochrony środowiska w regionach. Dlatego też wyznaczono syntetyczną miarę dotyczącą tego poziomu. Miara ta, zapewniając wielowymiarowość prowadzonego badania, pozwala uzyskać odpowiedź nie tylko na pytanie, jakie miejsce zajmuje w strukturze dany region (województwo), lecz także jak dalece jest on odległy od wzorca. Przydatność tego typu badania prowadzonego systematycznie dla kolejnych okresów pozwala na uzyskanie odpowiedzi na pytania jak i w którym kierunku przebiega zachodzący proces w danym regionie oraz gdzie występują podobieństwa i różnice między regionami i zmiany zachodzące w tej sferze. Zastosowano uogólnioną miarę odległości GDM3 . Jako metodę normalizacji danych zastosowano unitaryzację zerowaną. Jako destymulanty występują następujące zmienne: X25 – udział zużycia wody przez przemysł w ogólnym zużyciu wody, X26 – emisja zanieczyszczeń pyłowych z zakładów szczególnie uciążliwych, 3 Miara ta wykorzystana jest jako syntetyczny miernik rozwoju w liniowym porządkowaniu obiektów oraz oceny podobieństwa wyników porządkowania liniowego zbioru obiektów w czasie. Miara ta ma następująca postać [7]: dik = 1 − sik 1 = − 2 2 m X aikj bkij + j=1 2 m X n X ailj bklj j=1 l=1 l6=i,k m X n X j=1 l=1 a2ilj × m X n X j=1 l=1 1 (1) 2 b2klj gdzie: dik (sik ) – miara odległości (podobieństwa) obiektów i i k, i, k, l = 1, . . . , n – numer obiektu, j = 1, . . . , m – numer zmiennej. W zależności od tego, na jakiej skali pomiarowej mierzone są zmienne używane do określania odległości obiektów należy zastosować odpowiednią konstrukcję tej miary. Dla zmiennych mierzonych na skali ilorazowej i (lub) przedziałowej w formule (1) stosowane jest podstawienie: aipj = xij − xpj dla p = w, l, bwrj = xwj − xrj dla r = i, l, gdzie: xij (xlj ) i-ta, (l-ta) obserwacja na j-tej zmiennej. Warunkiem wyznaczenia poszczególnych odległości cząstkowych określonych formułą (1) jest określenie charakteru zmiennych (stymulanty, destymulanty, nominanty) i wcześniejsze przeprowadzenie procedury normalizacji zmiennych. W przypadku stosowania do pomiaru odległości obiektów zmiennych, które mają zróżnicowany wpływ na tę odległość danym zmiennym przypisuje się określone wagi. 46 Janusz Korol Tabela 3. Wskaźniki GDM ładu i ochrony środowiska w latach 1998 i 2005 Lp. Województwo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Dolnośląskie Kujawsko-pomorskie Lubelskie Lubuskie Łódzkie Małopolskie Mazowieckie Opolskie Podkarpackie Podlaskie Pomorskie Śląskie Świętokrzyskie Warmińsko-mazurskie Wielkopolskie Zachodniopomorskie 1998 Wskaźnik Pozycja GDM 0,2364 0,4801 0,4373 0,2991 0,4625 0,4848 0,3224 0,4015 0,5948 0,4634 0,1731 0,3077 0,4080 0,4710 0,4114 0,4364 2 14 10 3 11 15 5 6 16 12 1 4 7 13 8 9 2005 Wskaźnik Pozycja GDM 0,3327 0,3889 0,5763 0,3740 0,3299 0,4072 0,3294 0,2601 0,4679 0,5424 0,3267 0,3654 0,5722 0,4530 0,3898 0,4285 5 8 16 7 4 10 3 1 13 14 2 6 15 12 9 11 Źródło: obliczenia własne przy użyciu programu GDM for Windows X27 – emisja zanieczyszczeń gazowych z zakładów szczególnie uciążliwych. Pozostałe zmienne mają charakter stymulant. Każdej ze zmiennych nadano jednakową wagę wynoszącą jeden. Odległości każdego województwa od abstrakcyjnego województwa posiadającego najkorzystniejsze wartości poszczególnych zmiennych z wykorzystaniem uogólnionej miary odległości dla lat 1998 i 2005 przedstawiono w tabeli 3. Najwyższy poziom ochrony środowiska w roku 2005 miał miejsce w województwie opolskim, dla którego miara GDM przyjęła wartość 0,261. Wysoki poziom miał miejsce również w dwóch pozostałych regionach z grupy II (południowo-centralnej): w łódzkim i śląskim. Także województwa mazowieckie i pomorskie cechowały się wysokim poziomem ochrony środowiska. Najniższy poziom miał miejsce w województwie lubelskim. Miara GDM dla tego regionu wyniosła 0,5763. Niski był również w dwóch innych regionach z grupy I (północno-wschodniej): w podlaskim i warmińsko-mazurskim. Także niski poziom miał miejsce w województwach z grupy III (południowo-wschodniej): w świętokrzyskim, podkarpackim i małopolskim. W większości województw grupy IV (zachodniej) występował natomiast średni poziom ochrony środowiska. Okazuje się zatem, że niższy poziom ochrony środowiska wykazały dwa skupienia regionów położonych na wschodzie kraju. Ze względu na ich walory przyrodnicze wydaje się to jednak znajdować swoje usprawiedliwienie. 47 Ilościowa ocena zmian regionalnego poziomu ochrony środowiska Opolskie(II) Lubelskie(I) 0,6 Łódzkie(II) 0,5 Podlaskie(I) Śląskie(II) 0,4 0,3 WarmińskoMazowieckie(V) mazurskie(I) 0,2 0,1 Pomorskie(VI) Świętokrzyskie(III) 0 Podkarpackie(III) Dolnośląskie(IV) Lubuskie (IV) Małopolskie(III) Zachodniopomorskie Kujawsko(IV) pomorskie(IV) Wielkopolskie(IV) 1998 2005 Rysunek 4. Zmiany poziomu ochrony środowiska w poszczególnych grupach regionów Źródło: opracowanie własne W celu zobrazowania zmian, na które zaszły na przestrzeni lat 1998-2005 posłużono się wykresem radarowym przedstawionym na rysunku 4. Zwiększyła się odległość od wzorca poziomu ochrony środowiska w dwóch województwach grupy północno-wschodniej: w lubelskim i podlaskim. W grupie województw położonych w części południowo-wschodniej, sytuacja taka miała miejsce w świętokrzyskim. Pozytywne zmiany w grupie tej zaszły w województwach małopolskim i podkarpackim. Spowodowało to pewne wyrównane poziomu ochrony środowiska w tej grupie i upodobnienie się ich do siebie. W grupie województw położonych na zachodzie kraju pozytywne zmiany zaszły w województwie kujawsko-pomorskim, a pewne negatywne w lubuskim i dolnośląskim. Jeszcze wyraźniejszy spadek poziomu ochrony środowiska wystąpił w regionie pomorskim. Spowodowało to, że dość znacznie upodobniło się ono do pozostałych województw położonych w tej części kraju, na co wskazywały wcześniejsze badania. Bardzo wyraźne pozytywne zmiany w ochronie środowiska zaszły natomiast w dwóch województwach położonych w południowo-centralnej części kraju, w opolskim i łódzkim. 4. Analiza wpływu czynników ekonomicznych na ochronę środowiska Stan i poziom ochrony środowiska warunkuje wiele czynników. Rozwój działalności gospodarczej z jednej strony powoduje silną jego presję. Presję środowiska warunkuje również struktura procesów gospodarczych w regionach. Zwłaszcza rozwój sektora usług obniża jego presję. Wzrost rozwoju gospodarczego w regionach wpływa również na możliwości finansowania i rozbudowy infrastruktury ochrony środowiska. W nawiązaniu do tych założeń postanowiono określić siłę i kierunek związku pomiędzy rozwojem ekonomicznym w regionach a ochroną środowiska. 48 Janusz Korol 0,7 0,7 0,6 0,6 GDM ochrony środowiska GDM ochrony środowiska Analizie poddano dane przekrojowo-czasowe za okres 1998-2005. Liczba obserwacji wyniosła 128. Jako miarę poziomu ochrony środowiska zastosowano wyznaczoną na poprzednim etapie badania miarę GDM. Zbadano skorelowanie miary GDM ochrony środowiska z dwiema podstawowymi charakterystykami poziomu rozwoju ekonomicznego w regionach: PKB na mieszkańca i liczbą podmiotów gospodarczych w przeliczeniu na tys. mieszkańców4 . Uzyskane wyniki zilustrowano na rysunku 5. 0,5 0,4 0,3 0,2 0,1 0,0 0,5 0,4 0,3 0,2 0,1 0,0 5 10 15 20 25 30 35 PKB na mieszkańca w tys. zł 40 45 0 5 10 15 20 25 Podmioty gospodarcze na 1000 mieszkańców Rysunek 5. Korelacja miary GDM ochrony środowiska z PKB i liczbą podmiotów gospodarczych. Źródło: opracowanie własne Współczynnik korelacji Pearsona pomiędzy GDM ochrony środowiska, a PKB wynosi – 0,374, z liczbą podmiotów gospodarczych – 0,462. Wyniki te okazują się istotne i wskazują spadek odległości od wzorca ochrony środowiska wraz ze wzrostem badanych cech. Oznacza to, że wzrost PKB i liczby podmiotów gospodarczych mogą być jednymi z czynników wpływających pozytywnie na ochronę środowiska w regionach. W celu bardziej precyzyjnej oceny związku pomiędzy rozwojem ekonomicznym i ochroną środowiska wykorzystano dodatkowo syntetyczną miarę rozwoju ekonomicznego. Wyznaczono ją również jako odległość od wzorca z wykorzystaniem miary GDM5 . Uzyskane wyniki przedstawiono na rysunku 6. 4 W danych o liczbie podmiotów gospodarczych nie uwzględniono osób fizycznych prowadzących działalność gospodarczą i spółek cywilnych, ze względu na brak tych danych dla lat 1998-2000. 5 Zgodnie ze wcześniej omawianą listą wskaźników ekonomicznych rozwoju zrównoważonego, obok wymienionej już liczby podmiotów gospodarczych na tys. mieszkańców i PKB w przeliczeniu na mieszkańca w badaniu uwzględniono dodatkowo siedem cech. Należą do nich: wartość brutto środków trwałych na mieszkańca w tys. zł, nakłady inwestycyjne na mieszkańca w tys. zł, odsetek pracujących w usługach, odsetek ludności w wieku przed i po produkcyjnym w stosunku do ludności w wieku produkcyjnym, liczbę pracujących na tys. mieszkańców, nakłady na działalność innowacyjną na mieszkańca w złotych, nakłady na działalność badawczo-rozwojową na mieszkańca w zł. Ponieważ zastosowano wzorzec zmienny, cechy ujęte w postaci wartościowej wyrażono w cenach bieżących. Identycznie postąpiono w przypadku obliczania miary GDM ochrony środowiska. Szerzej na temat kształtowania się wskaźników ekonomicznych rozwoju zrównoważonego zobacz [3]. Ilościowa ocena zmian regionalnego poziomu ochrony środowiska 49 GDM ochrony środowiska 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0,0 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 GDM rozwoju ekonomicznego Rysunek 6. Korelacja miar GDM ochrony środowiska i rozwoju ekonomicznego Źródło: opracowanie własne Badany związek okazał się również istotny. Współczynnik korelacji pomiędzy miarami GDM ochrony środowiska (GDMOŚ ) i rozwoju ekonomicznego (GDME ) wyniósł 0,611. Wskazuje on, że wraz ze wzrostem odległości od wzorca rozwoju ekonomicznego, wzrasta również odległość od wzorca ochrony środowiska. Występuje zatem pozytywny wpływ poziomu rozwoju ekonomicznego na poziom ochrony środowiska. Równanie regresji ma postać: GD̂MOŚ = 0, 246 + 0, 363 ·GDMRE ; (0,020) R = 0, 62 (0,042) Dla kształtowania się ochrony środowiska ważne są także zmiany, jakie zaszły na przestrzeni lat w regionach. Postanowiono również podjąć próbę ich ocenienia. W tym celu zbudowano dwa oddzielne równania regresji dla lat 1998 i 2005. Uzyskano następujące wyniki: — dla roku 1998: GD̂MOŚ = 0, 220 + 0, 407 ·GDMRE ; R = 0, 616, — dla roku 2005: GD̂MOŚ = 0, 261 + 0, 337 ·GDMRE ; R = 0, 695. (0,065) (0,044) (0,139) (0,093) Odnotować zatem należy wzrost siły wpływu rozwoju ekonomicznego na ochronę środowiska w układzie regionów. Według danych z roku 2005 rozwój ekonomiczny tłumaczyć może nawet 48,3% zmienności w zakresie ochrony środowiska w regionach. Oczywiście ważna jest również regionalna specyfika ochrony środowiska przyrodniczego w regionach. Przedstawiono ją w punktach 2 i 3 artykułu. Bibliografia [1] Borys T. Indicators for Sustainable Development – Polish Experiences. Wydawnictwo Ekonomia i Środowisko, Warszawa-Białystok 2005 [2] Borys T. (red.) Wskaźniki zrównoważonego rozwoju. Wydawnictwo Ekonomia i Środowisko, Warszawa-Białystok 2006 50 Janusz Korol [3] Korol J. Wskaźniki zrównoważonego rozwoju w modelowaniu procesów regionalnych. Wydawnictwo Adam Marszałek, Toruń 2007 [4] Ochrona Środowiska 1999-2006, GUS, Warszawa, 1999-2006 [5] Opracowanie modelu wdrożeniowego wskaźników zrównoważonego rozwoju na poziomie wojewódzkim w ramach banku danych regionalnych. Synteza. Praca zespołowa pod kier. T. Borysa, Jelenia Góra-Warszawa, marzec 2003, www.mos.gov.pl [6] Roczniki Statystyczne Województw 1999-2007, GUS, Warszawa 1999-2007 [7] Walesiak M. Uogólniona miara odległości w statystycznej analizie wielowymiarowej. Wydawnictwo Akademii Ekonomicznej we Wrocławiu, Wrocław 2006 An efficient low bitrate video transmission algorithm supported by the Monte Carlo method Piotr Lech, Krzysztof Okarma Szczecin University of Technology, Faculty of Electrical Engineering Abstract: In the paper a proposal of practical utilisation of motion detection algorithm supported by the Monte Carlo method for video transmission using low bandwidth networks is presented. Proposed approach is especially useful for low performance embedded systems with the limited amount of memory. The idea of the Monte Carlo based transmission system with its example implementation using FTP and HTTP protocols is discussed. Our algorithm has much less computational requirements and can be easily implemented in many low performance hardware systems. Keywords: video transmission, statistical image analysis, Monte Carlo method 1. Introduction Commonly used video transmission methods [4] over the computer networks are based on the assumption of using high bitrate networks [7]. For example some Internet transmission systems may block the transfer in the case of too low bitrate but in some applications, such as inspection and monitoring systems, such blocking is impermissible. A particular case is the problem of video transmission using analogue telecommunication network using modems or over the GSM network. The only reasonable solution for video transmission in such conditions is the drastic reduction of the amount of transferred data. The problem is illustrated in the Table 1 with the examples of transmission time for a single video frame, uncompressed and compressed using JPEG algorithm. The most popular realisations of that reduction utilise the decrease of the resolution, compression algorithms and the decrease of the number of video frames per second. However, in some applications (e.g. monitoring) high resolution and dynamic changes of the scene should be saved regardless of the transmission limitations. The algorithm presented in the paper, together with the example implementations, is especially useful for such applications, particularly when it should be embedded into a specialised hardware e.g. IP camera with low computational power. Some well known compression methods such as Motion-JPEG or MPEG are rather useless in such cases. Markov Chain Monte Carlo [11] and Sequential Monte Carlo [1] are often the methods of choice for such problems, but in some situations 52 Piotr Lech, Krzysztof Okarma Table 1. Comparison of the transmission time for a single video frame using various modem transfer modes Modem Speed [kbps] Transfer time File size 297 KB Transfer time File size 18 KB 9.6 4min 13s 15s 14.4 2min 48s 10s 28.8 1min 24s 5s 56 43s 2s they can be difficult for practical implementation [3]. Proposed technique of video data transmission is supported by the fast motion detection algorithm based on the area estimation using the statistical experiment with the utilisation of the Monte Carlo method [9]. 2. Idea of the Algorithm The algorithm is based on the popular idea of sending full key frames and supplementing the data corresponding to the image fragments in non-key frames using the compressed information related to some dynamic changes relatively to the key frame e.g. motion (similarly as in MPEG techniques). The main purpose of presented algorithm is the good performance in the low bitrate networks so it is assumed that changing image fragments are compressed using one of the standard techniques such as gzip, JPEG etc. before the transmission. Classical algorithms of detection of changes in the video frames are usually based on the comparison of two previously saved images. Such analysis requires the storage of some large data structures (images) in the operating memory and the comparison of all their pixels is time consuming. The algorithm proposed in the paper operates on much smaller data structures and the amount of computations is strongly reduced. The motion detection algorithm utilises the fact that a binary image of a scene without any moving objects with constant light conditions can be characterised by a constant value representing the number of specified pixels (e.g. black ones). If an object appears on the scene which moves relatively to the light sources, such number of pixels changes. Assuming the presence of dark objects on the light background, counting the black pixels is the identical operation to the estimation of the total area of the objects on the image plane. Unfortunately for the static light conditions the integrating character of the method prevents the proper detection of all possible changes in the image. In order to provide a better efficiency the motion detection algorithm can be applied in a more sophisticated version: 1) division of the image into square blocks of r × r pixels, 2) binarization of each block and the calculation of the area occupied by the black pixels, An efficient low bitrate video transmission algorithm. . . 53 3) storing the calculated values in the array of r × r elements representing the nodes of the image, 4) repeating the three previous steps for the next frame, 5) comparison of the values stored for two frames – if the differences between the values of the corresponding nodes are higher than the specified threshold the change (caused by motion or a local change of the light conditions etc.) is detected in the specified blocks. The reduction of the data structure depends only on the assumed size (r × r pixels) of the block. In the extreme case the size of the block an be equal to the whole image and only a single value is stored in the memory for each frame. However, such approach is impractical because of the integrating character of the method, mentioned above. Presented algorithm allows the reduction of the total size of data stored in the operating memory and provides high processing speed with the hardware binarization. Nevertheless, the total number of comparisons is similar to the full analysis algorithm comparing two neighbouring video frames. 3. Enhanced Motion Detection Algorithm The modification of the motion detection algorithm towards higher processing speed is related to the reduction of the amount of data processed during the detection of changes inside the elementary block of r × r pixels of the full original image. In the standard Monte Carlo method of area estimation two independent random number generators of uniform distribution should be used for drawing the image pixels expressed as the combination of two coordinates x and y. Such approach leads to the increase of the computational cost and requires the troublesome implementation of two independent good quality generators. Our Monte Carlo procedure applied for the whole r × r pixels block begins with copying of all the samples of binary block into the one-dimensional vector numbered from 1 to N, where N is the total number of pixels in the block and then n independent numbers should be generated using only the single random generator of uniform distribution. Assuming that the r × r pixels block corresponds to the fragment of the scene (Sc) with an object (Ob), the image plane (block) can be divided into smaller elements, so that the whole block is represented by N elements and the object – by K elements. The probability of choosing the element belonging to the object is equal to K (1) p= N The geometrical probability of choosing the point on the objects surface is equal to K AOb pgeom = lim (2) = N →∞ N ASc 54 Piotr Lech, Krzysztof Okarma where A stands for the area of the scene and the object respectively. The object’s area can be expressed as ASc AOb = K (3) N and because ASc = N we get AOb = K (4) Such expression corresponds to the classical formula for calculation of the area by counting all the pixels belonging to the specified object. A static image after binarization corresponds to a single number related to the number of samples fulfilling specified logical condition. It can be interpreted as the total number of pixels representing the objects visible on the constant background. All the pixels with given colour channel’s value belonging to the specified range are then labelled by ’ones’ (or ’black’) in the corresponding binary image while the others, representing the background, are marked as ’zeros’ (or ’white’). In general, the binarization step can be replaced by the usage of a logical condition related to the qualification of drawn pixels to the background (’zeros’) or the objects (’ones’). The number of comparisons is limited to the number of drawn pixels and the binarization of the whole image is unnecessary. The above analysis explains the usage of the probability of choosing the pixel representing the object with the decrease of the number of analysed samples. For that purpose the statistical experiment based on the Monte Carlo method is used with each pixel indexed from 1 to N, where N = r × r denotes the total number of pixels in the considered block. Performing the drawing with returns of n independent indexes, further converted into the coordinates of the pixels inside the block, we get the following random variable for the single draw ( 1 if object Xi = (5) 0 if background In such case for n independent draws we get k elements drawn belonging to the object represented by K pixels. A single experiment is characterised by the binary Bernoulli distribution. For n draws we get the variable n Yn= 1X Xi n i=1 (6) the variable Yn Central Limit Theorem is fulfilled. The estimator of objects’ area is given as Âob = k Asc . n (7) The formula describing the interval estimation for objects area can be expressed as  K ob (8) − ≤ εα Asc N 55 An efficient low bitrate video transmission algorithm. . . Table 2. Comparison of the results and the complexity of the Monte Carlo approach for various number of samples Method Object’s area in pixels Number of iterations Classical 125438 230400 Monte Carlo n = 10000 124738 10000 Monte Carlo n = 1000 Monte Carlo n = 100 121651 115200 1000 100 The validity of the algorithm has been verified by the test program (see Fig. 1) using the block of 480 × 480 pixels with the single object present in the scene. Its area has been approximated using the estimator ÂOb and using the classical method based on counting all the pixels representing the object. Analysing the results presented in Table 2 the serious decrease of the number of iterations can be observed with quite small relative error (about 8% for n = 100) in comparison to the classical full analysis method. It is worth noticing that the estimation errors are not as critical in the motion detection as they are in the estimation of objects’ geometrical parameters. For the purpose of reduction of the amount of transmitted data, information related to the whole scene is transmitted during initialisation, and then the data corresponding to dynamic changes in the each frame are transferred with the highest priority. Changes are analysed independently for each RGB channel and the luminance and then for a static scene the information update is taken place. Figure 1. Screenshot of the test program 56 Piotr Lech, Krzysztof Okarma For this purpose each frame is divided into square areas of r × r pixels and for each square the detection of changes is performed using the Monte Carlo statistical experiment. It is actually the fast algorithm for detection of significant changes on the image based on the assumption that for a constant image of a scene one can define a single number being the result of counting the pixels fulfilling specified logical condition. Such condition may be related to the attachment of the image sample to the given luminance level or to the specified fragment of the RGB colour space. Proposed method can be an efficient alternative to well known MPEG-based algorithms allowing real-time processing also in low computational power systems. 4. Detection of Changes in the Scene In order to detect some changes caused by moving objects, analysed image is divided into T × S square areas of r × r pixels each. In each square the area is estimated using the Monte Carlo method and obtained values are stored in the array (T × S elements) illustrating the distribution of the squares on the original image. Comparing such values for neighbouring frames there is a possibility to estimate the direction of the motion specified for the assumed number of changed binary values and velocity measuring the time interval between acquisition of images. Division of the object’s surface into elementary squares using rectangular grid with specified size eliminates the disadvantage of the method caused by its integrating character. Verification of the method has been performed on the base of implementation in Borland Delphi 7.0 Personal environment [2]. For the assumed size of the scene equal to 288×288 pixels luminance test has been performed where the logical condition has been the belonging of the pixel’s luminance to the higher or lower half of the dynamic luminance range (also estimated using the Monte Carlo method in the previous frame) for each analysed block. For the assumed size of blocks equal to 32 × 32 pixels the grid of 9 × 9 elementary blocks has been obtained. For each block 100 samples have been drawn. For simplification of estimation the motion direction the binary information related to changes of the number of pixels fulfilling the specified condition (which can be treated as equivalent to the object’s area for the analysed block) in the elementary blocks has been stored in 3-D array with the size T × S × h, where h stands for the number of analysed frames during specified time interval. Analysing data stored in such structure the following parameters can be easily estimated: — motion direction (in four basic directions), — the number of blocks with detected changes in comparison to the previously acquired frames. In the test program (Fig. 1) the object visible on the image has been moved with random velocity and direction. The working properties of proposed algorithm have been compared to the classical method based on the analysis of differences between two full bitmap images for neighbouring frames. 57 An efficient low bitrate video transmission algorithm. . . The test program has confirmed the proper work of proposed algorithm for the assumptions discussed above with 100% of proper motion detections while for the standard method only 40% of them has been signalled. The reduced number of proper detections for the traditional method is caused by relatively slow analysis of the whole image and the loss of frames. 5. Implementation of Transmission Proposed algorithm has been implemented for two basic application categories of network vision systems. The first one is the ’inspection system’ which is a centralised system for visualisation of signals obtained from many cameras distributed in TCP/IP network using FTP protocol. The second one (’video server’) is based on the HTTP protocol and consists of two main parts realising the acquisition of images from the cameras and presentation of the video data for many web clients [10]. The architectures of both systems are presented in Fig. 2. Cameras FTP clients Analogue modems Network FTP server Visualisations Internet Cameras WWW server Analogue modem Network WWW clients Visualisations Internet Figure 2. Architecture of the systems for FTP and HTTP transmissions 58 Piotr Lech, Krzysztof Okarma Figure 3. Screenshot of the FTP server All applications have been coded in Borland Delphi 7.0 Personal environment with the usage of freeware libraries Internet Component Suite (available at www.overbyte.be). For the assurance of comparable working conditions the previously acquired video sequence has been analysed. 5.1. ’Inspection System’ – FTP Transmission Protocol These applications realise the client-server model with data transfer using FTP protocol. The main tasks of the FTP server (Fig. 3) are the storage and visualisation of acquired video data. FTP client (Fig. 4) realises the acquisition of images from the cameras and the detection of changes on the image with uploading data Figure 4. Screenshot of the FTP client An efficient low bitrate video transmission algorithm. . . 59 to the FTP server. Client application is linked to Internet by analogue modem with different connection speed modes. During initialisation, assuming the stability of camera’s observation conditions, all information about the scene are transmitted and then only data related to motion is transferred. Additionally, data related to updated blocks can be compressed e.g. using lossless gzip compression or JPEG algorithm. All blocks should be addressed in order to assure updating the proper blocks during visualisation. All blocks with detected motion have the highest priority of transmission and the remaining ones can be additionally transmitted for static frames depending on the available bandwidth. As the main requirement for the algorithm is proper visualisation of motion events, it is assumed that sending all blocks during the processing time of each frame is impossible in low bandwidth network. In order to provide a reasonable time for update of the whole image for dynamic scenes the continuation of sending static blocks in the next frame starts with the first static block not sent in the previous frame. The simplest technique for synchronisation of the image is using the file names for coding the block addresses and ’framestamps’. All files are deleted from the FTP server after visualisation of their contents. Tested application works properly with different transmission speed and it can be stated that the only limitation is related to the stable lighting conditions. Reduction of the negative effects of changing the global or local lighting conditions is the separate issue which is not discussed in this paper. 5.2. ’Video Server’ – HTTP Protocol Internet sharing of the video sequences is even more popular according to dynamic development of websites especially in the Web 2.0 standard. Unfortunately most services e.g. Darwin, QuickTime etc. require high efficiency servers and high bandwidth networks. The alternative solution can be including images from the cameras into dynamic HTML. Playback of the video sequence on the WWW page can be implemented by any web browser with implemented auto-refresh function. The implementation of motion detection part of the algorithm is the same as described above. The main difference is that the acquisition task is performed by the server part and the presentation on the client side. Image distortions visible in Fig. 5 presenting the visualisation in the WWW browser are caused by rare refreshing of page contents. The solution of that problem can be using Java applet with buffering frames or using independent web client designed for this purpose. 6. Implementation Remarks Proposed algorithm can be treated as the efficient method of data coding and compression for low bitrate video transmission applications. It allows reaching the relatively high resolution with the bitrate similar to MPEG-4 low bitrate 60 Piotr Lech, Krzysztof Okarma Figure 5. Screenshot of the WWW client and server profiles with significant reduction of total computational cost. It can be observed for example as the CPU usage by the corresponding process (Table 3). On the other hand our approach allows reaching higher resolutions in comparison to those available in the H.324 standard typical for the modem transmissions (for example 42 fps instead of 15 fps for 33.6 kbps with the resolution of 176 × 132 pixels). The only similarity of our method to MPEG-based algorithms is the usage of image blocks for the motion estimation and coding. An additional advantage is the fact that no licence fees are needed, as for some MPEG systems, what can be especially important e.g. in relatively cheap embedded systems. Described algorithm uses the simplest binarization technique based on the luminance comparison suitable especially for low performance systems. For that case the application areas of the method are limited to autonomous video inspection systems of objects, parkings etc. The more sophisticated binarization techniques can be used for more general purposes but it can lead to the increase of the computational requirements of the whole algorithm. Table 3. Comparison of the CPU usage for various applications launched on the test platform Application/method CPU usage Microsoft Windows Media Encoder / MPEG-4 80 % Video LAN (www.videolan.org) / MPEG-4 74 % Test program / Monte Carlo based algorithm 45 % An efficient low bitrate video transmission algorithm. . . 61 Figure 6. Example transmission bitrates obtained during the experiments using the Monte Carlo method with the FTP protocol (288 × 288 pixels 15fps) for two various block sizes 7. Conclusions and Future Work Presented video transmission system can be an efficient solution for real-time distributed inspection systems and many other applications with limited bandwidth networks. It is an interesting alternative for complex stochastic algorithms such as Markov Chain Monte Carlo [11] and also sequential Monte Carlo [8], and can be used in the situations where more sophisticated methods can be difficult to implement. The algorithm is quite easy for implementation and its computational complexity is low enough to apply it in hardware solutions e.g. IP cameras with relatively small amount of memory. Despite the simplicity of presented approach its relevant advantage is high working efficiency conditioned by the good statistical properties of the pseudo-random generator with uniform distribution. Presented algorithm is the generalised extension of earlier work presented in the papers [5, 6]. As the future work the influence of the pseudo-random number generators’ quality on the performance of the algorithm may be investigated. Another idea is the optimisation of the key frames location with the variable size of the blocks. 62 Piotr Lech, Krzysztof Okarma References [1] Chen, D., Odobez, J.-M.: Sequential Monte Carlo Video Text Segmentation. In: International Conference on Image Processing ICIP 2003, vol. 3, IEEE Press, New York (2003) s. 21–24, [2] Cantu M.: Mastering Delphi 7. Sybex, 2002. [3] Fearnhead P.: Computational Methods for Complex Stochastic Systems: A Review of Some Alternatives to MCMC. Statistics and Computing, available online, Springer DOI 10.1007/s11222-007-9045-8, 2008. [4] Furt B., Handbook of Internet and Multimedia: Systems and Applications. CRC Press, 1999 [5] Lech P., Okarma K.: Fast algorithm of preliminary image analysis based on Monte Carlo method for real-time object recognition systems. Polish Journal of Environmental Studies vol. 16 no. 5B/2007 (ACS’2007 Proceedings) s. 265-268 [6] Lech P., Okarma K.: Reduction of visualisation errors caused by changing light conditions for low bitrate video transmission over the FTP Based on Monte Carlo Motion Detection Method. Polish Journal of Environmental Studies vol. 16 no. 5B/2007 (ACS’2007 Proceedings) s. 207-211 [7] Luo, H., Eleftheriadis, A., Kouloheris, J.: Statistical Model-Based Video Segmentation and its Application to Very Low Bit-Rate Video Coding. Signal Processing: Image Communication Vol. 16 No. 3/2000, s. 333–352 [8] Quan, G., Chelappa, R.: Structure from Motion Using Sequential Monte Carlo Methods. International Journal of Computer Vision Vol. 59 No. 1/2004, s. 5-31 [9] Rubinstein R.Y.: Simulation and the Monte Carlo Method. Wiley, 1981. [10] Woźniewicz A.J.: Web Programming for Delphi. Optimax, 2003. [11] Zhai, Y., Shah, M.: Video Scene Segmentation Using Markov Chain Monte Carlo. IEEE Transactions on Multimedia Vol. 8 No. 4/2006, s. 686–697 Rozwój przestrzennych systemów wspomagania decyzji Kesra Nermend Uniwersytet Szczeciński, Wydział Nauk Ekonomicznych i Zarządzania Abstract: In the article the assumptions about the decision support system’s architecture in regional development analysis are introduced. The assumptions are the basis for creating the informatics system. The result of the system’s prototype are presented. Słowa kluczowe: Decision Support Systems, Geographic Information System 1. Wstęp Podejmowanie decyzji jest procesem efektem, którego jest osiągnięcie pewnego celu bądź celów, np. uzyskanie rankingu regionów pod kątem ich rozwoju gospodarczego, demograficznego, ekologicznego, itp. W takich przypadkach decyzja jest rozumiana jako zamierzony i sprecyzowany wybór jednego z wielu wariantów na podstawie dokonanej analizy możliwych wariantów działania. Celowe powstrzymanie się od wyboru jest również decyzją [14]. Problemy analizy rozwoju regionalnego zaliczają się do najbardziej złożonych problemów, gdyż należy przy podejmowaniu decyzji uwzględniać wiele czynników natury gospodarczej, infrastrukturalnej, demograficznej i innych. Rozwiązywanie tak złożonych zagadnień wymaga stosowania wyrafinowanych metod wspomagania decyzji oraz przewidywania, opisywania i sterowania procesami decyzyjnymi [5]. Podczas podejmowania decyzji decydent najczęściej nie dysponuje informacją pełną (doskonałą) na temat analizowanej sytuacji, musi natomiast uwzględniać wiele złożonych uwarunkować. Dlatego też uzyskanie trafnych decyzji przez decydenta w obszarze analizy regionalnej, w oparciu o jego intuicję i nabyte doświadczenia wydaje się mało realne. Wskazując na występowanie różnic pomiędzy informacją posiadaną a pełną mówimy o luce informacyjnej, natomiast minimalizację tej luki można dokonać poprzez usprawnienie procesów pozyskiwania informacji, formy samej informacji (jakość, ilość) oraz jej przetwarzania [3]. Rozwój systemów DSS odbywa się w wielu kierunkach. Jednym z nich, istotnym z punktu widzenia przetwarzania danych przestrzennych, np. w kontekście analizy danych regionalnych, jest kierunek systemów informacji przestrzennej typu GIS (ang. Geographical Information System). 64 Kesra Nermend 2. Integracja DSS z GIS Systemy DSS wzbogacone o komponenty systemów GIS są określane mianem przestrzennych systemów wspomagania decyzji (SDSS z ang. Spatial Decision Support Systems). Systemy klasy SDSS zostały wyposażone w możliwości analityczne systemów DSS i sprawność przetwarzania danych przestrzennych z systemów GIS. Systemy DSS były przez wiele lat obszarem badań w kategorii systemów informacyjnych, jednakże często wskazywaną niedoskonałością był brak wspierania danych przestrzennych. W przypadku systemów GIS można mówić o skutecznych rozwiązaniach z zakresu gromadzenia i przetwarzania danych przestrzennych, jednakże istnieje wyraźny niedostatek narzędzi wspomagających podejmowanie decyzji na szczeblu kierowniczym. Potrzeby integracji obu typów systemów można znaleźć w literaturze światowej [15, 18]. W niektórych sytuacjach systemy GIS powinny stanowić efektywne narzędzie w procesach podejmowania decyzji, dlatego też celowa wydaje się ich konsolidacja z oprogramowaniem zdolnym do zarządzania modelami. Dzięki takiej integracji możliwe jest wykorzystanie funkcjonalności systemów GIS oraz procedur modelowania i generowania wariantów decyzyjnych w jednym systemie [4, 6, 16]. W architekturze przestrzennych systemów wspomagania decyzji można wyróżnić kilka podstawowych komponentów. J. Malczewski [9, 10] mówi o trzech elementach architektury, R. E. Klosterman [7] o jednym więcej, a M. P. Armstrong i P. J. Densham [2] proponują pięć następujących modułów: — system zarządzania bazą danych (DBMS), zawierający funkcje do operowania na bazie danych przestrzennych, — procedury analityczne w systemie zarządzania bazą modeli (MBMS), z funkcjami do użytkowania i zarządzania modelami (np. symulacyjnymi), — oprogramowanie generujące formularze ekranowe, — generator raportów, — interfejs użytkownika, czyli system DGMS, zapewniający komunikację między użytkownikiem a pozostałymi komponentami systemu. Charakterystyka rozwoju systemów SDSS jest prezentowana na rys. 1. Wraz z rozwojem Internetu zarówno tradycyjne systemy wspomagania decyzji, jak i SDSS podlegały ewolucji w kierunku technologii internetowych. W porównaniu z systemami DSS opartymi o komputery stacjonarne PC, systemy wspomagania decyzji ukierunkowane na technologię WWW cechują się większą funkcjonalnością, dostępnością i prostotą obsługi. Jedną z podstawowych korzyści tego typu rozwiązań jest łatwiejsza aktualizacja informacji oraz modyfikacja rozwiązań technologicznych w obrębie samych systemów [1, 13]. Szczególnie jest to istotne z punktu widzenia aplikacji dla użytkowników DSS, które mogą być zasilane informacjami dostępnymi w czasie rzeczywistym, np. o prognozie pogody dla określonego regionu, czy też poziomie i zmianach zanieczyszczenia na danym obszarze [19]. W literaturze światowej można odnaleźć wiele praktycznych realizacji systemów DSS w technologii WWW, co może świadczyć o potrzebach tego typu rozwiązań. Przykładowo: Rozwój przestrzennych systemów wspomagania decyzji 65 Rysunek 1. Rozwój przestrzennych systemów wspomagania decyzji (opracowanie na podstawie [17]) — DSS wspomagający globalne analizy zmian w małych zlewiskach wodnych [8], — DSS wykorzystujący techniki WWW do dystrybucji modeli danych przestrzennych oraz modeli hydrologicznych [11], — DSS wspomagający zarządzanie pastwiskami, w którym formularze są wykorzystywane do zasilania systemu danymi, natomiast dane wyjściowe są prezentowane w postaci tabel i wykresów tak, aby uzyskane wyniki były zrozumiałe dla nieprofesjonalnych użytkowników (nie specjalistów) [12], — DSS dostarczający narzędzi do analizy problemu decyzyjnego związanego z zarządzaniem środowiskiem naturalnym w oparciu o metodykę AHP [20]. Oczekiwana funkcjonalność systemu wspomagającego podejmowanie decyzji w zakresie analizy danych regionalnych determinuje rozwiązania w kierunku technologii Web i systemom SDSS. To właśnie dane przestrzenne oraz funkcje analityczne wymagane w analizach rozwoju regionalnego wskazują konieczność powiązania komponentów systemów GIS z systemami klasy DSS. Udostępnienie interfejsu do systemu szerszej grupie użytkowników, rozproszonych terytorialnie (gminy, powiaty, itp.), łatwość administrowania systemem i jego użytkowania potwierdza wybór technologii WWW jako podstawy realizacji systemu. 66 Kesra Nermend Rysunek 2. Wynik klasyfikacji obiektów z wykorzystaniem systemu wspomagania rozwoju regionalnego Do realizacji tych wszystkich celów niezbędne jest najnowszych wykorzystanie zdobyczy informatyki, czyli opracowanie i wdrożenie informatycznych systemów, których głównym zadaniem byłoby wspomaganie decydentów (uczestników procesu decyzyjnego) w podejmowaniu decyzji. System taki, w odróżnieniu od systemów już funkcjonujących w placówkach samorządów regionalnych, pełniłby rolę doradczą proponując na podstawie zebranych preferencji decydenta rozwiązania najlepsze. Osoby podejmujące decyzje wspomagając się wygenerowanymi wariantami decyzyjnymi mogłyby podejmować decyzje ostateczne. Uzyskane rozwiązania z systemu informatycznego cechowałyby się dużą dokładnością i pewnością, gdyż złożone obliczenia związane z modelowaniem i symulacją wariantów realizowane byłyby w oparciu o precyzyjny i sprawdzony aparat obliczeniowy. Wymogi stawiane przed funkcjonalnością takiego systemu informatycznego determinują wybór w kierunku systemów wspomagania decyzji (DSS). Rysunek 2 przedstawia wynik działania przedstawionego systemu wykorzystującego do komunikacji z użytkownikiem technologię WWW. Dzięki tej technologii decydenci mogą mieć dostęp do systemu z dowolnego miejsca. 3. Podsumowanie Zaprezentowane w niniejszym artykule założenia odnośnie architektury systemu wspomagania decyzji w analizie rozwoju regionalnego stanowią podstawę do Rozwój przestrzennych systemów wspomagania decyzji 67 budowy w pełni funkcjonalnego systemu informatycznego. Opracowano prototyp systemu z ograniczoną funkcjonalnością. Kierunki dalszych prac projektowo-implementacyjnych powinny być wyznaczane przez bieżące potrzeby, wynikające z zainteresowania systemem przez potencjalnych użytkowników. Dzięki zastosowaniu elementów technologii Systemów Informacji Przestrzennej w systemach wspomagania decyzji uzyskujemy możliwość graficznej prezentacji wyników, co umożliwia bardziej przejrzystą prezentację danych. Bibliografia [1] Abhijit A. P., Ravindra K. A. Developing Web-Enabled Decision Support Systems Using VB.NET and ASP.NET, Dynamic Ideas, Massachusetts, Belmont 2007 [2] Armstrong M.P., Densham P. J. Database organization alternatives for spatial decision support systems, International Journal of Geographical Information Systems, 3:11-14 1990 [3] Czermiński J. Systemy wspomagania decyzji w zarządzaniu przedsiębiorstwem, Toruń-Gdańsk, Dom Organizatora 2002 [4] Eastman J. R., Kyem P. A. K., Toledano J., Jin W. GIS and decision making, Geneva, Switzerland, United Nations Institute for Training and Research (UNITAR) 1993 [5] Flakiewicz W. Semantyczne aspekty opisu procesu informacyjno-decyzyjnego, Prakseologia [6] Jankowski P. Integrating geographical information systems and multiple criteria decision making methods, J. Geo. Inform. Sys. 9(3):251–273 1995 [7] Klosterman R. E. Planning support systems: integrating geographic information systems, models, and visualization tools, rozdział Planning support systems: a new perspective on computer-aided planning, s. 1-23, ESRI Press Redlands, California 2001 [8] Ludwig R., Mauser W., Niemeyer S., Colgan A., Stolz R., Escher-Vetter H., Kuhn M., Reichstein M., Tenhunen J., Kraus A., Ludwig M., Barth M., Hennicker R. Web-based modelling of energy, water and matter fluxes to support decision making in mesoscale catchments - the integrative perspective of glowa-danube, Physics and Chemistry of the Earth 28:621–634 2003 [9] Malczewski J. Spatial Decision Support Systems, NCGIA Core Curriculum in GIScience [10] Malczewski J. GIS and Multicriteria Decision Analysis, John Wiley and Sons Inc, NCGIA Core Curriculum in GIScience 1999 [11] Markstrom S.L., McCabe G., David O. Web-based distribution of geoscientific models, Computers and Geosciences 28:577–581 2002 [12] Mohtar R.H., T. Zhai, X. Chen, A world wide web-based grazing simulation model (GRASIM), Computers and Electronics in Agriculture 29:243–250 2000 [13] Molenaar K. R., Songer A. D. Web-based decision support systems: Case study in project delivery, J. Comp. in Civ. Engrg. 15:259–267 2001 [14] Runiański J. Przed decyzją, Warszawa, PWE 1965 [15] Ryan T. C. Spatial decision support systems, Urban and Regional Information Systems Association 3:49–59 1992 [16] Segrera S., Ponce-Hernández R., Arcia J. Evolution of decision support system architectures: applications for land planning and management in Cuba, JCS T 3(1):42–44 2003 68 Kesra Nermend [17] Sugumaran V., Sugumaran R. Web-based spatial decision support systems (WEBSDSS): Evolution, architecture, and challenges, Third Annual SIGDSS Pre-ICIS Workshop Designing Complex Decision Support: Discovery and Presentation of Information and Knowledge [18] White R., Engelen G. High-resolution integrated modeling of spatial dynamics of urban and regional systems, Computers, Environment, and Urban Systems 24:383–400 2000 [19] Yanxin D. A spatial decision support system for economic analysis of sediment control on rangeland Watersheds, Arizona, The University of Arizona 2005 [20] Zhu X., Dale A. P. JavaAHP: a web-based decision analysis tool for natural resources and environmental management, Environmental Modeling and Software 16:251–262 2001 Detekcja nadmiaru multiplikatywnego w resztowym systemie liczbowym Marcin Ożarowski, Mirosław Plebanek, Zenon Ulman Politechnika Gdańska, Wydział Elektrotechniki i Automatyki Abstract: A new algorithm of multiplicative overflow detection in the Residue Number System has been presented. It makes possible overflow detection for all products a · b, where a, b ∈ {0, 1, . . . , M − 1} and M is number range of the system, without executing of time consuming and difficult division. For the majority of products a · b overflow detection is possible before realization of multiplication. The algorithm is realize with use the core function. Słowa kluczowe: multiplicative overflow detection, residue number system, number core function 1. Wprowadzenie Resztowy system liczbowy (the Residue Number System – RNS ) jest chętnie używany w cyfrowym przetwarzaniu sygnałów. Jego szczególną zaletą jest możliwość dekompozycji liczby na niezależne części, na których można wykonywać modułowe operacje arytmetyczne: dodawanie, odejmowanie, mnożenie, bez konieczności przeniesień, co znacznie przyspiesza obliczenia. W RNS problemy stwarzają tzw. operacje niemodułowe: detekcja znaku, detekcja nadmiaru, porównywanie wartości, w których do realizacji konieczne jest użycie wszystkich reszt [1]. Literatura [5] podaje uproszczone metody detekcji nadmiaru multiplikatywne√ go w RNS oparte na ocenie wielkości czynników iloczynu a·b względem M , gdzie M jest zakresem systemu jeżeli każda z liczb √ liczbowego. Nadmiar jest określany, √ a, b jest mniejsza od M lub suma a + b mniejsza od 2 M . Metoda ta pozwala na oszacowanie nadmiaru przed wykonaniem mnożenia ale może być zastosowana tylko do ograniczonej liczby możliwych iloczynów a · b. Istnieją metody detekcji nadmiaru wymagające operacji czasochłonnego dzielenia [2]. Określenie nadmiaru odbywa się przez sprawdzenie nierówności: |ab|M /a 6= b. W artykule został opisany nowy równoległy algorytm detekcji nadmiaru multiplikatywnego w RNS, który nie wymaga rozszerzania reprezentacji liczb. Detekcja nadmiaru dla większości możliwych iloczynów a · b może być zrealizowana bez konieczności wykonywania mnożenia. Realizacja algorytmu w RNS może być wykonana przy użyciu konwersji do systemu liczbowego z mieszanymi podstawami (Mixed-Radix Conversion – MRC ) lub przy użyciu funkcji rdzenia liczby [3]. 70 Marcin Ożarowski, Mirosław Plebanek, Zenon Ulman 2. Określenie problemu Przez nadmiar multiplikatywny rozumie się sytuację, gdy wynik c komputerowego mnożenia dwóch dowolnych liczb całkowitych tego samego znaku a, b ∈ [0, M ) jest większy lub równy M . Rzeczywisty wynik mnożenia może przyj2 mować wartości c = a · b = kM + |c|M ≤ (M − 1) , dla k = 0, 1, 2, . . . , M − 2. Nadmiar w RNS nie występuje, jeżeli c = |c|M ≤ M − 1. Liczba par (a, b), których M−1 P a · b ∈ {1, 2, . . . , M − 1}, wynosi M−1 ≈ M ln M , zaś liczba par (a, b), a=1 a 2 których a·b ∈ {1, 2, . . . , (M −1)2}, wynosi (M − 1) . Z porównania obu liczb wynika, że prawdopodobieństwo wystąpienia nadmiaru multiplikatywnego jest bardzo duże. Jeżeli a, b należą do zbioru liczb rzeczywistych, obrazem geometrycznym zbioru wszystkich iloczynów a · b = M − 1 = const jest ciągła krzywa hiperboliczna. Jeżeli a, b należą do zbioru liczb całkowitych, jak jest w RNS, obrazem geometrycznym wszystkich par, które tworzą iloczyn c ≤ M − 1 są punkty o współrzędnych całkowitych, które leżą pod lub na hiperboli a · b = M − 1 = const. Krzywa dyskretna utworzona ze punktów, których współrzędne (a, b) spełniają zależność wszystkich , będzie umownie nazywana krzywą schodkową (rys. 1.). f (a) = b = M−1 a Detekcja nadmiaru multiplikatywnego polega na określeniu, czy wynik mnożenia c: c = a · b = kM + |c|M (1) przekroczy lub przekroczył wartość M −1. Detektorem nadmiaru może być wartość liczby k w (1): — jeżeli k = 0, nadmiar nie występuje, — jeżeli k > 0, nadmiar występuje. Ze względu na przemienność mnożenia argumenty a i b mogą być stosowane zamiennie (co nie będzie w dalszym tekście podkreślane). Odpowiednikiem tego faktu jest symetria krzywej schodkowej f (a) względem prostej a = b. 3. Resztowy system liczbowy W RNS [1] nieujemna liczba całkowita a reprezentowana jest przez wektor reszt (a1 , a2 , . . . , an ), gdzie aj jest najmniejszą nieujemną resztą z dzielenia a przez dodatnią liczbę całkowitą mj . aj = |a|mj . Liczbę mj nazywa się modułem, a zbiór modułów – bazą B systemu resztowego. B = {m1 , m2 , . . . , m3 }. Qn Aby liczby z zakresu [0, M ), gdzie M = j=1 mj miały wzajemnie jednoznaczną reprezentację w postaci wektorów reszt, moduły muszą być parami względnie pierwsze. Detekcja nadmiaru multiplikatywnego w resztowym systemie liczbowym 71 4. Detekcja nadmiaru multiplikatywnego w RNS Jeżeli jeden z elementów pary (a, b) ma wartość 0 lub 1, lub obydwa elementy √ są mniejsze lub równe M − 1, wówczas k = 0. Detekcję nadmiaru multiplikatywnego dla pozostałych par (a, b) można wykonać poprzez sprawdzenie relacji: ( jeżeli a ≤ M−1 lub b ≤ M−1 b a , to k = 0, (2) M−1 jeżeli a > b lub b > M−1 a , to k > 0 Problem wykrywania nadmiaru multiplikatywnego w RNS zamienia się więc w problem porównywania liczb tego samego znaku. Jednak warunki (2) nie są wygodne do zastosowania ze względu na konieczność wykonywania dzielenia (M − 1) /a, które jest trudne i czasochłonne, zarówno w wersji układowej jak i programowej. Poniżej zaproponowano nowy algorytm detekcji nadmiaru multiplikatywnego w RNS nie wymagający dzielenia i umożliwiający detekcję nadmiaru dla każdej pary a, b < M . 4.1. Określenie nadmiaru multiplikatywnego Niech 0 ≤ a, b ≤ M − 1. Zdefiniujmy wektor referencyjny, zwany dalej duo-wektorem D, którego elementami są pary stałych nieujemnych liczb całkowitych Pi , P̂i ze zbioru {2, . . . , (M − 1)/2} : i h D = P1 , P̂1 , P2 , P̂2 , . . . , Pi , P̂i , . . . , Ph , P̂h , gdzie Pi < Pi+1 , oraz każda para Pi , P̂i spełnia warunki: P̂i = M −1 Pi (3) oraz (4) Pi P̂i−1 ≤ 2M − 1, i = 2, 3, . . . , h. Każdy element Pi , P̂i duo-wektora leży na krzywej schodkowej f (a) i wy znacza prostokąt o wierzchołkach (0, 0) , (Pi , 0) , Pi , P̂i , 0, P̂i , jak na rysunku 1. Dla przeważającej liczby par (a, b) wartość k można określić na podstawie warunków: _ ⇒ k = 0, i ∈ {1, 2, . . . , h} (5a) Pi (a ≤ Pi ) ∧ b ≤ P̂i _ ⇒ k > 0, i ∈ {1, 2, . . . , h} (5b) Pi (a > Pi ) ∧ b > P̂i Detekcja nadmiaru według (5) wymaga porównywania liczb resztowych, ale nie wymaga wykonywania dzielenia liczb ani ich mnożenia. Pary (a, b), niespełniające 72 Marcin Ożarowski, Mirosław Plebanek, Zenon Ulman warunków (5), tworzą w pobliżu krzywej schodkowej f (a) obszar niesprawdzalny, zaznaczony na rysunku 1. W obszarze tym niemożliwe jest określenie nadmiaru bez wykonania mnożenia |a · b|M . Zwiększenie liczby par (Pi , P̂i ) powoduje zmniejszenie obszaru niesprawdzalnego co znacznie wpływa na efektywność algorytmu detekcji nadmiaru. Z drugiej strony wzrasta liczba porównań pary (a, b) z elementami duo-wektora, co wpływa na zwiększenie złożoności układu. b a=b obszar niesprawdzalny Pˆi −1 k >0 P̂i Pˆi +1 Pˆi + 2 k =0 M − 1 b = a 0 0 Pi −1 Pi Pi +1 Pi + 2 a Rysunek 1. Ilustracja detekcji nadmiaru multiplikatywnego z użyciem duo-wektora D Zauważmy, że przy spełnieniu przez elementy duo-wektora warunku (4) żadna z par (a, b), leżących w obszarze niesprawdzalnym, nie tworzy iloczynu większego od 2M − 1. Spełnienie tego warunku pozwala wyznaczyć wartość k na podstawie twierdzenia 1. Twierdzenie 1. W systemie RNS z nieparzystym M, (a1 , a2 , . . . , an ), (b1 , b2 , . . . , bn ) i (c1 , c2 , . . . , cn ) są reprezentacjami resztowymi liczb a, b, |c|M < M , gdzie a · b = c = kM + |c|M . Załóżmy, że c < 2M . Wówczas nadmiar multiplikatywny wystąpi (k = 1) wtedy i tylko wtedy, gdy: — |c|M jest nieparzysta oraz a i b są parzyste lub różnej parzystości, lub — |c|M jest parzysta oraz a i b są nieparzyste. Detekcja nadmiaru multiplikatywnego w resztowym systemie liczbowym 73 Dowód: Niech c = kM + |c|M , gdzie k ∈ {0, 1} a) Przypadek, gdy ||c|M |2 = 0. Jeżeli k = 0, to |c|M = c, to ||c|M |2 = 0 = |c|2 , to (|a|2 = |b|2 = 0 lub |a|2 6= |b|2 ) i odwrotnie, jeżeli (|a|2 = |b|2 = 0 lub |a|2 6= |b|2 ), to ||c|M |2 = 0 = |c|2 , to |c|M = c, to k = 0. Jeżeli k = 1, to |c|M = c − M , to ||c|M |2 = 0 6= |c|2 = 1, to |a|2 = |b|2 = 1 i odwrotnie, jeżeli |a|2 = |b|2 = 1, to |c|2 = 1 6= ||c|M |2 = 0, to |c|M = c − M , to k = 1, a więc, jeżeli ||c|M |2 = 0 oraz a i b są nieparzyste to k = 1 i nadmiar występuje. b) Przypadek, gdy ||c|M |2 = 1. Jeżeli k = 0, to |c|M = c, to ||c|M |2 = 1 = |c|2 , to |a|2 = |b|2 = 1 i odwrotnie, jeżeli |a|2 = |b|2 = 1, to ||c|M |2 = 1 = |c|2 , to |c|M = c, to k = 0. Jeżeli k = 1, to |c|M = c − M , to ||c|M |2 = 1 6= |c|2 = 0, to (|a|2 = |b|2 = 0 lub |a|2 6= |b|2 ), i odwrotnie, jeżeli (|a|2 = |b|2 = 0 lub |a|2 6= |b|2 ), to |c|2 = 0 6= ||c|M |2 = 1, to |c|M = c−M , to k = 1, więc jeżeli a i b są parzyste lub różnej parzystości, zaś ||c|M |2 = 1 , to k = 1 i nadmiar występuje. Twierdzenie 1 umożliwia detekcję nadmiaru dla wszystkich par leżących w obszarze niesprawdzalnym i pod krzywą schodkową f (a). 4.2. Realizacja algorytmu detekcji nadmiaru multiplikatywnego Prezentowany algorytm detekcji nadmiaru multiplikatywnego nadaje się do realizacji układowej równoległej lub szeregowej. Może być również wykonany programowo. Duo-wektor, spełniający warunki (3) i (4), utworzony jest na etapie projektowania RNS. Algorytm detekcji można podzielić na dwa etapy: Etap 1 – detekcja nadmiaru bez korzystania z wyniku mnożenia |a · b|M , Etap 2 – detekcja nadmiaru z wykonaniem mnożenia, jeżeli etap 1 nie dał rozstrzygnięcia. Etap 2 można zrealizować jednocześnie z etapem 1. Etap 1 1. Wykonaj porównania liczb a z Pi oraz b z P̂i , dla i = 1 . . . h. — Jeżeli dla pewnego Pi istnieje para Pi , P̂i , że a ≤ Pi i b ≤ P̂i , to k = 0. Procedura jest zakończona. — Jeżeli dla pewnego Pi istnieje para Pi , P̂i , że a > Pi i b > P̂i , to k > 0. Procedura jest zakończona. — Jeżeli warunki (5) nie są spełnione dla wszystkich i, to para (a, b) znajduje się w obszarze niesprawdzalnym i k pozostaje nieokreślone. Należy przejść do etapu 2. 74 Marcin Ożarowski, Mirosław Plebanek, Zenon Ulman Etap 2 1. Wykonaj mnożenie |a · b|M = |c|M . 2. Wyznacz parzystość liczb a, b i |c|M . 3. Określ k według twierdzenia(1: 0, gdy |a|2 = |b|2 = 1 — jeżeli ||c|M |2 = 1, to k = , 1, gdy (|a|2 = |b|2 = 0) ∨ (|a|2 = 6 |b|2 ) ( 0, gdy (|a|2 = |b|2 = 0) ∨ (|a|2 = 6 |b|2 ) — jeżeli ||c|M |2 = 0, to k = . 1, gdy |a|2 = |b|2 = 1 Procedura detekcji jest zakończona. 5. Funkcja rdzenia Do określania parzystości i porównywania liczb w zaprezentowanym algorytmie zostaną użyte metody wykorzystujące funkcje rdzenia [3]. Funkcja rdzenia C(a) liczby a jest zdefiniowana jako n X a wj , (6) C(a) = mj j=1 gdzie wj są dowolnymi całkowitymi współczynnikami wagowymi dla modułów mj . Funkcję rdzenia C(a) wyrażoną przez (6) jest trudno obliczyć w systemie resztowym, ze względu na występowanie dzielenia a/mj . Funkcję rdzenia liczby a można uzależnić bezpośrednio od wartości reszt aj [3]: X n , (7) aj C (βj ) C(a) = j=1 C(M) Pn gdzie C (βj ) = C(M ) Mj−1 m − wj /mj , C(M ) = j=1 wj Mj , Mj = M/mj j są wartościami stałymi dla systemu resztowego z bazą B. Liczba Mj−1 jest in wersją multiplikatywną liczby Mj mod mj spełniającą równanie Mj−1 Mj m = 1. j Zastosowanie wzoru (7) jest ograniczone ze względu na możliwość pojawienia się wartości krytycznych funkcji rdzenia, które występują, gdy funkcja rdzenia C(a) według (7) i (6) ma różne wartości [3]. Jednym ze sposobów na wyeliminowanie tej krytyczności, jest zastosowanie nieujemnych współczynników wagowych wj . Najmniejszy zakres funkcji rdzenia C(a) przy nieujemnych wagach można uzyskać, gdy C(M ) wynosi: min C(M ) = min {Mj } . (8) j∈[1,n] Warunek (8) jest spełniony, gdy tylko jeden współczynnik wagowy z wektora (w1 , w2 , . . . , wn ) będzie miał wartość 1, a pozostałe 0. Przy nieujemnych współczynnikach wagowych wj , funkcja rdzenia będzie niemalejąca (rys. 2). Tę własność funkcji rdzenia można wykorzystać do porównywania liczb a i b w RNS, jak w twierdzeniu 2 [4]. 75 Detekcja nadmiaru multiplikatywnego w resztowym systemie liczbowym C(a) 16 14 12 10 8 6 4 2 0 0 20 40 60 80 100 120 a Rysunek 2. Funkcja rdzenia C(a) dla B = (3, 5, 7), C(M ) = 15, w = (0, 0, 1) Twierdzenie 2. Jeżeli a i b są liczbami całkowitymi, a współczynniki wagowe funkcji rdzenia C(a) i C(b) są nieujemne, to zachodzi zależność: — jeżeli C(a) > C(b), to a > b, — jeżeli C(a) < C(b), to a < b, — jeżeli C(a) = C(b) należy porównać reszty aj i bj , dla których współczynniki wagowe wj są różne od zera: — jeżeli aj > bj , to a > b, — jeżeli aj < bj , to a < b, — jeżeli aj = bj , to a = b. Wyznaczenie parzystości liczb w RNS można wykonać na podstawie twierdzenia 3 [3]. Twierdzenie 3. Niech C(M ) i moduły mj są nieparzyste. Liczba a, mająca reprezentację 1 , a2 , . . . , an ), jest parzysta wtedy i tylko wtedy, gdy P resztową (a n |C(a)|2 = j=1 wj |aj |2 . 2 Twierdzenie 3 można formalnie przedstawić w postaci: P 0 ⇔ |C(a)|2 = nj=1 wj |aj |2 2 . P |a|2 = 1 ⇔ |C(a)|2 6= nj=1 wj |aj |2 2 Poniżej przedstawiony jest liczbowy przykład realizacji algorytmu detekcji nadmiaru. 76 Marcin Ożarowski, Mirosław Plebanek, Zenon Ulman Przykład 1 Dana jest baza B={11, 13, 15, 19}. Należy wykonać detekcję nadmiaru dla operacji mnożenia a · b w RNS, gdzie a = 812 ↔ (9, 6, 2, 14), b = 68 ↔ (2, 3, 8, 11). Zakres w RNS wynosi M = 40755. Duo-wektor D ma składniki spełniające warunkih (3) i (4): i D = (P1 , P̂1 ), (P2 , P̂2 ), (P3 , P̂3 ), (P4 , P̂4 ), (P5 , P̂5 ), (P6 , P̂6 ), (P7 , P̂7 ) = [(201, 201), (405, 100), (815, 50), (1630, 25), (3260, 12), (6792, 6), (13584, 3), (20377, 2)]. Etap 1 Sprawdzamy, czy warunki (5) są spełnione. Porównanie pary (a, b) z elementami duo-wektora realizowane jest za pomocą funkcji rdzenia, której współczynniki wagowe w = {0, 0, 0, 1} oraz C(M ) = 2145 i C(βj ) = {975, 1155, 1144, 1016}. Obliczamy funkcje rdzenia dla a, b, Pi , P̂i według (7), dla i = 1, 2 . . . 7: X n = C (812) = aj C (βj ) C(a) = j=1 C(M) = |9 · 975 + 6 · 1155 + 2 · 1144 + 14 · 1016|2145 = 42; n X = C (68) = bj C (βj ) C(b) = j=1 C(M) = |2 · 975 + 3 · 1155 + 8 · 1144 + 11 · 1016|2145 = 3; n X = C (201) = |P1 |mj C (βj ) C(P1 ) = j=1 C(M) = ||201|11 · 975 + |201|13 · 1155 + |201|15 · 1144 + |201|19 · 1016|2145 = 10; X n = C (201) = C(P̂1 ) = P̂1 C (βj ) m j j=1 C(M) = ||201|11 · 975 + |201|13 · 1155 + |201|15 · 1144 + |201|19 · 1016|2145 = 10. Analogicznie wykonujemy pozostałe obliczenia, z których otrzymamy: C(P2 ) = 21, C(P̂2 ) = 5, C(P3 ) = 42, C(P̂3 ) = 2, C(P4 ) = 85, C(P̂4 ) = 1, C(P5 ) = 171, C(P̂5 ) = 0, C(P6 ) = 357, C(P̂6 ) = 0, C(P7 ) = 714, C(P̂7 ) = 0. Za pomocą twierdzenia 2 wykonujemy porównania a z każdym Pi i b z każdym P̂i . Rozważmy porównanie a z P3 i b z P̂3 : Dla C(a) = C(812) = 42 i C(P3 ) = C(815) = 42, otrzymujemy C(a) = C(P3 ) = 42, więc porównujemy reszty a4 = 14 z |P3 |m4 = |815|19 = 17. Ponieważ a4 = 14 < |P3 |m4 = 17, to a = 812 < P3 = 815. Dla C(b) = C(68) = 3 i C(P̂3 ) = C(50) = 2, otrzymujemy C(b) = 3 > C(P̂3 ) = 2, więc b = 68 > P̂3 = 50. Detekcja nadmiaru multiplikatywnego w resztowym systemie liczbowym 77 Dla powyższych danych warunek (5) jest niespełniony, gdyż (812 < 815) ∧ (3 > 2), więc k jest nieokreślone. Analogicznie wykonujemy pozostałe porównania. W tym przypadku dla każdego i = 1, 2, . . . , 7, żaden z warunków (5) jest niespełniony i należy przejść do etapu 2. Etap 2 Wykonujemy mnożenie: |c|M = |a · b|M = |812 · 68|M ↔ {|9 · 2|11 , |6 · 3|13 , |2 ·8|15 , |14 ·11|19} = {7, 5, 1, 2}. Obliczamy funkcję rdzenia C(|c|M ) = C(14461) = 761. Określamy parzystość liczb a, b, |c|M według twierdzenia 3: P n |a|2 = |812|2 = 0, gdyż |C(a)|2 = j=1 wj |aj |2 2 |b|2 = |68|2 = 0, gdyż |42|2 = |0 · |9|2 + 0 · |6|2 + 0 · |2|2 + 1 · |14|2 |2 = 0 P |C(b)|2 = nj=1 wj |bj |2 2 |3|2 = |0 · |2|2 + 0 · |3|2 + 0 · |8|2 + 1 · |11|2 |2 = 1 P n ||c|M |2 = |14461|2 = 1, gdyż |C(|c|M )|2 = j=1 wj |cj |2 2 |761|2 = |0 · |7|2 + 0 · |5|2 + 0 · |1|2 + 1 · |2|2 |2 |761|2 6= |0|2 16= 0 Z twierdzenia 1 wynika, że nadmiar wystąpił (k = 1), gdyż ||c|M |2 = |14461|2 = 1 dla |a|2 = |812|2 = |b|2 = |68|2 = 0. 6. Podsumowanie W artykule został przedstawiony nowy algorytm detekcji nadmiaru multiplikatywnego w RNS, który nie wymaga rozszerzania bazy systemu i umożliwia określenie nadmiaru dla wszystkich iloczynów a · b < M 2 . Algorytm zrealizowany jest w dwóch etapach. Dla większości par (a, b) nadmiar można określić w etapie pierwszym. Efektywność tego etapu zwiększa się wraz ze wzrostem rozmiaru duo-wektora. Dla pozostałych par (a, b) nadmiar może być określony w etapie drugim. Zaletą prezentowanej metody jest możliwość jednoczesnej realizacji obydwóch etapów. Algorytm może być realizowany sprzętowo lub programowo. Bibliografia [1] Gonnella J. The application of core function to Residue Number System. IEEE Transactions On Signal Processing, No.1/1991, s. 69-75. [2] Szabo N. S., Tanaka R. I. Residue Arithmetic and Its Application to Computer Technology, McGraw-Hill, New York 1967. [3] Miller D., Altschul A., King J., Polky J. Analysis of the residue Class Core Function of Akushskii, Burcev and Park, Residue Number System Arithmetic: Modern 78 Marcin Ożarowski, Mirosław Plebanek, Zenon Ulman Applications in Digital Signal Processing, (Ed.) Soderstrand M. A., Jenkins W. K., Jullien G. A., Taylor F. J., IEEE Press, New York 1986., s. 390-401. [4] Dimauro G., Impedovo S., Pirlo G., Salzo A. RNS architectures for the implementation of the ’diagonal function’, Information Processing Letters 73 (2000), s. 189-198. [5] Vyxinski$ i V. A., Moroz I. G. Perepolnenie qislovogo diapazona pri operaqii umnoeni v sisteme sqisleni ostatoqnyh klassov, Kibernetika, No. 3, 1970, s. 137-138. Environmental factors as determinants of multicriteria methods suitability for a decision situation Zbigniew Piotrowski, Jarosław Wątróbski Szczecin University of Technology, Faculty of Computer Science and Information Technology Abstract: Decision situations are related to various aspects of operations in an organisation. Hence the content of information included in a decision maker’s expectations goes beyond defining criteria and setting a decision problematic. Finding a suitable approach is a task for an analyst who assists a decision maker in the decision process. The following paper synthesises premises used in analysing decision situations, which result in a choice of a multicriteria method to perform calculations. The concluded guidelines can be used as a vocabulary of analytical knowledge which allows to select a multicriteria method suitable for a given context of a decision situation. Keywords: decision support, MCDA, multicriteria analysis 1. Decision situations in operations of an economic organisation Managing an economic organisation is filled with reactive actions against external stimulae. System theory defines an organisation as an open system, which goal is to reach stability in the environment with destabilizing influence of disrupting factors. Considering an organization more detailed than using the „black-box” approach defined by the system theory, a system interconnected subsystems and business processes emerges. Each process consists of communicating actions, information processing and decisions. Decision situations exist in every business process and in almost every business procedure. Significant importance to decisions should be given in interactive processes, based on interaction with humans. The common trend of automating all economic operations (processes) covers only simple and repetitive tasks. Whereas, the mentioned tasks include decision situations, in most cases those decisions are well described and codified. Hence it is possible to encode them as a single-criterion decision algorithm. Moreover, simple intra-procedural decisions are mostly binary (yes/no) decisions. 80 Zbigniew Piotrowski, Jarosław Wątróbski A difficulty arises when a decision involves choosing or grading (ranking) a number of available alternatives. Such situations are encountered at the operational level, the tactical level as well as at the strategic level. Moreover, those situations are difficult to codify and to encode into an algorithm. Modelling decision processes in the mentioned situations is done by creating general guidelines for decisions and specifying desired outcomes of the implementation of a chosen decision. The decision process itself is a manual operation of a business process and a burden of carrying tasks included in the process is on a person responsible for executing a given instance of a process. 2. Expressing a decision situation as a criteria definition and a decision problematic A decision problem according to B. Roy’s definition [1] is a representation of an element of a global decision. The literature distinguishes a number of types of decision alternatives. In the context of this paper, the essential division is the division on realistic alternatives (corresponding to a project, which implementation is feasible) and on unrealistic alternatives (which can include contradictory goals and can be only used for the discussion). The difficulty when solving multicriteria decision problems is the requirement of including alternatives’ judgements (choice alternatives) from various points of view, which refers to multicriteria judgements [2]. According to the outline presented above, the definition of a decision problem consists of a two-elements set presented below: (C, Φ), where: C – a set of criteria, and Φ – a set of meta-data of a decision situation. The C set describes relations between properties of decision alternatives and preference levels of considered alternatives in respective aspects of consecutive elements of the description. The meta-data set consists of decision maker’s expectations about a decision situation. Determining decision criteria requires elaborating all properties of a desired post-implementation outcome of making the considered decision. An analytic task which is given to an analyst (an analyst and a decision makers states for roles and in practice can be assigned to a single person) is to reflect particular aspects of considered implementation on characteristics describing possible options (decision alternatives). The fundamental element of the meta-data set Φ is choice of a problematic of a decision situation according to the division proposed in [1]: a) problematic α – the choice problematic (finding a subset of the A set which includes only the best solutions), b) problematic β – the sorting problematic (assigning alternatives to defined categories), c) problematic γ – the ordering problematic (constructing a ranking of alternatives in the set A from the best one to the worst one). 81 Environmental factors as determinants of multicriteria methods suitability. . . A A’ A A Category 1 Category 2 Category 3 Category 4 A-A’ Figure 1. Reference problematics (respectively choice α, ranking γ, and assignment β) in multicriteria decision aiding. Source: based on [1]. Determining a decision problematic is a very important, however not the only one determinant of a technique of carrying on the decision process. A problematic of a considered decision situation depends on decision maker’s expectations for the process, as well as on characteristics of an analysed decision. The following sample contexts determining the decision problematic are described in [4]: comparison (prioritise) of various technologies of energy production – problematic γ, choice of an investment plan – problematic α, creating a set of projects – problematic β. 3. Participation of an analyst in determining meta-data of a decision situation Available tools for computer aided decision support are directed on calculating preference levels of considered decision alternatives using provided descriptions. Such an approach allows to automate only a part of the decision process. Applying multicriteria methods to analyse a decision situation requires making a deliberate choice of a method suitable for a given decision situation. The goal of the mentioned choice is to find the multicriteria transformation F which fulfils: F (C, Φ) → max u where u is an indicator of a decision maker’s satisfaction measured by his preferences. Choosing a multicriteria method suitable for a given decision problem is made by an analyst who uses his knowledge about the environment of the problem and about characteristics of multicriteria methods. Particularly, in the aggregation phase, the way of dealing with differences between attributes’ values is crucial. Nonetheless the impact of dispersion of those values on mutual preferences between decision alternatives shall not be neglected. The purpose of the exploitation phase is to make an representation of the global preference which is the outcome of a decision maker’s expectations (meta-data) and mutual local preferences between particular decision alternatives. 82 Zbigniew Piotrowski, Jarosław Wątróbski 4. Premises of the reality considered when analysing a decision situation The environment of a decision situation is a factor which is not included in the decision process (a constant factor when compared to decision alternatives). The environment’s characteristics however, have impact on judgements of decision alternatives and on outlining the preferred alternatives. Particularly, factors connected with the completeness of the description of a decision situation included in a problem specification are the determinants of the mentioned completeness. An additional factor, which is important when choosing a suitable decision making approach, is the reality domain covering an analysed problem. Particular domains of decision situations are characterized by known dependencies among properties of actions and outcomes of their implementations. While researching guidelines for choosing a multicriteria approach for a decision situation, the paper focused on explanations provided by the scientific literature. The positions [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18] describe solving decision situations using one of the following methods: PROMETHEE I/II, TOPSIS, ELECTRE III or AHP. Characteristics of the men-tioned methods are presented in the Table 1. The use of multicriteria methods for considered problems and claims supporting choices made were analysed. The conclusions drawn after analysing the literature were used to determine the structure of contextual information, which was used to analyse impacts of particular factors. Table 1. Characteristics of multicriteria methods used in the analysis Method Characteristics TOPSIS Choosing an alternative with the shortest distance to the ideal solution and the longest distance to the negative ideal solution. Transforming subjective DM’s judgements into ordered criteria weights. The procedure uses decsomposition of the problem and comparison matrix of attributes to create a comprehensive estimate of a decision alternative. AHP ELECTRE III Outranking expressed by the credibility index. PROMETHEE I Based on the ELECTRE family, introduces six preference functions for each criterion. The result includes a partial order created with entering and leaving flows of preferences. PROMETHEE II The procedure is similar to PROMETHEE II. In the exploitation phase, a complete preorder is created with with entering and leaving flows of preferences. Source: own study. According to the mentioned above, a set of contextual determinants was created as the K set presented below: K = {K1 , K2 , K3 , K4 , K5 , K6 , K7 , K8 , K9 }, Environmental factors as determinants of multicriteria methods suitability. . . 83 where: K1 – Category of the subject of a decision, describes whether a decision is about an object, an action or a localisation (nominal variable). K2 – Discipline of a decision, describes whether a decision is described by technical, social or economic determinants (nominal variable). K3 – Describes whether conflicting criteria exist in a decision situation (binary variable). K4 – Describes whether criteria covers the whole picture of a decision situation (binary variable). K5 – Describes a number of criteria (ordinal variable). K6 – Describes a number of alternatives (ordinal variable). K7 – Describes a decision maker’s awareness level of a decision situation (ordinal variable). K8 – Describes the scale of an analysed decision (ordinal variable). K9 – The goal of a decision (nominal variable). It is suggested to consolidate the K set into the meta-data set Φ of a decision situation as an integral part of the decision process. The next step of the impact analysis of the outlined determinants was to discover significances of determinants in choosing a multicriteria method suitable for a given decision situation. 5. Impact of identifying environmental factors on the results of decision aiding Analysing the impact of the factors mentioned above was done using decision trees. The SAS Enterprise Miner software was used, and decision trees were induced using functions implemented into SAS Enterprise Miner. The process flow created to perform analyses is presented on the Fig. 2. Figure 2. Process flow in SAS Enterprise Miner The entropy minimisation method was chosen. The following settings were used for inducing decision trees: — minimum number observations in a leaf: 2, — observations required for a split search: 5, — maximum number of branches from a node: 2 (binary tree), splitting rules saved in each node: 5. 84 Zbigniew Piotrowski, Jarosław Wątróbski The analysis was performed for two types of the output: choosing a multicriteria method and choosing a decision aiding “school” (as a property dividing methods in two classes). The results of the analysis for choosing a particular method are presented on the Fig. 3. Figure 3. Decision tree for choosing a method based on the context of a decision situation The correct classification rate for the decision tree choosing a multicriteria method equals 0,714. The induction process isolated the following subset of determinants which are sufficient in the aspect of the analysed process: K 0 = {K2 , K6 , K7 } . It turned out that important factors of the context of a decision situation are: a decision discipline, a number of alternatives, and a decision maker’s awareness level of a decision situation. Environmental factors as determinants of multicriteria methods suitability. . . 85 Choosing a school of decision aiding is presented on the decision tree on the Fig. 4. Value 1 describes an approach based on the European school (outranking approach) and the value 2 describes the American school (utility value approach). Figure 4. Decision tree for choosing a decision aiding school based on a context of a decision situation The correct classification rate for the decision tree choosing a decision aiding school method equals 0,762. The induction isolated the following subset of determinants which are sufficient in the aspect of the analysed process: K 00 = {K7 , K8 } . It turned out that the scale of an analysed decision and a decision maker’s awareness level of a decision situation are the only significant factors. 6. Guidelines for improving reliability of the decision process The paper proposes including the context of a decision situation in decision aiding tools. It was suggested to build a tool which would allow to define a set of parameters characterising environmental factors of a decision situation. The program allows to define not only criteria parameters, but also the meta-description of a decision situation. Users can define own properties (meta-properties) describing a decision situation., which are used to make an assessment of the meta-information of a decision situation. A sample screenshot of a control defining the environmental factor K7 in the program’s dictionary is presented on the Fig. 5. The defined set of parameters describes the context of a decision situation using a dictionary of acceptable values. Two approaches are possible when using 86 Zbigniew Piotrowski, Jarosław Wątróbski information gathered in the process. The first approach is to collect learning information in order to build a set of decision rules. The second approach is to use context information to activate rules in the knowledge base in order to choose a multicriteria method which is the most suitable for a given decision situation. Figure 5. Definition of an environmental factor 7. Concluding remarks The choice of a multicriteria method based on the context of a decision situation allows to apply the same approach, which was used in the past with success. A chosen set of data gathered from scientific literature was used to discover four significant factors which are sufficient to describe suitability of a method to a decision situation. The isolated determinants are: — — — — the discipline of a decision, a number of alternatives, a decision maker’s awareness level of a decision situation, the scale of an analysed decision. The expected outcome of the program consists of marking methods suitable to solve a given decision situation. During the research it was observed that that the more appropriate approach is to indicate a set of methods which is supported by a significant number of observations (above a minimal level of support), along with the level of its support. The Fig. 6 shows the list of methods included in the software with the suitable method checked. Environmental factors as determinants of multicriteria methods suitability. . . 87 Figure 6. Choosing a multicriteria method to solve a decision problem It is crucial to notice that some methods don’t include the full set of input information, which can be specified by a decision maker. For example the TOPSIS method doesn’t account veto, preference and indifference thresholds. Hence, the research shall be continued on including a set of input information provided by a decision maker, in order to a better fir of a chosen multicriteria method to a given problem. Furthermore an available set of multicriteria methods should include a complete set of methods applied in situations which nature is similar to situations which are common in the organisation. Such an approach would allow making a choice of a method guided by real premises, not by limitations of available tools. References [1] Roy B. The outranking approach and the foundations of ELECTRE methods. Theory and Decision, 31 (1991), pp. 49-73. [2] Escobar-Toledo C. E. The Use of Multicriteria Decision Aid System in the Information Technology (IT) Allocation Problem. European Journal of Operational Research, 5/2(2005). [3] Araz C., Ozkarahan I. Supplier evaluation and management system for strategic sourcing based on a new multicriteria sorting procedure. International Journal of Production Economics, 106 (2007), pp. 585-606. [4] Brans J. P., Vincke P. A preference ranking organisation method. Management Science, 31 (1985), pp. 647-656. [5] Brans J. P., Vincke P., Mareschal B. How to select and how to rank projects: The PROMETHEE method. European Journal of Operational Research, 24 (1986), pp. 228-238. [6] Wang J.-J., Yang D.-L. Using a hybrid multi-criteria decision aid method for information systems outsourcing. Computers & Operations Research, 34 (2007), pp. 3691-3700. [7] Goumas M., Lygerou V. An extension of the PROMETHEE method for decision making in fuzzy environment: Ranking of alternative energy exploitation projects. European Journal of Operational Research, 123 (2000), pp. 606-613. [8] Kangas A., Kangas J., Pykaelaeinen J. Outranking Methods As Tools in Strategic Natural Resources Planning. Silva Fennica, 35 (2001), pp. 215-227. 88 Zbigniew Piotrowski, Jarosław Wątróbski [9] Ozerol G., Karasakal E. A Parallel between Regret Theory and Outranking Methods for Multicriteria Decision Making Under Imprecise Information. Theory and Decision, 4 (2005). [10] Rao R., Davim J. A decision-making framework model for material selection using a combined multiple attribute decision-making method. The International Journal of Advanced Manufacturing Technology, 35 (2008), pp. 751-760. [11] Li D.-F. Compromise ratio method for fuzzy multi-attribute group decision making. Applied Soft Computing, 7 (2007), pp. 807-817. [12] Chu M.-T.,Shyu J., Tzeng G.-H., Khosla R., Comparison among three analytical methods for knowledge communities group-decision analysis. Expert Systems with Applications, 33 (2007), pp. 1011-1024. [13] Wei C.-C., Chien C.-F., Wang M.-J.J. An AHP-based approach to ERP system selection. International Journal of Production Economics, 96 (2005), pp. 47-62. [14] Cheng C.-H., Yang K.-L., Hwang C.-L. Evaluating attack helicopters by AHP based on linguistic variable weight. European Journal of Operational Research, 116 (1999), pp. 423-435. [15] Saaty T. L. How to make a decision: The analytic hierarchy process. European Journal of Operational Research, 48 (1990), pp. 9-26. [16] Saaty T. L. The Analytic Hierarchy and Analytic Network Processes for the Measurement of Intangible Criteria and for Decision-Making. Multiple Criteria Decision Analysis: State of the Art Surveys. 2005. [17] Augusto M. R., Lisboa J. O., Yasin M., Figueira J. R. Benchmarking in a multiple criteria performance context: An application and a conceptual framework. European Journal of Operational Research, 184 (2008), pp. 244-254. [18] Hokkanen J., Salminen P. ELECTRE III and IV Decision Aids in an Environmental Problem. Journal of Multi-Criteria Decision Analysis, 6 (1997), pp. 215-226. Porównywanie liczb w resztowym systemie liczbowym z wykorzystaniem parzystości Mirosław Plebanek, Zenon Ulman, Marcin Ożarowski Politechnika Gdańska, Wydział Elektrotechniki i Automatyki Abstract: A new algorithm of the comparison of integers in the Residue Number System has been presented. Two cases were considered. One, when system base contains only odd moduli, and second, when one of the moduli is even. Algorithms are based on number parity function. Parity is determined by use of core function. Słowa kluczowe: residue arithmetic, integer arithmetic, parity, core function 1. Wstęp Resztowy system liczbowy (ang. the Residue Number System, RNS) został stworzony w celu przyspieszenia obliczeń w układach VLSI. Umożliwia on równoległe wykonywanie dodawania, mnożenia i odejmowania, z pominięciem przeniesień. Jednak, ze względu na niepozycyjny zapis liczb, niektóre operacje takie jak dzielenie, określanie przekroczenia zakresu lub porównywanie liczb są trudne do realizacji. Porównywanie liczb w przypadku wagowych systemów sprowadza się do porównania najbardziej znaczących cyfr, w RNS jest to bardziej skomplikowane, gdyż z postaci reprezentacji nie można domyślić się wielkości liczby. Najprostszym sposobem porównania dwóch liczb w RNS, jest ich konwersja do systemu wagowego za pomocą chińskiego twierdzenia o resztach (ang. Chinese Reminder Theorem, CRT), i porównanie uzyskanych liczb. Jednak czas działania takiego algorytmu jest niezadowalający, stąd rozpoczęto badania nad szybszymi sposobami porównywania liczb w RNS. Metodę opartą o wykorzystanie funkcji rdzenia liczby zaproponowano w [3]. W artykule [1] opisano algorytm porównujący dwie liczby, wykorzystujący tablice parzystości. Tablice parzystości przy większych zakresach liczb mogą osiągnąć znaczne rozmiary, ich stosowanie może wiązać się ze znacznymi opóźnieniami i nakładami sprzętowymi wynikającymi z konieczności przeszukania wszystkich elementów tablicy. W artykule przedstawiono algorytm porównujący dwie liczby, których parzystość jest określana za pomocą ich funkcji rdzenia. Rozważono przypadek, gdy baza RNS składa się tylko z modułów nieparzystych oraz przypadek, gdy w bazie znajduje się moduł parzysty. 90 Mirosław Plebanek, Zenon Ulman, Marcin Ożarowski 2. Liczbowy System resztowy Niech {m1 , m2 , . . . , mn } będzie zbiorem liczb całkowitych większych od 1 zwanych modułami, zbiór ten Qnnazywamy bazą B. Każda liczba całkowita X z zakresu [0, M ), gdzie M = i=1 mi , jest wzajemnie jednoznacznie reprezentowana przez wektor (x1 , x2 , . . . , xn ), gdzie xi = |X|mi jest najmniejszą nieujemną resztą z dzielenia X przez mi , i = 1, 2, 3, . . . , n, jeżeli moduły są parami względnie pierwsze. 3. Funkcja rdzenia Funkcja rdzenia [2] C(X) liczby X jest wyznaczana ze wzoru: C(X) = n X wi i=1 X , mi (1) gdzie: wi – współczynniki wagowe, które mogą być dowolnymi liczbami całkowitymi, b c – funkcja podłogi (część całkowita; bXc to największa liczba całkowita nie większa od X ). Wzór (1) jest niewygodny do stosowania w RNS ze względu na czasochłonną operację dzielenia X/mi . Istnieje możliwość korzystania z wzoru (2) opisanego w [2], który pozwala na obliczanie C(X) bezpośrednio na podstawie reprezentacji resztowej liczby X: n X xi C(Bi ) , (2) |C(X)|C(M) = i=1 C(M) gdzie: , m̂i = xi = X mod mi , Bi = m̂i · m̂1i = m̂i · m̂−1 i mi mi M mi , wi C(Bi ) = Bi C(M) M − mi . −1 Liczba inwersją multiplikatywną liczby m̂i mod mi spełniającą rów −1m̂i jest nanie m̂i · m̂i mi = 1. Zgodnie z (1), wartość funkcji rdzenia dla M określa wyrażenie: n X wi m̂i . (3) C(M ) = i=1 Pn Przy założeniu, że wi = 1 dla i = 1 . . . n, (3) przyjmuje postać C(M ) = i=1 m̂i . Ze względu na operację modulo C(M ) w (2) nie wszystkie wyniki uzyskane z wzorów (1) i (2) są z sobą zgodne. Liczby z zakresu, w którym wartości C(X) nie zgadzają się, nazywa się wartościami krytycznymi funkcji rdzenia. Minimalną i maksymalną wartość funkcji rdzenia określają wyrażenia: Cmin = min {C(X) : 0 ≤ X < M } , Cmax = max {C(X) : 0 ≤ X < M } . P Zachodzi zatem Cmin + Cmax = C(M ) − wi . Porównywanie liczb w resztowym systemie liczbowym z wykorzystaniem parzystości 91 Wartości krytyczne funkcji rdzenia C(X) zawierają się w przedziale [0, Cmax − C(M )] oraz [Cmin + C(M ), C(M )]. Wielkość przedziału, w którym znajdują się wartości krytyczne zależy od współczynników wagowych wi . W przypadku, gdy są one większe lub równe zero (poza co najmniej jednym), funkcja rdzenia przyjmuje postać funkcji niemalejącej, w której wartości krytyczne nie występują. Najprostszy przypadek takiej funkcji to rosnąca funkcja schodkowa, która powstaje, gdy tylko jeden współczynnik wi jest różny od zera. W dalszej części artykułu założono, że wn = 1, zaś pozostałe wi = 0. 4. Określanie znaku liczby w RNS Niech P = M dla M nieparzystego, oraz P = M 2 2 dla M parzystego. Liczba P dzieli zakres liczb na dwa przedziały. Liczby, których reprezentacja znajduje się w przedziale [0, P ], są interpretowane jako liczby dodatnie. Pozostałe są interpretowane jako liczby ujemne. W dalszej części artykułu pod pojęciami liczba dodatnia-ujemna będziemy mieć na myśli przedział w którym znajduje się reprezentacja danej liczby. Dla każdego dodatniego X 6= 0, liczba przeciwna definiowana jest jako M − X. Co za tym idzie, liczbie o wartości −2 odpowiada reprezentacja liczby M − 2. W dalszej części artykułu pokazano sposoby określania znaku w zależności od formy modułów w bazie. 4.1. Wykrywanie znaku liczby w RNS z modułami nieparzystymi Do określenia znaku liczby w RNS z modułami nieparzystymi można zastosować twierdzenie o znaku liczby X. Twierdzenie 1. Niech wszystkie moduły i C(M ) będą nieparzyste. X jest dodat nie wtedy i tylko wtedy, gdy liczba X = |2x1 |m1 , . . . , |2xn |mn jest parzysta [3]. 4.2. Wykrywanie znaku liczby w RNS z modułem parzystym Do określenia znaku liczb w systemie RNS z parzystym modułem można posłużyć się algorytmem zaprezentowanym w [4]. Niech X = |X|M będzie liczbą ze znakiem zdefiniowaną w zakresie [0, M ). Można ją zapisać w postaci: |X|M = k · P + |X|P , (4) gdzie: k ≥ 0, 0 < P ≤ M. Należy zauważyć, że jeżeli: |X|M = |X|P , (5) 92 Mirosław Plebanek, Zenon Ulman, Marcin Ożarowski to k = 0, natomiast gdy |X|M 6= |X|P , to k = 1. Informacja ta pozwala określić znak liczby. Jeżeli moduły bazy spełniają warunki takie, że (mi , mj ) = 1, i 6= j oraz |M |2 = 0 i mn jest parzyste, to: P = M mn = m1 m2 · · · mn−1 · , 2 2 (6) przy czym mn = mp . 2 Jeżeli największy wspólny dzielnik (mn , mi ) = 1, to (mp , mi ) = 1 dla wszystkich i = 1, 2, . . . , n − 1. Ostatecznie otrzymujemy zależność |X|mn = ||X|P |mn . (7) Jeżeli jest ona prawdziwa, to X znajduje się w przedziale liczb dodatnich, zaś jeżeli nieprawdziwa, to X znajduje się w przedziale liczb ujemnych. Korzystając z powyższych zależności można określić znak liczby zapisanej w RNS przy użyciu bazy z modułem parzystym. 5. Wyznaczanie parzystości liczby Załóżmy, że wszystkie moduły RNS są nieparzyste, oraz wagi wi są tak dobrane, że C(M ) jest nieparzysta. Parzystość liczby X określa funkcja |X|2 . Twierdzenie 2. Liczba X jest parzysta wtedy i tylko wtedy, gdy C(X) oraz Pn i=1 |xi |2 · wi mają taką samą parzystość [3]. Twierdzenie 2 można zapisać w następujący sposób: ( Pn 0 ⇔ |C(X)|2 = | i=1 |xi |2 · wi |2 |X|2 = Pn . (8) 1 ⇔ |C(X)|2 6= | i=1 |xi |2 · wi |2 Na podstawie twierdzenia 2 zaproponowano algorytm 1 obliczający |X|2 . Wartość współczynników parzystości wi jest znana już na etapie projektowania systemu, stąd znane są ich parzystości. W przypadku gdy i-ty współczynnik jest parzysty, wyrażenie |wi |2 · |xi |2 przyjmuje Pwartość 0. Korzystając z tej informacji można usunąć cześć składników z sumy ni=1 |wi |2 · |xi |2 . Przyjmując realne założenie, że reszty xi są wtórnie kodowane binarnie, o parzystości reszty możemy wnioskować na podstawie znajomości najmniej znaczącego bitu reszty (LSB). Odpowiednio, o parzystości wyniku operacji arytmetycznej, informuje jego najmniej znaczący bit. Ta sama zasada odnosi się do parzystości współczynników wagowych wi oraz wartości C(X). Algorytm 1. Obliczanie |X|2 . 1. Wyznaczyć Pparzystość reszt xi dla tych i, dla których |wi |2 = 1. 2. Obliczyć |xi wi |2 . 3. Obliczyć parzystość obliczonej sumy równej LSB. Porównywanie liczb w resztowym systemie liczbowym z wykorzystaniem parzystości 93 4. Obliczyć parzystość funkcji rdzenia C(X). P 5. Porównać ostatni bit |xi wi |2 oraz ostatni bit funkcji rdzenia C(X). Do porównania zmiennych logicznych można użyć bramek XOR. Punkty od 1 do 3 oraz 4 można wykonać równolegle. Schemat blokowy układu realizującego powyższy algorytm przedstawiono na rys. 1. XRN S oznacza reprezentację liczby X w systemie resztowym. Rysunek 1. Układ do obliczania parzystości liczby X 5.1. Wyznaczanie parzystości liczb dla bazy z parzystym modułem Przy założeniu podziału zakresu na dwie połowy, [0, P ] dla liczb dodatnich i (P, M ) dla liczb ujemnych, w przypadku stosowania modułu parzystego reprezentacja liczby ujemnej −1 będzie identyfikowana jako liczba nieparzysta, inaczej niż to ma miejsce przy założeniu, że wszystkie moduły są nieparzyste. Powyższe zależności przedstawione są na rysunku 2. W jego górnej części pokazano, jak rozkładają się liczby parzyste i nieparzyste w systemie RNS z bazą złożoną z modułów nieparzystych. Dolna część opisuje przypadek, gdy jeden z modułów jest parzysty. Parzystość liczb przyjmuje wartości 0 (liczby parzyste) oraz 1 (liczby nieparzyste). 94 Mirosław Plebanek, Zenon Ulman, Marcin Ożarowski Rysunek 2. Rozkład liczb parzystych i nieparzystych w systemie RNS Parzystość liczby w systemie z parzystym modułem otrzymuje się natychmiast, wystarczy obserwować najmłodszy bit reszty uzyskanej z operacji X modulo pa rzysty moduł, ponieważ |X|mi 2 = |X|2 . 6. Porównywanie X i Y dla parzystego i nieparzystego zakresu liczb Algorytm opiera się na dwóch twierdzeniach [1] o parzystości, w przypadku gdy moduły RNS są parami względnie pierwsze. Twierdzenie 3. Niech X i Y są tej samej parzystości i Z = X − Y . X ≥ Y ⇔ Z jest liczbą parzystą, X < Y ⇔ Z jest nieparzystą liczbą. Twierdzenie 4. Niech X i Y są różnej parzystości i Z = X − Y . X ≥ Y ⇔ Z jest liczbą nieparzystą, X < Y ⇔ Z jest parzystą liczbą. Przykład 1. Zakładamy, że M jest nieparzyste. Przypadek 1 : X = 5 Przypadek 2 : X = 3 Y =3 Y =5 Z =5−3=2 Z = 3 − 5 = −2 Przypadek 3 : X = −5 Przypadek 4 : X = −3 Y = −3 Y = −5 Z = −5 + 3 = −2 Z = −3 + 5 = 2 Należy zauważyć, że w przypadku 2 znak Z jest przeciwny do X oraz Y. Porównywanie liczb w resztowym systemie liczbowym z wykorzystaniem parzystości 95 6.1. Porównywanie liczb dla bazy z modułami nieparzystymi Do określenia, która z liczb jest większa, posłuży algorytm 2, skonstruowany przy wykorzystaniu twierdzeń 3 i 4. Algorytm działa poprawnie, gdy baza zawiera moduły nieparzyste, oraz gdy X i Y są tego samego znaku. W przypadku liczb o różnych znakach wynik działania algorytmu jest błędny. Wynika to z różnic w parzystości liczb dodatnich i ujemnych. Aby uniknąć tego problemu należy zbadać znak obu badanych liczb jeszcze przed rozpoczęciem obliczeń. Algorytm 2. Porównanie X i Y. 1. Obliczyć Z = X − Y . 2. Wyznaczyć z twierdzenia 3 parzystość X oraz Y. 3. Sprawdzić czy |X|2 = |Y |2 . Jeżeli są one sobie równe, wtedy zmienna XY par przyjmuje wartość 1, w przeciwnym wypadku XY par = 0. 4. Korzystając z twierdzenia 3, wyznaczyć |Z|2 . 5. Porównać zmienną logiczną XY par z |Z|2 . Zmienna W y jest wynikiem działania algorytmu i przyjmuje wartości 0 dla dla X ≥ Y , oraz 1 dla X < Y . Układem porównującym |X|2 i |Y |2 oraz XY par i |Z|2 są bramki XOR. Obliczenia parzystości liczb X, Y i Z można wykonywać równolegle. Schemat blokowy układu realizującego powyższy algorytm przedstawiono na rys. 3. Rysunek 3. Algorytm 2 porównywania X i Y 96 Mirosław Plebanek, Zenon Ulman, Marcin Ożarowski 6.2. Porównywanie X i Y dla bazy z modułem parzystym W przypadku bazy z modułem parzystym algorytm porównywania liczb działa poprawnie tylko wtedy, gdy liczby X i Y są dodatnie. Aby otrzymać prawidłowy wynik porównania X i Y (w przypadku korzystania z bazy z modułem parzystym) należy sprawdzić (na podstawie zależności 7) znak obu wartości wejściowych X i Y, oraz Z = X − Y . Istnieje 5 przypadków: X i Y > 0 oraz Z > 0 ⇒ X > Y X i Y > 0 oraz Z < 0 ⇒ X < Y X i Y < 0 oraz Z > 0 ⇒ X > Y X i Y < 0 oraz Z < 0 ⇒ X < Y X i Y różnych znaków ⇒ zależność wynika ze znaków X oraz Y Jeżeli znane są znaki X, Y i Z, to powyższe implikacje można zrealizować za pomocą układu kombinacyjnego. Zmienna logiczna W y przyjmuje wartość 0 dla X > Y oraz 1, gdy X < Y . Zmienne logiczne sgn(X), sgn(Y ), sgn(Z) oznaczają znak liczb X, Y i Z, i przyjmują wartość 0, gdy liczba jest większa od zera i 1 dla liczb mniejszych od zera. Algorytm 3. Porównanie X i Y. 1. Obliczyć Z = X − Y . 2. Wyznaczyć na podstawie (7) znak X, Y i Z, jako sgn(X), sgn(Y ), sgn(Z). 3. Porównać sgn(X) oraz sgn(Y ). Wynik porównania oznaczony przez XY comp, przyjmuje wartość 0, gdy sgn(X) i sgn(Y ) są sobie równe i 1, gdy zmienne mają różne wartości. 4. Porównać zmienną XY comp z wartością zmiennej logicznej sgn(Z). Wynik porównania oznaczony przez XY Zcomp, przyjmuje wartość 0, gdy wartości sgn(Z) i XY comp są takie same i 1, gdy są one różne. 5. Równolegle do punktu 4 porównać, czy sgn(X) lub sgn(Y ) było równe 1 (w przypadku, gdy zmienna XY comp = 1). Wynik określania różnic znaków X i Y zostanie zapisany do zmiennej sgnXY . Przyjmuje ona wartość 0, gdy sgn(X) = 0 oraz sgn(Y ) = 1, oraz sgnXY = 1, gdy sgn(X) = 1 i sgn(Y ) = 0. 6. Wybrać jedną ze zmiennych sgnXY lub XY Zcomp. O wyborze decyduje wartość zmiennej logicznej XY comp. Jeżeli X i Y były tego samego znaku, zmienna W y = XY Zcomp, w przeciwnym wypadku W y = sgnXY . Schemat układu realizującego algorytm 3 przedstawiono na rysunku 4. 7. Podsumowanie Zaprezentowany algorytm porównywania liczb jest oparty na obliczaniu parzystości liczb. Rozważono przypadek, gdy baza zawiera tylko moduły nieparzyste, oraz gdy jeden z modułów jest parzysty. Dzięki temu, że parzystość wszystkich liczb można obliczać równolegle, algorytm odznacza się dużą efektywnością. Algorytm nie wymaga iteracji, czas jego działania jest stały i może być zrealizowany przy pomocy prostych układów logicznych. Porównywanie liczb w resztowym systemie liczbowym z wykorzystaniem parzystości 97 Rysunek 4. Układ porównywania liczb przy bazie z modułem parzystym Bibliografia [1] Chiang J., Lu M. A General Division Algorithm for Residue Number Systems. Proceedings of the 10th IEEE Symposium Computer Arithmetic on 26-28 June 1991, s. 76-83. [2] Miller D., Polky J., King J. A Survey of Recent Soviet Developments in Residue Number Systems. 26th Midwest Symposium on Circuits and Systems, 1983, s. 385-389. [3] Miller D., Altschul R., King J., Polky J. Analysys of the Residue Class Core Function of Akushskii, Burcev and Pak. Residue Number System Arithmetic: Modern Applications in Didital Signal Processing, IEEE Press, 1986, s. 390-401. [4] Ulman Z. Sign Detection and Implicit-Explicit Conversion of Numbers in Residue Arithmetic. IEEE Transactions on Computers, Vol. C-32, NO. 6, June 1983, s. 590 – 593. Cost-effective extension of data storage system Jakub Swacha University of Szczecin, Faculty of Economics and Management Abstract: The paper describes a model for data storage system costs. The model, provided with data describing the system, a list of possible system extensions and their performance characteristics, along with predictions of stored data volume growth and storage price changes, allows to find most cost-effective selection and timing of data storage system extensions. Keywords: data storage, data volume growth, storage management, data storage efficiency 1. Introduction The rapid growth of data volume stored in enterprise information systems augments the importance of proper storage management, that would be capable of curbing the expenses on data storage. As storage systems can be based on different storage architectures, use different storage management software, and be managed with different policies, it becomes a weighty question how to evaluate their efficiency. This author proposed an entire methodology of data storage efficiency assessment, briefly introduced in [9], characterized by using an economic approach to data storage system evaluation. As the volume of stored data grows, the storage system must be constantly extended to accommodate the new data. A factor of considerable importance here is the well-established trend of decreasing data storage purchase prices and increasing performance capabilities [4]. The mentioned paper ([9]) discusses the static approach only, i.e., the components and organization of the storage system are not subject to change within the period for which the assessment is made. Thus, it can help find an optimal system upgrade (by comparing different possible system configurations) but it is not suitable to plan the best sequence of upgrades over a longer time span. This paper addresses the latter issue, as it explains how, basing on expectations on data storage requirements growth and changes in data storage purchase price, the methodology can be applied to find the most cost-effective selection and timing of data storage system extensions. 100 Jakub Swacha 2. Problem setting The fundamental purpose of data storage system is to pass data between two points in time. An effective storage system manages to restore all data that were earlier stored in it. An efficient storage system accomplishes that with minimum required resources, such as the occupied storage space and the time it takes for the users to store and restore files to and from the system; specifically, an economically efficient storage system achieves either the best possible quality of service level with the available budget, or the required quality of service level with the minimum possible budget. If we are able to consider the business value of quality of service, then the most efficient system in economic terms is the best system overall. There are three groups of factors that determine the performance of data storage system, related to: — data – e.g., number of files, their sizes, how compressible they are; — storage devices and media – e.g., their capacity, access times, ownership costs (including not only purchase price, but also all kinds of maintenance costs); — users – e.g., their number, activity (especially data usage patterns), data access delay costs and acceptable limits. Data can be stored using different storage devices and media. Users usually require at least a part of their data to be stored on devices meeting high technological standards, but, due to economic limitations, it is not feasible to store all the data on the best, i.e. the most expensive devices and media. For these reasons, data storage systems often have several tiers attaining different access times for different ownership costs. The classic model distinguishes three such tiers: on-line (the fastest access for the highest price), near-/on/-line (medium), and off-line (the slowest access for the lowest price). Originally, the on-line tier contained fully automatic devices (e.g., hard disk drives), whereas devices in the off-line tier could require human assistance (e.g., removable media drives in which tapes or optical disks are changed manually). Additional tiers can be arranged by grouping devices (and/or media) with similar performance capabilities. Also, compression algorithms can be applied to reduce storage costs at the expense of lengthened access times [5]. Nowadays, a popular storage system architecture often consists of four tiers, respectively for: database hot files, high speed primary storage, enterprise applications and high capacity backup and archives. Both the complexity and components of a storage system depend on the size, type, and structure of the information system it serves. Same storage devices can be used on different tiers of different storage systems. The more complex the storage system is, the more difficult it becomes to use its components optimally. The pursuit of this optimum is the role of data storage management. Data storage management seeks to improve storage effectiveness – with enforced backup and restore policies – and efficiency – by freeing the system from the burden of storing unnecessary and/or duplicate files, and assuring that the rarely Cost-effective extension of data storage system 101 used files are kept in the cheap high-tier storage, whereas the frequently used files are kept in the fast low-tier storage. Nowadays, with huge volumes of stored data and thousands of input/output operations per second, it is impossible to manage data storage efficiently without software support. A classic example of such support is System-Managed Storage from IBM [1]; today, data storage management software systems are available from all the major storage vendors. A common feature of such systems is the Hierarchical Storage Management [11] allowing setting up rules for automatic movement of files between storage tiers, depending on their properties and usage statistics. Recently introduced Information Lifecycle Management puts this process in more abstract, economic terms, as its purpose is “to align the business value of information with the most appropriate and cost effective IT infrastructure” [3]. Having a detailed description of a working storage system, its infrastructure, contents, users and usage statistics, as well as knowing ownership costs and performance capabilities for every single storage system extension available, one can find the best possible upgrade using the methodology presented in [9]. Yet in the longer time period, the sequence of the best possible upgrades chosen every time storage extension is necessary may happen to be inferior to prospective storage capacity planning based on expected storage requirements growth and price forecasts. That is the motivation for constructing a data storage system cost model making use of such forecasts. 3. Storage cost model 3.1. Model basics Let S be a storage system investigated in time period of length T (measured in days). Let t be a discrete variable denoting number of days that passed since the beginning of the investigated period. The system S consists of I storage tiers. At the beginning of every day t within the investigated period, we consider the system S to be in managed state, in which all the data assigned to storage tier i are stored on the tier i. Let Vi,t denote the capacity of respective tier i at the beginning of day t, let Mi denote the storage safety margin, i.e., the capacity that must be reserved for daily usage on tier i, and let Ui,t denote the actual storage utilization, i.e., the capacity that is allocated for data on tier i at the beginning of day t. Thus, we obtain the first constraint: Vi,t ≥ Ui,t + Mi , (1) for every i ∈ [1, I] and t ∈ [0, T ]. The unit in all three cases is megabyte. The ratio of allocated to total capacity will be referred to as the storage allocation efficiency [10], ui,t : Ui,t . (2) ui,t = Vi,t 102 Jakub Swacha To accommodate the expected stored data volume growth, the storage utilization of tier i on day t, where t > 0, can be estimated in the following manner: Ui,t = αti Ui,0 , (3) where αi is average daily data volume increase coefficient for tier i, based on historical observations, and Ui,0 is the total volume of data stored on tier i devices at the beginning of the investigated period. Let Xi,d,t denote the extension of tier i with storage device of type d (from among D available device types) at the beginning of day t. Notice that: — a positive value of Xi,d,t denotes the number of devices of type d that were added to the storage pool of tier i at the beginning of day t ; — a negative value of Xi,d,t denotes the number of devices of type d that were removed from the storage pool of tier i at the beginning of day t ; — the value of Xi,d,0 denotes the number of devices of type d that were already in the storage pool of tier i at the beginning of the investigated period. Therefore, we have: Vi,t = t X Xi,d,j Vd , (4) j=0 where Vd is the useable capacity of device of type d. Notice that we cannot remove more devices form any tier than there are: Xi,d,t ≥ − t−1 X Xi,d,j , (5) j=0 for every i ∈ [1, I], d ∈ [1, D], and t ∈ [0, T ]. X is decision variable. Its value is optimal when the total storage costs are minimal. The total storage costs include: — — — — acquisition costs; maintenance costs; user-related costs; decommissioning costs. 3.2. Acquisition costs As most of the costs could only be precisely calculated at the end of the investigated period, to let the model be useful for prognostic purposes, estimations should be used instead whenever obtaining exact data is not feasible. The acquisition costs should include purchase price and installation costs. The purchase price of system component d on day t can be estimated using function pd (t) such as follows: pd (t) = δdt pstart(d) , (6) 103 Cost-effective extension of data storage system where δd is the average daily price decrease coefficient, based on historical prices of devices with type similar to d, and pstart(d) is the purchase price of storage device type d known at the beginning of the investigated period. Notice that a more sophisticated form of prediction model could be used as well, improving the estimation precision but requiring more input historical data and more calculations. Let cinst(d) be the one-time installation cost of storage device type d. We shall consider the installation costs to be static during the investigated period. Thus, the total acquisition costs for day t can be obtained from the following formula: ! D I X X (7) Xi,d,t . cA t = pd (t) + cinst(d) max 0, i=1 d=1 3.3. Maintenance costs The maintenance costs should include data administration, device maintenance, floor space and electricity costs. The data administration costs are proportional to the volume of stored data; cadm(i) denotes the average daily data administration costs per megabyte for tier i. The daily device maintenance costs cdev(d) for a single device of type d can be calculated as a product of an average administrator’s hourly wage wadm and an average (or estimated, basing on device type and capacity) number of work hours md spent daily on maintenance of a single device of type d : cdev(d) = wadm md . (8) The daily floor space cost cspace(d) for a single device of type d can be calculated basing on its dimensions ld and total available space for device installation L (either in rack units or cubic meters), and yearly rent cL : cL l d . (9) 360 · L The daily electricity costs cpower(d) for device type d could be obtained by multiplying the energy price by either the values specified by the manufacturer in technical documentation or average on-site measurements. Thus, the total maintenance costs for day t can be obtained from the following formula: D X t I X X cadm(i) Ui,t + Xi,d,j cdev(d) + cspace(d) + cpower(d) . (10) cMt = cspace(d) = i=1 d=1 j=0 3.4. User-related costs The user-related costs are the costs borne outside of the storage system, but caused by it, resulting from its technical properties. They consist of the cost of 104 Jakub Swacha the time users normally have to wait for data requested from the storage system, cwork , the expected costs due to storage outage, cout , and the expected costs due to storage failure, cf ail . These costs depend on two groups of factors: actual performance of the system components and usage patterns. Neither can be known in advance, so if the model is to be used for prognostic purposes, actual performance measurements should be substituted with benchmark measurements, such as those obtained with CoTe software [6]. Regardless of how the values were obtained for device type d, yd denotes the average access delay, vr(d) the average read transfer rate, and vw(d) the average write transfer rate. The unit of yd should be a second, and for vr(d) and vw(d) – a megabyte per second. As for the usage patterns, a uniform usage of all devices within a single storage tier should be assumed, regarding storage utilization, data access counts and transfers. Therefore, only aggregate values for entire storage tiers are required as input data. The share of the data (as well as transfer and I/O operations) ad,t attributed to devices of type d on day t and storage tier i can be calculated as follows: t X ui,t Vd Xi,d,j ai,d,t = . (11) Vi,t j=0 Let baccstart(i) be the average daily data access count for storage in tier i for the week preceding day zero. Daily access count is expected to increase, though usually its growth is not expected to match the growth in stored data volume. Because of that, access count for tier i should be estimated with the help of another coefficient, βi (based on observations from preceding periods and/or other systems), using function bacc(i) (t) such as follows: bacc(i) (t) = βit baccstart(i) . (12) Similarly, function br(i) (t) can be used to estimate daily read transfer, and function bw(i) (t) can be used to estimate daily write transfer. They both can use the same coefficient βi , provided the average transfer size is assumed to be constant during the investigated period. The user time cost, wuser(i) , can be simply an average hourly wage of storage tier i user, however, more precise results could be obtained with better user time valuation methods, such as those proposed in [7]. Thus we obtain the tier i storage normal usage cost for day t : cwork(i,t) = D br(i) (t) bw(i) (t) wuser(i) X . + ai,d,t yd bacc(i) (t) + 3600 vr(d) vw(d) (13) d Both the expected costs due to storage outage, cout , and the expected costs due to storage failure, cf ail , require information valuation, though on the general level of a storage tier, thus relatively easy to perform. Let egain(i) denote the average gain from accessing data stored on tier i, and eloss(i) the average additional loss from unavailability of the required data, and let 105 Cost-effective extension of data storage system d denote the ratio of failed to total requests for device type d, estimated basing on historical observations. Then, the expected costs due to storage outage of devices of type d on storage tier i and on day t can be calculated as follows: cout(d,i,t) = εd egain(i) + eloss(i) ai,d,t bacc(i) (t). (14) Let ecreate(i) denote the average cost of recreating one megabyte of data stored on tier i, and ef orget(i) the average loss due to irreversible deletion of one megabyte of data from tier i, and let ζd denote the daily probability of failure of device type d, estimated basing on historical observations. Then, the expected costs due to storage failure of devices of type d on storage tier i and on day t can be calculated as follows: cf ail(d,i,t) = ζd min ecreate(i) + ef orget(i) ai,d,t Vi,t . (15) Thus, we obtain the total user-related costs for day t : cUt = I X cwork(i,t) + i D X cout(d,i,t) + cf ail(d,i,t) d=1 ! . (16) 3.5. Decommissioning costs Let cremove (d) be the cost of removal of device type d from the system, let cresale (d) be the costs of selling the detached device, and let crecycle (d) be the costs of recycling of the detached device. The decommissioning costs can be reduced by income from the sale of the decommissioned components, however, the value of used components quickly decreases in time. The sale price of system component d on day t can be estimated using function qd (t) such as follows: qd (t) = γ t qstart(d) , (17) where qstart (d) is the resale price of a used device of type d at the beginning of the investigated period, and γ is the average daily resale price decrease coefficient, based on historical prices of devices with type similar to d. Then, the total disposal costs for device type d and day t will be: cdispose(d,t) = cremove(d) + min cresale(d) − qd (t), crecycle(d) . (18) Thus we obtain the total decommissioning costs for day t : ! D I X X Xi,d,t cdispose(d,t) . max 0, − cDt = d=1 (19) i=1 3.6. Model summary Let ϕ be the average yearly interest rate. Then, the goal function can be written as follows: T X ϕ T −t (cAt + cMt + cUt + cDt ) 1 + → min . (20) 360 t=0 106 Jakub Swacha The decision variable is X, whereas the input variables can be divided into four groups: — general (T, D, ϕ); — describing the investigated storage system S : — general properties (I, L), — usage statistics (M, U0 , baccstart , brstart , bwstart ), — trends (α, β); — describing storage devices: — basic technical properties (V, l ), — observed performance (y, vr , vw ), — prices (pstart , qstart ), — price trends (δ, γ), — failure probabilities (, ζ); — describing the financial conditions under which the investigated storage system is operated (cadm , wadm , m, cL , cpower ,wuser , eloss , egain , ecreate , ef orget , cremove , cresale , crecycle ). 4. Conclusions The proposed model can be used to estimate the costs of operating and extending a data storage system, and thus, to find the optimum type and timing of the extensions. Compared to the cost models presented in [5] and [9], the most significant differences are: — the storage system is considered fully dynamic, during the investigated period, not only can data be moved between different storage locations but system infrastructure can be modified as well, as storage devices can be added to the system and removed from it; — the focus is on the efficiency of storage system extension, not every-day use, more precisely, on which components should be added to the system and when, not how the stored data should be distributed among the system components; — data distribution is considered on the level of storage tiers and their utilization, not individual storage devices and files; hence, the input data are more general (often aggregate values); — much of the input data are expected to be estimations, not exact real world measurements; — the model is primarily intended for prognostic purposes, not diagnostic ones. The model is implemented in SEES, a user-friendly software for computer-aided evaluation of storage system efficiency [8]. SEES allows to import data from CoTe and other sources, filter them on any criteria, calculate the relevant efficiency measures, and display results in form of tables and diagrams. Cost-effective extension of data storage system 107 5. Acknowledgements Work financed from the budget of the Polish Ministry of Science and Higher Education for the years 2007-2008 as a research project. References [1] Gelb J. System-managed storage. IBM Systems Journal, vol. 28, no. 1, 1989, pp. 77-103. [2] Petrocelli T. Data Protection and Information Lifecycle Management. Prentice Hall, 2005. [3] Short J. E. Information Lifecycle Management: An Analysis of End User Perspectives. Working Paper 06-01, University of California, January 2006. [4] Smith I. Historical Notes about the Cost of Hard Drive Storage Space [online]. http://www.littletechshoppe.com/ns1625/winchest.html, January 21, 2008 [access: May 29, 2008]. [5] Swacha J. Assessing the Efficiency of Data Compression and Storage System. 7th International Conference on Computer Information Systems and Industrial Management Applications, IEEE Computer Society, 2008. [6] Swacha J. CoTe: A Software Tool for Compression Benchmarking. Proceedings Data Compression Conference. IEEE Computer Society, 2008. [7] Swacha J. Estimating the cost of computer system working time. Proceedings of the IXth International Conference CADSM 2007. Publishing House of Lviv Politechnic National University, 2007, pp. 204-205. [8] Swacha J. SEES jako system wspomagania decyzji. Forthcoming [in Polish]. [9] Swacha J. Zarządzanie przechowywaniem danych: zarys praktycznej metodyki oceny efektywności. Zarządzanie wiedzą i technologiami informatycznymi, PWNT, 2008, pp. 139-146 [in Polish]. [10] Williams B. The Business Case for Storage Networks. Cisco Press, 2004. [11] Woodrow T. Hierarchical Storage Management System Evaluation, Third NASA Goddard Conference on Mass Storage Systems and Technologies, NASA Ames Research Center, October 1993, pp. 187-216. Przegląd metod ekstrakcji wiedzy w serwisach WWW – Web Structure Mining Łukasz Szełemej Politechnika Szczecińska, Wydział Informatyki Abstract: This article presents Web Structure Mining method based on extracted Web data. For analisys this method uses hyperlinks connecting different webpages. Internet is treated as a special graph which points are specified webpages and links present its edges. That data is used to create easy in use Internet structures where query processes are easier, faster and more efficient. Słowa kluczowe: Hits, Clever, H&A, Data Mining, Web Mining, Web Log Mining, Web Structure Mining, Knowledge Mining, Web Communities 1. Wstęp. Web mining Technika eksploracji danych, mająca na celu odkrywanie i uzyskiwanie przydatnych informacji i wzorów z dokumentów i usług WWW. Celem tej techniki jest zrozumieć złożone i dynamiczne dane, aby być bardziej efektywnym i skutecznym w biznesie. Jest to nic innego jak podążanie od informacji z serwisu WWW do wiedzy o danym serwisie WWW (sklepie internetowym, portalu informacyjnym itd.). 2. Web Structure Mining Jest to proces, którego zadaniem jest wydobycie struktury informacji z sieci Web poprzez analizę hiperlinków tzn. linków wchodzących i wychodzących z dokumentu (strony, serwisu). Metoda ta wykorzystuje strukturę dokumentu, w którym strony jako węzły są połączone z innymi stronami za pomocą odnośników [10]. Celem Web Structure Mining jest wygenerować z serwisu jego szczegółową strukturę. Metoda ta skupia się głównie na strukturze wewnętrznego dokumentu i próbuje odkryć strukturę związków odnośników na każdym poziomie dokumentu. Oparty na topologii linków Web Structure Mining generuje informację, na temat podobieństwa i relacji, jakie występują między różnymi witrynami. Zadaniem tej metody jest ujawnianie schematu budowy struktury stron w serwisie, tak, aby umożliwić łatwiejszą nawigację a także po to, aby porównać i łączyć schematy tworzenia stron internetowych [1]. 110 Łukasz Szełemej Web Structure Mining ma także na celu wprowadzanie technik bazy danych w celu uzyskiwania dostępu do informacji na stronach sieci Web poprzez dostarczanie schematu odniesień. Jeżeli dana strona sieci Web jest bezpośrednio połączona linkiem z inną strona, albo strony te są sąsiadami, to chcielibyśmy odkryć relacje między tymi stronami (serwisami). Elementem wspólnym wskazującym na powiązanie dokumentów może być ten sam typ danych powiązanych poprzez synonimy lub ontologię, bądź serwisy mogą mieć podobne zawartości, mogą być składowane na tym samym serwerze sieci Web albo są zbudowane (utworzone) przez tą samą osobę. WSM (Web Structure Mining) ma za zadanie odkryć naturę hierarchii, odkryć sieć powiązań stron danej domeny. Może to pomóc uogólnić strumień informacji w witrynach internetowych reprezentujących określoną domenę, dlatego przetwarzanie zapytania będzie łatwiejsze i skuteczniejsze [12]. WSM jest powiązane z metodą Web Content Mining i często zdarza się, że te dwie metody są używane razem. Analiza korzystania z odsyłaczy prowadzi do wykrywania nieużywanych linków, błędnych odniesień, do określenia miejsc, w których nastąpiła rezygnacja z serwisu, bądź miejsc powrotów a finalnie do określenia, czy układ serwisu jest zły [8]. A B C E G F D H — z B do C: link wychodzący – odwołanie (ang. outlink.reference) — B z A: link wchodzący – cytat A (ang. nlink.citation) — B: link własny – cytat B (ang. selflink.self-citation) — E i F: link wzajemny (ang. reciprocally) — A i H: link przechodni poprzez B i D (ang. transitively) — A z G: link poprzeczny: skrót (ang. transversal.shortcut) — C i D od B: pozycje współlinkowane (ang. co-linked ) — B i E do D: pozycje współlinkujące (ang. co-linking) 3. Algorytm Hits Hits (Hyperlink-Induces Topic Search) służy do znajdowania węzłów i autorytetów dla konkretnych słów kluczowych. Tworzy podgraf sieci web: wierzchołkami są Przegląd metod ekstrakcji wiedzy w serwisach WWW – Web Structure Mining 111 poszczególne strony, a krawędziami hiperłącza. Każdy węzeł i autorytet otrzymuje określoną wagę, na podstawie liczby krawędzi. Wykorzystywana jest tu zasada, że dobry autorytet jest wskazywany przez wiele dobrych węzłów, podczas gdy dobry węzeł wskazuje na wiele dobrych autorytetów. Algorytm składa się z modułu próbkowania, który konstruuje zbiór tysięcy dokumentów WWW, zawierający odpowiednie, z punktu widzenia wyszukiwania, dokumenty WWW oraz moduł propagacji, który określa oszacowanie prawdopodobieństwa wag składowych. Hyperlink-Induces Topic Search nazywany jest w skrócie algorytmem H&A i został opracowany przez Johna Kleinberga. H&A został wykorzystany w Clever, czyli pierwszej wyszukiwarce nowej generacji opracowanej przez naukowców z IBM Almaden Research Lab. Zadaniem tego narzędzia jest klasyfikacja dokumentów, w których znajdują się najbardziej reprezentatywne dla danego tematu informacje. Clever najpierw przeszukuje wszystkie strony tak jak inne wyszukiwarki internetowe, a znalezione adresy są podstawą do dalszej analizy, która bada wzajemne powiązania między stronami. Algorytm H&A składa się z dwóch modułów: — moduł próbkowania, który konstruuje zbiór tysięcy dokumentów WWW, zawierający odpowiednie, z punktu widzenia aktualnego wyszukiwania, dokumenty WWW. Zbiór jest tworzony na podstawie wyniku zwróconego przez wyszukiwarkę internetową, — moduł propagacji, który szacuje ważność dokumentów. Algorytm wyróżnia dwa typy dokumentów: — autorytatywne (ang. authorities) – stanowią źródło ważnej informacji na dany temat i zawierają odnośniki do wielu autorytatywnych dokumentów, — koncentratory (ang. hubs) – zawierają odnośniki do autorytatywnych dokumentów, do których odnośniki posiada wiele koncentratorów. Algorytm jest wykonywany w trzech etapach: A) Konstrukcja zbioru początkowego Do konstrukcji początkowego zbioru wykorzystuje się indeks wyszukiwarki, który, mając zbiór słów kluczowych, wyszukuje początkowy zbiór ważnych dokumentów autorytatywnych i koncentratorów. B) Ekspansja zbioru początkowego Na tym etapie początkowy zbiór dokumentów jest powiększony i modyfikowany do zbioru bazowego (ang. base set ). Do zbioru początkowego włączane są wszystkie dokumenty, do których zawierają odnośniki dokumenty zbioru początkowego, oraz dokumenty, które zawierają odnośniki do dokumentów ze zbioru początkowego. Wynikiem jest osiągnięcie określonej liczby dokumentów. C) Propagacja wag Moduł propagacji szacuje prawdopodobieństwo i wskazuje czy dany dokument jest autorytatywny czy jest koncentratorem. Odnośniki pomiędzy dokumentami, które pochodzą z tej samej domeny, nie są brane pod uwagę. 112 Łukasz Szełemej A[i, j] = 1, jeżeli i-ty dokument posiada odnośnik do j-tego dokumentu. A[i, j] = 0, jeżeli i-ty dokument nie posiada odnośnika do j-tego dokumentu. Na etapie propagacji wag algorytm H&A wykorzystuje macierzowy opis sieci Web, gdzie modelująca indeksowaną sieć macierz A nie jest stochastyczna. Każdy odnośnik w macierzy A posiada wagę 1, niezależnie od tego, ile posiada odnośników do następnych dokumentów lub odnośników do poprzednich. Aby zachować stochastyczność macierzy A, algorytm wykorzystuje dwa skalujące współczynniki alfa i beta, dzięki czemu wagi nie przekroczą górnego ograniczenia. Wektory autorytatywności i koncentratywności dokumentów oznaczają wektory a i h, gdzie i-ty element wektora odpowiada wartości stopnia autorytatywności i koncentratywności i-tego dokumentu. h = αAa, koncentratywność dokumentu jest sumą autorytatywności wszystkich dokumentów, do których dokument posiada odnośniki, pomnożoną przez skalujący współczynnik alfa. A = βAT h, autorytatywność dokumentu jest sumą koncentratywności wszystkich dokumentów, które posiadają odnośniki do dokumentu, pomnożoną przez skalujący współczynnik beta. 4. Algorytm Pagerank Page rank (Google) rozwinęli Larry Page i Sergey Brin ze Stanford University. Polega on na losowym przemieszczaniu się po łączach i zliczaniu liczby odwiedzanych stron. Im więcej razy robot internetowy trafi na tę samą stronę, tym jest ona popularniejsza, jeżeli natomiast badana strona zawiera zbyt dużo linków, oznacza to, że nie jest wartościowa. Algorytm oparty jest na badaniu wzajemnego powiązania stron za pomocą hiperłączy (linków). Został stworzony i zastosowany w wyszukiwarce internetowej Google. Według tego algorytmu, aby strona była wyżej pozycjonowana należy zamieszczać na stronach o najwyższym wskaźniku P R, jak największą ilość linków, które kierują do danej strony oraz jak najmniej linków wychodzących poza daną stronę. Wzór na współczynnik PageRank [5]: P R(A) = (1 − d) + d(P R(t1)/C(t1) + · · · + P R(tn)/C(tn)), gdzie: P R(A) – wartość PR strony A, P R(t1) – wartość PR strony t1, C(t1) – liczba łączy wychodzących ze strony t1, d – współczynnik ten jest pewnym prawdopodobieństwem i mieści się w przedziale 0-1. Sieć WWW, gdzie indeksowane dokumenty są numerowane, reprezentuje stochastyczna macierz M . Dokument i-ty odpowiada i-temu wierszowi i i-tej kolumnie macierzy M . Jeżeli dokument j-ty posiada n odnośników do innych dokumentów, Przegląd metod ekstrakcji wiedzy w serwisach WWW – Web Structure Mining 113 to w kolumnie j-tej dla wierszy, które reprezentują te dokumenty umieszcza się wartość 1/n [6]. M [i, j] = 1/n, jeżeli dokument j-ty posiada odnośniki do n stron, M [i, j] = 0, jeżeli dokument j-ty nie posiada odnośników do n stron. Wartość elementu M [i, j] określa prawdopodobieństwo przejścia do i-tego dokumentu, jeżeli przeglądany jest aktualnie dokument j-ty. PageRank polega na unikalnej i demokratycznej strukturze sieci używając struktury powiązań do oceny wartości poszczególnych dokumentów. Google traktuje odnośnik ze strony A do strony B jako głos oddany przez stronę A na stronę B a także analizuje głosującą stronę. Głosy wartościowych stron ważą więcej niż głosy innych stron i pozwalają wskazywanym stronom na szybsze zdobywanie wyższej pozycji w rankingu. PR strony A jest obliczany jako suma wartości PR wszystkich stron, które zawierają linki do strony A, podzielona przez liczbę wszystkich linków, które wychodzącą ze znajdujących się na każdej z tych stron. Jeżeli właściciel strony A umieszcza linki do stron o wysokim PR we własnym serwisie to wartość PR, jaką przekazuje tym stronom jest dzielona po połowie dla obydwu z tych stron. Jeżeli strona A ma PR=4 i zawiera 5 wychodzących linków a strona B ma PR=8 i zawiera 10 linków do innych stron to linki ze strony A mają większe znaczenie niż linki ze strony B, dlatego też sam współczynnik PR strony nie jest najważniejszy. Przy umieszczaniu linków na danej stronie należy zwrócić uwagę na ilość linków wychodzących z wybranej strony, aby określić możliwą siłę danego linka. PR jest prawdopodobnie przyrostem logarytmicznym, co oznacza to, że przy podnoszeniu PR danej strony z 4 do 5 należy zrobić więcej niż w przypadku zwiększania PR z 1 do 2. Do określenia jakości strony opracowano dwa wskaźniki toolbar PR i real PR. tPR rPR 0/10 1/10 2/10 3/10 4/10 5/10 6/10 7/10 8/10 9/10 10/10 0.15 - 0.90 0.90 - 5.40 5.40 - 32.40 32.40 - 194.40 194.40 - 1,166.40 1,166.40 - 6,998.40 6,998.40 - 41,990.40 41,990.40 - 251,942.40 251,942.40 - 1,511,654.40 1,511,654.40 - 9,069,926.40 9,069,926.40 - 0.85 ? N + 0.15 114 Łukasz Szełemej Ważne strony o wysokiej jakości mają wyższy parametr PageRank, który jest później zapamiętywany przez Google. Algorytm ten tworzy rankingu stron zwracanych przez wyszukiwarkę a zaawansowane algorytmy dopasowują dokumenty do wysłanego przez użytkownika zapytania. Do oceny przydatności danej strony został wykorzystany mechanizm polegający na tym, że artykuł jest oceniany tym wyżej, im częściej jest cytowany. Parametry algorytmu PageRank tworzą pewną funkcję prawdopodobieństwa dla wszystkich stron WWW, która jest równa 1. PageRank jest także modelem zachowania użytkownika, w którym istnieje pewien internauta, przeglądający losowo wybraną stronę i klikający na kolejne linki bez klikania wstecz. Internauta po jakimś czasie zaczyna być znudzony i zaczyna poszukiwać innej strony. Prawdopodobieństwo, że dany surfer odwiedzi poszukiwaną stronę jest jej wartością PageRank. Algorytm PR jest ściśle powiązany z indeksowaniem stron i dzięki „pełzaniu” (ang. crawling) uzyskuje się spójny graf stron WWW, co znacznie ułatwia obliczenia. 5. Web Communities To zbiór stron, które zawierają odnośniki do innych stron zawierających się tylko w danym zbiorze. Analiza linków takich zbiorów dowodzi, że jeżeli strona A zawiera odnośnik do strony B to strona B zawiera także odnośnik do strony A. Linki przekazują bardzo ważną informację na temat ukrytego ludzkiego osądu dotyczącego ważności informacji w innych serwisach internetowych. Zbiory te dotyczą określonego tematu bądź zagadnienia. Web Communities są identyfikowane za pomocą zawartości dokumentu (ang. document content ), sprecyzowanych relacji pomiędzy dokumentami (ang. explicite document relations) oraz domniemanych powiązań pomiędzy dokumentami. E-społeczności to zbiorowości użytkowników Internetu, którzy w aktywny sposób wykorzystują tę platformę komunikacji do wymiany informacji i komunikatów związanych z ich wspólnymi zainteresowaniami i przekonaniami. Idea e-społeczności jest próbą wykreowania układu wzajemnych relacji pomiędzy przedsiębiorstwem, a przedstawicielami jego otoczenia, którzy także komunikują się ze sobą (dr Tymon Smektała) [13]. Tworzenie e-społeczności jest przedsięwzięciem podejmowanym przez firmy, aby stworzyć pozytywny wizerunek wśród konsumentów oraz ma na celu umacnianie więzi klienta z firmą i budowania jego lojalności. Użytkownicy sieci regularnie odwiedzają miejsce stworzone przez ich ulubioną firmę, uważając je za swoje. 6. Zakończenie Web Structure Mining, czyli metody eksploracji sposobów korzystania z sieci WWW mają na celu analizę zawartości logów serwerów w poszukiwaniu wszystkich wzorców, które opisują najczęstsze sekwencje odwoływania do dokumentów przechowywanych na serwerze WWW. Informacje zdobyte dzięki WSM mogą być Przegląd metod ekstrakcji wiedzy w serwisach WWW – Web Structure Mining 115 wykorzystane w każdej dziedzinie biznesu i nauki, a przede wszystkich do badań nad szybko rozwijającymi się społecznościami internetowymi. Pomimo tego, że odnośniki w sieci WWW są nieuporządkowane i czasami sprzeczne a sieć jest olbrzymiej wielkości i nie jest możliwe dokładne jej przeindeksowanie to WWW zawiera znaczną ilość gotowych do wykorzystania struktur, wzorów powiązań linków oraz prostych modeli sieci wyjaśniających budowę wielu internetowych serwisów. Web Communities, serwisy zbudowane jako Web 2.0 stają się trendem w Internecie a badania dotyczące zachowań Internautów, którzy budują e-społeczności mogą odpowiedzieć na wiele ważnych pytań. Wyniki analiz pozwalają na dokładne określenie struktury i zachowań internetowej społeczności a co za tym idzie umożliwiają stworzenie określonego wzorca postępowania danej grupy. E-społeczności są to miejsca, w których anonimowi ludzie spotkają innych ludzi z tymi samymi problemami czy zainteresowaniami. Taka społeczność umożliwia uzyskanie pomocy, dzielenie zainteresowań z innymi a przede wszystkim jest to miejsce, gdzie wszyscy czują się bezpieczni, rozumiani i potrzebni. Użytkownicy takich serwisów traktują je jak równoległą rzeczywistość, utożsamiają się z innymi Internautami a co najważniejsze czują nierozerwalną więź z daną firmą, produktem czy usługą, na której może opierać się dana e-społeczność. Rozwinięty i nasycony rynek, na którym bardzo ciężko jest zdobyć przewagę konkurencyjną szuka wszelkich metod dających lepsze rezultaty i sukces. Firmy, aby pozyskać większą ilość klientów tworzą wirtualne społeczności, które stają się doskonałą grupą docelową. Na podstawie odkrytych relacji i zachowań można umiejętnie budować kolejne e-społeczności i wdrażać je w konkretne warunki biznesowe. Dzięki Web Mining pozyskiwanie nowego klienta jest coraz szybciej zastępowane przez tworzenie od podstaw nowych i lojalnych grup klientów. Bibliografia [1] Madria S. K., Rhowmich S. S., Ng W. K., Lim F. P. Research issues in Web data mining. Proceedings of Data Warehousing and Knowledge Discovery, First International Conference. DaWaK’99, 1999, s. 303-312 [2] Kazienko P. Eksploracja danych a serwisy internetowe. Politechnika Warszawska, SAS Forum, Warszawa, 2-4 kwietnia 2003 [3] http:// binboy.sphere.pl [dostęp: wrzesień 2007] [4] http:// www.i-slownik.pl [dostęp: wrzesień 2007] [5] Brin S., Page L. The Anatomy of a Large-Scale Hypertextual Web Search Engine. Computer Science Department, Stanford University, www7.scu.edu.au, Journal Paper 1998 [6] Zakrzewicz M., Morzy M. Zaawansowane aplikacje internetowe. Politechnika Poznańska, materiały dydaktyczne, wrzesień 2007 [7] http:// www.google.com/ technology [8] Björneborn L. Small-world link structures on the Web. School of Information Management and Systems University of California, Berkeley, PNC – Bankok, Thailand 2003 116 Łukasz Szełemej [9] Flake G. W., Tsioutsiouliklis K., Zukov L., Gordevicius J., Cetkovský M. Methods for Mining Web Communities: Bibliometric, Spectral, and Flow. Department of Computer Science Uiversity of Bozen-Bolzano, Springer Verlag, 2003 [10] Estivill-Castro V. Web Usage Mining. School of Computing and Information Technology, Griffith University 2003 [11] Jiang Q. Web Usage Mining: Processes and Applications. CSE 8331 November 2003 [12] Madria S. K. Web Mining: A Bird’s Eye View. Department of Computer Science University of Missouri-Rolla, prezentacja 1998 [13] Gustowski W. E-społeczność. Jak budować i wykorzystywać społeczności internetowe w nowoczesnych działaniach e-marketingowych? Internetowe Wydawnictwo Złote Myśli, Gliwice 2007 Szybki algorytm realizacji bazowej operacji wyznaczania średniej kroczącej Alexandr Ţariov Politechnika Szczecińska, Wydział Informatyki Abstract: The effective algorithm of realization of basic operation for calculation of a simple moving average is described. For realization of calculations the algorithm requires only L operations of multiplication and 2(L-1) operations of additions. Słowa kluczowe: Simple moving average filter, fast algorithms, reduction of number of arithmetical operations 1. Wprowadzenie Średnia krocząca jest jednym z najbardziej uniwersalnych i najpowszechniej stosowanych wskaźników analizy szeregów czasowych, ponieważ nie zawiera w sobie elementu subiektywnego oceny sytuacji [1, 2]. Filtry średniej kroczącej stosowane są również na szeroką skalę w cyfrowym przetwarzaniu sygnałów [3]. Operacja bazowa wyznaczania prostej średniej kroczącej (ang. Simple Moving Average – SMA) jest w gruncie rzeczy równoważna operacji bazowej splotu liniowego lub inaczej filtracji FIR, gdy wszystkie wartości współczynników odpowiedzi impulsowej filtru są postaci 1/N , gdzie N – jest liczbą elementów sekwencji danych wejściowych poddawanych analizie w poszczególnych segmentach danych wycinanych z sekwencji pierwotnej za pomocą ruchomego okna czasowego. W notacji macierzowej operacja ta ma następującą postać: Y(2L−1)×1 = 1 (E(2L−1)×L · XL×1 ), L (1) gdzie E(2L−1)×L = (α→) L−1 h (i→) I(2L−1) (1L×1 i=0 i 0(L+1)×1 ) . (2) – jest macierzą jednostkową rzędu N , której kolumny są cyklicznie Tu IN przesunięte względem pierwotnej postaci o zdefiniowaną za pomocą górnego indeksu liczbę pozycji w kierunku określonym strzałką [4]; 0N ×M – macierz zerowa o wymiarze określonym za pomocą dolnego indeksu, 1N ×L – macierz składająca się 118 z jedynek o wymiarze określonym za pomocą dolnego indeksu; Alexandr Ţariov , N −1 i=0 – symbole operacji pionowej konkatenacji odpowiednio dwóch lub wielu macierzy [5]. Po uwzględnieniu stosowanych symboli macierz E(2L−1)×L będzie wyglądać następująco: 1 1 1 .. .. . 1 . .. . . . . (3) E(2L−1)×L = 1 . 1 . 1 .. 1 .. .. . . 1 Wówczas procedura (1) może być przepisana w sposób następujący: 1 y0 1 1 y 1 . . x0 .. 1 . . x1 .. . . 1 .. . 1 . = 1 . . . L .. . . 1 . 1 xL−1 . .. . .. y2L−1 1 (4) Jak widać realizacja procedury (4) wymaga wykonywania 2L − 1 operacji normalizacji (mnożenia przez wartość ułamkową współczynnika uśredniającego) oraz (L − 1)2 operacji dodawania i jest z racji tego dosyć czasochłonna. Na rysunku 1 został przedstawiony graf przepływowy, opisujący realizację procesu przetwarzania danych przy wyznaczeniu średniej kroczącej zgodnie z procedurą (4) dla przykładu N = 7. Graf zorientowany jest od lewej do prawej; liniami prostymi wychodzącymi z poszczególnych punktów grafu pokazane są operacje przesyłu danych, natomiast punkty grafu, w których linie się skupiają, oznaczają operacje wielowejściowego, w ogólnym przypadku, sumowania nadchodzących danych. Kółkami pokazane są operacje mnożenia przez ułamkową stałą (współczynniki normalizujące). W dalszej części artykułu przedstawiona zostanie możliwość syntezy lepszego algorytmu realizacji operacji bazowej wyznaczenia średniej kroczącej, zawierającego mniej operacji mnożenia i dodawania. Algorytm ten będzie miał charakter iteracyjny, wynikiem czego będzie zmniejszona liczba operacji arytmetycznych. W celu ilustracji idei syntezy tego algorytmu zbudowanych zostanie kilka nowych konstrukcji macierzowych. 119 Szybki algorytm realizacji bazowej operacji wyznaczania średniej kroczącej 1 7 1 7 1 7 x0 1 x1 x2 x3 x4 x5 1 x6 1 7 7 1 7 1 7 1 7 1 7 7 1 7 1 7 1 7 y0 y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 Rysunek 1. Graf ilustrujący organizację procesu obliczeniowego według bezpośredniej realizacji procedury (1) dla przykładu N = 7 2. Synteza szybkiego algorytmu realizacji bazowej operacji wyznaczenia kroczącej średniej (i) W pierwszym kroku zbudowana zostanie konstrukcja macierzowa AL , określająca operacje przetwarzania elementów wektora danych w każdej iteracji procesu (i) obliczeniowego, zdefiniowana za pomocą sumy dwóch macierzy IL oraz ΩL : (i) (i) AL = IL + ΩL , i = 0, (i) N −1 − 1, 2 (i) gdzie elementy ωm,n macierzy ΩL mają następujące wartości: (i) ωm,n = ( 1, 0, gdy m = i + 1, n = i oraz m = L − i − 2, n = L − i − 1 , w przypadku innych elementów macierzy zaś macierz IL – jest macierzą jednostkową L-tego rzędu. Przez DL oznaczona zostanie diagonalna macierz rzędu N współczynników uśredniających: 1 1 1 DL = diag( , , . . . , ). L L L 120 Alexandr Ţariov Kolejna konstrukcja macierzowa AL×(2L−1) zdefiniowana zostanie jako suma dwóch macierzy: h i AL×(2L−1) = (I L−1 ⊕ 1L×1 ⊕ I L−1 ) + 0 L−1 ×L (−I L−1 ⊕ 0 ⊕ −I L−1 ) 0 L−1 ×L , 2 2 2 2 2 2 gdzie symbol ⊕ – oznacza sumę prostą (tensorową) dwóch macierzy [6]. Ostatecznie wprowadzona zostanie macierz tasowania danych P2L−1 , niezbędna do odtworzenia naturalnej kolejności występowania elementów wynikowego wektora danych otrzymanego w wyniku przeprowadzenia wszystkich niezbędnych obliczeń. Konstrukcja tej macierzy będzie wyglądała następująco: I L−1 0 L−1 0 L−1 ×1 0 L−1 0 L−1 2 2 2 2 2 0 L−1 0 L−1 0 L−1 ×1 I L−1 0 L−1 2 2 2 2 2 P2L−1 = 01× L−1 01× L−1 1 01× L−1 01× L−1 . 2 2 2 2 0 L−1 I L−1 0 L−1 ×1 0 L−1 0 L−1 2 2 2 2 2 0 L−1 0 L−1 0 L−1 ×1 0 L−1 I L−1 2 2 2 2 2 Wówczas końcowa procedura obliczeniowa szybkiego algorytmu realizacji operacji bazowej wyznaczenia kroczącej średniej przybiera następującą postać: ( N 2−1 −1) Y(2L−1)×1 = P2L−1 A(2L−1)×L DL AL (1) (0) (5) · · · AL AL XL×1 . 3. Przykład „szybkiego” algorytmu realizacji bazowej operacji wyznaczenia kroczącej średniej Rozpatrzona zostanie synteza szybkiego algorytmu wyznaczenia średniej kroczącej według proponowanego podejścia dla przykładu L = 7. Odpowiadająca temu przykładowi procedura obliczeniowa przybiera następującą postać: (2) (1) (0) Y13×1 = P13 A13×7 D7 A7 A7 A7 X7×1 , zaś poszczególne czynniki macierzowe będą wyglądać w sposób następujący: (0) A7 1 1 1 = 03 03 1 1 1 1 (1) , A7 = 1 1 1 1 1 03 1 1 1 03 1 1 1 121 Szybki algorytm realizacji bazowej operacji wyznaczania średniej kroczącej (2) A7 A13×7 P13 = 1 = 1 03 1 1 1 1 1 1 03 1 1 1 −1 −1 = 01×3 03 03 03×1 , 03 1 1 1 1 1 1 1 1 −1 03 01×3 −1 −1 1 1 03×1 , −1 1 1 1 03 03×1 03 03 1 1 03 03 03×1 1 03 1 01×3 01×3 1 01×3 01×3 1 03×1 03 03 03×1 03 1 03 1 1 03 03 1 1 1 1 1 1 1 1 1 D7 = diag( , , , , , , ). 7 7 7 7 7 7 7 ; 122 Alexandr Ţariov Na rysunku 2 został pokazany graf przepływowy, reprezentujący organizację procesu obliczeniowego według proponowanego algorytmu dla przykładu N = 7. Liniami przerywanymi są na rysunku oznaczone operacje odejmowania. y0 x0 1 x1 x2 x3 x4 x5 1 y1 y2 y3 y4 7 7 1 7 y5 y6 7 y7 7 1 1 1 y8 7 1 x6 y9 y10 7 y11 y12 Rysunek 2. Graf ilustrujący organizację procesu obliczeniowego według bezpośredniej realizacji procedury (1) dla przykładu, gdy N = 7 4. Oszacowanie liczby niezbędnych operacji Łatwo zauważyć, iż realizacja procedury (5) wymaga wykonania L operacji uśrednienia (mnożenia przez ułamkową wartość stałą) oraz 2(L − 1) operacji dodawania algebraicznego. Wprowadźmy współczynniki zysku obliczeniowego osobno dla operacji mnożenia oraz dodawania: k× = 2L − 1 (L − 1)2 , k× = . L 2(L − 1) W tabeli 1 zostały przedstawione wartości wprowadzonych współczynników dla wybranych L. Tabela 1. Zyski obliczeniowe względem operacji mnożenia oraz dodawania L 3 5 7 9 11 13 15 17 19 k× 1,67 1,80 1,85 1,88 1,90 1,92 1,93 1,94 1,95 k+ 1 2 3 4 5 6 7 8 9 Szybki algorytm realizacji bazowej operacji wyznaczania średniej kroczącej 123 5. Podsumowanie Zaproponowany w pracy algorytm realizacji bazowej operacji wyznaczania prostej średniej kroczącej posiada zredukowaną względem bezpośredniej realizacji wzoru (4) liczbę operacji arytmetycznych. Czyni to go bardziej konkurencyjnym do zastosowania w systemach cyfrowego przetwarzania danych czasu rzeczywistego, gdy mamy do czynienia z koniecznością wykonania wszystkich operacji obliczeniowych i sterujących w czasie wystarczającym na niezakłócony przebieg trwającego procesu. Należy wspomnieć, że filtry średniej kroczącej wykorzystywane są w większości przypadków dla przetwarzania dosyć długich sekwencji danych. W przypadku, gdy N = KL, filtrację taką można zrealizować za pomocą wykonania K operacji bazowych wyznaczenia średniej kroczącej. Następnie w celu otrzymania końcowego rezultatu należy odpowiednio złożyć wyniki obliczeń według ogólnie znanej metody zagnieżdżenia [7]. Bibliografia [1] Ott Lyman R., Longernecker M. An Introduction to Statistical Methods and Data Analysis. Duxbury: 5 Rev Ed edition, 2001. [2] Kenney J. F., Keeping E. S. Moving Averages. Mathematics of Statistics, Pt. 1, 3rd ed., s. 221-223, Van Nostrand, Princeton, NJ, USA, 1962. [3] Smith S. W. The Scientist and Engineer’s Guide to Digital Signal Processing, 2nd ed. California Technical Publishing, San Diego, CA, USA, 1999. [4] Dagman E., Kukharev G. Szybkie dyskretne transformaty ortogonalne. Nauka, Nowosybirsk, 1983 (w języku rosyjskim). [5] Ţariov A. Modele algorytmiczne i struktury wysokowydajnych procesorów cyfrowej obróbki sygnałów. Szczecin, Informa, 2001. [6] Tolimieri R., An M., Lu C. Algorithms for Discrete Fourier Transform and Convolution. Springer-Verlang, New York, 1989. [7] Blahut R. E. Fast Algorithms for Digital Signal Processing. Addison-Wesley 1985. Dobór systemów CRM w organizacji wirtualnej – aspekt modelowy Jarosław Wątróbski, Monika Stolarska Politechnika Szczecińska, Wydział Informatyki Abstract: The purpose of this paper is an attempt to apply the AHP method in evaluation of CRM systems in virtual organizations. The article presents a recapitulation of re-search conducted hitherto on the evaluation of CRM systems. Respectively, the concept of multi-dimensional methods was presented and an evaluation model of the functional quality of Customer Relationship Management systems applying the AHP method was constructed. Conclusion table from the research conducted ends the study. Słowa kluczowe: Customer Relationship Management, virtual organization, AHP method 1. Wprowadzenie Klienci stanowią źródło informacji i przychodów dla firmy, dlatego ważne jest zarządzanie relacjami z nimi. Budowanie trwałych związków ma miejsce tylko wówczas, gdy przedsiębiorstwo przejmuje na siebie odpowiedzialność za ich doskonalenie. CRM pozwala dostosować do siebie czynności firmy i klienta, dzięki czemu możliwe staje się zmniejszenie kosztów, zwiększenie wydajności i jakości wzajemnych relacji. Klient tworzy wartość dla firmy, wartość w postaci pozytywnej opinii o firmie, wiedzy i doświadczenia. Strategia związku firmy z klientem musi zatem budować pozytywne doświadczenia u klienta, powodować, że będzie on chętnie powracał do firmy, powtarzał zakupy, będzie chętnie wymieniał się informacjami z firmą. Kluczem do sukcesu jest indywidualizacja procesów związanych z klientem. Klient, który czuje się traktowany z odpowiednią dbałością ma pozytywne odczucia i wspomnienia z przeprowadzonych z firmą transakcji, a to powoduje, że chętniej inwestuje on w późniejszym czasie swoje pieniądze oraz chętniej dostarcza informacji o sobie, o swoich preferencjach oraz oczekiwaniach wobec firmy [1]. Na rynku dostępnych jest aktualnie wiele systemów CRM oferujących różne cechy użytkowe. Wybór najlepszego rozwiązania jest problemem złożonym, wieloetapowym i wielokryterialnym. Uwarunkowany jest złożonym zbiorem kryteriów merytorycznych koniecznych do analizy celu, jakim jest efektywne funkcjonowanie systemu informatycznego. 126 Jarosław Wątróbski, Monika Stolarska Formalnie problem oceny i doboru systemów informatycznych przedsiębiorstwa P rozważyć można jako uporządkowaną trójkę: P = {S, V, L} gdzie: S – zbiór systemów podlegających ocenie, V – zbiór punktów widzenia (zależnie od zbioru interwenientów procesu decyzyjnego), L – typ problemu (określenie celu oceny). Rysunek 1. Rozważane etapy konstrukcji modelu oceny. Źródło: opracowanie własne na podstawie Moristo M. i in., 1997, Roy B., 1991 Aktualnie podejmowane badania w zakresie zastosowania metod ilościowych w problemie doboru i oceny systemów informatycznych organizacji wydają się być niewystarczające. Dominują rozwiązania o charakterze dopuszczalnym, które stanowią cząstkowe rozwiązanie problemu. Prace T. Gospodarowicza [2] M. Ludwiszewskiego [3] czy M. Sikorskiego [4] zawierają próby adaptacji aparatu wielokryterialnego w doborze systemów informatycznych z uwzględnieniem różnych metod agregacji ocen. Problematykę oceny systemów informatycznych podjęto również w pracach M. Lasek [5] J. Kisielnickiego i in. [6]. Wnioski badawcze autorów jednoznacznie wskazują na konieczność dalszych badań w tym kierunku. Zdaniem W. Chmielarza [7] konieczne jest wypracowanie ogólnej metodologii porównania i oceny komponentów informatycznych wykorzystywanej w doborze i ocenie systemów informatycznych przedsiębiorstwa. W świetle powyższych argumentów podjęcie przedstawionego problemu badawczego wydaje się zasadne. Spodziewaną korzyść stanowi uogólniona postać procedury oceny i doboru systemów informatycznych organizacji. 2. Systemy zarządzania relacjami z klientami (CRM) Ogromna użyteczność systemów CRM umożliwia wykorzystanie ich w wielu obszarach działalności przedsiębiorstwa w zależności od jego potrzeb i specyfiki. Najczęściej stosuje się je w marketingu, do prowadzenia sprzedaży wiązanej, motywowania klienta do dokonywania zakupów korzystnych dla siebie i przedsiębiorstwa (klient kupuje więcej, większe opakowania, droższe modele) oraz przewidywania zachowań klienta. Kolejnym zastosowaniem jest obsługa klienta. Jakość obsługi transakcji ma decydujący wpływ na wizerunek firmy w oczach klienta i jego przywiązanie do marki. Aby zagwarantować najwyższą jakość poprawia się organizację pracy personelu, tworzy się centra obsługi klienta, bada satysfakcję klienta. CRM umożliwia również automatyzację pracy handlowców (w tym pracowników terenowych), zarządzanie całym systemem sprzedaży, przekazywanie informacji o zdarzeniach mających wpływ na przyszłe zakupy potencjalnych klientów [8]. Dobór systemów CRM w organizacji wirtualnej – aspekt modelowy 127 Systemy CRM muszą być projektowane indywidualnie do potrzeb i specyfiki konkretnej firmy. Powinny one dodatkowo bezproblemowo współpracować ze wszystkimi systemami już występującymi w przedsiębiorstwie. Połączenie oczekiwań oraz możliwości odnośnie wykorzystania systemów i ich cech użytkowych poprawia kompleksową obsługę klienta. Dzięki temu, w oparciu o zgromadzoną wiedzę, możliwe jest przewidywanie i projektowanie interakcji z klientem, personalizowanie tych interakcji, tworzenie dokumentacji oraz dokonywanie transakcji [9]. Dodatkowo system CRM powinien spełniać wymagania techniczne określone przez firmę. Przede wszystkim są to wymagania dotyczące cech użytkowych: funkcjonalności, bezpieczeństwa, dostępności, integracji z infrastrukturą technologiczną, wspomagania operacji, użyteczności, dostarczania informacji (raportowania) [10]. Wybór odpowiedniego systemu CRM jest procesem długotrwałym i wiąże się z ryzykiem niepowodzenia. Przed wdrożeniem ważne jest rozważenie czy system jest potrzebny w przedsiębiorstwie, porównanie spodziewanych korzyści z nakładami jakie trzeba ponieść, a także przestrzeganie trybu postępowania przy wyborze systemu klasy CRM. Tryb ten zakłada wykonanie kolejno: analizy kultury organizacyjnej, analizy celów i misji firmy, oceny zasobów firmy, określenia posiadanych relacji, określenia potrzebnych analiz, wyboru systemu, wyboru aplikacji [11]. Zaprojektowanie systemu, który będzie charakteryzował się spójnością oprogramowania i dostępem do różnych kanałów komunikacji, jest zadaniem trudnym do zrealizowania. Nie ma rozwiązań uniwersalnych. Wybór systemu musi być ściśle dostosowany do indywidualnych potrzeb i możliwości konkretnego przedsiębiorstwa [12]. Decyzja o tym, jakiego producenta wybrać, to jedynie pierwszy krok do wdrożenia CRM w przedsiębiorstwie. Analiza przedwdrożeniowa zapewnia szereg korzyści: skrócenie czasu wdrożenia i kosztów, określenie stopnia gotowości firmy do wdrożenia CRM, obiektywną ocenę dostępnych rozwiązań, uzyskanie pomocy przy wyborze najlepszego dla firmy systemu, obniżenie ryzyka dla firmy (ryzykiem może być nieefektywność czy niefunkcjonalność systemu), zmniejszenie oporu pracowników i klientów przed wdrożeniem CRM, określenie oczekiwań firmy wobec systemu wraz z oceną możliwości ich realizacji, przygotowanie przez dostawcę systemu możliwie najlepszej oferty dla klienta [13]. Rynek światowy systemów CRM jest duży i zróżnicowany, co zwiększa trudność wyboru. Lista rozwiązań proponowana małym i średnim przedsiębiorstwom jest bardzo długa, jednakże z uwagi na fakt, że nieczęsto stać ich na rozwiązania najlepsze w swojej klasie, wybierają rozwiązania proponowane przez lokalnych dostawców [14]. Dokonując analizy należy wskazać, że informacje o dostępnych na rynku systemach CRM udostępniane są w publikacjach, raportach, na konferencjach, targach handlowych czy seminariach dostawców. Możliwe jest też zatrudnienie firmy analitycznej lub konsultingowej, która specjalizuje się w tematyce CRM i pozwoli dostosować najlepsze rozwiązanie dla konkretnego przedsiębiorstwa. Przyszłość systemów CRM zależeć będzie w głównej mierze od dynamiki rozwoju nowych technologii, wykorzystania sztucznej inteligencji w rozwiąza- 128 Jarosław Wątróbski, Monika Stolarska niach służących do obsługi klienta. Usprawni to działalność firm w Internecie, przyspieszy rozwiązywanie problemów oraz wyszukiwanie odpowiednich ofert dla klienta [15]. 3. Organizacja wirtualna jako środowisko systemu CRM Dynamiczne zmiany w warunkach gospodarowania spowodowały nowe podejście do zarządzania niematerialnymi aktywami przedsiębiorstwa. Klient został postawiony w centrum uwagi, a działania wielu firm ukierunkowały się na stałe podejmowanie przedsięwzięć kreujących jego zadowolenie i lojalność. Poznawanie potrzeb klienta pozwoliło na budowanie trwałych relacji, obustronną satysfakcję ze zrealizowanych transakcji, a także zapewnienie firmie przewagi konkurencyjnej. Utrzymanie klientów stało się celem już nie tylko w tradycyjnej, ale również w wirtualnej rzeczywistości. Wirtualne organizacje kładą szczególny nacisk na identyfikację czynników warunkujących możliwie jak najlepsze relacje z klientami oraz wdrażają rozwiązania, które pozwolą na budowanie stabilnych i długotrwałych związków z odbiorcami ich usług [16]. Organizacja wirtualna stawia sobie za cel powoływanie struktur odpowiedzialnych za zarządzanie relacjami z klientami (tworzy człon zarządzający, integratora CRM), wykorzystanie sieci komunikacyjnej i odpowiednich technologii informatycznych, aby w możliwie jak najlepszy sposób realizować oczekiwania klientów. Rozwój Internetu szczególnie przyczynił się do budowania relacji pomiędzy klientami a wirtualnym przedsiębiorstwem. Gromadzenie i wykorzystanie informacji rynkowej stało się znacznie bardziej efektywne. Możliwe stało się również zautomatyzowanie i ustandaryzowanie procesu obsługi klienta [17]. Wyszukiwarki internetowe umożliwiły klientom wyszukiwanie informacji, ułatwiły nawiązanie kontaktu z firmą, pozwoliły na zamawianie w wygodny sposób produktów i usług, a także porównywanie ofert różnych firm [18]. Dodatkowo, organizacje wykorzystujące Internet w swojej działalności mogły pozwolić sobie na zindywidualizowanie swojej oferty, zaproponowanie klientom samoobsługi, wsparcia ze strony firmy w wersji on-line oraz całodobowy dostęp do usług i towarów [19]. Ważną zaletą wykorzystania cyfrowych sieci informatycznych w kontakcie przedsiębiorstwa z klientem jest wyeliminowanie pośredników w procesie wymiany gospodarczej. Klient otrzymuje dzięki temu bezpośredni dostęp do informacji za pomocą WWW, a przedsiębiorstwo automatyzuje procesy i oszczędza na obsłudze zleceń, reklamie i kosztach dotarcia do konsumenta [20]. Zanikanie barier komunikacyjnych, większy profesjonalizm i wiedza pracowników stanowi o ogromnej przewadze przedsiębiorstw wykorzystujących Sieć nad tradycyjnymi [21]. Organizacje wirtualne wykorzystujące systemy klasy CRM zapewniają sobie przewagę konkurencyjną, budują zaufanie i wzajemne relacje z klientami. Dzięki temu usprawniają procesy związane ze swoją działalnością, obniżają koszty. Różnorodność czynników wpływających na relacje z klientami jest wprost proporcjonalna do ilości istniejących klientów danych organizacji wirtualnych. Oznacza 129 Dobór systemów CRM w organizacji wirtualnej – aspekt modelowy to zatem, iż każdy z nich ma inne wymagania i każdy system CRM stara się tym wymaganiom sprostać w jak najlepszy sposób. Wybór najefektywniejszego rozwiązania CRM dla konkretnej organizacji powinien być poprzedzony oceną jego jakości użytkowej. 4. Założenia metodyczne modelu Problem oceny oprogramowania jest szczególnie złożony z uwagi na ilość, różnorodność a czasem nawet nieporównywalność kryteriów jakie należy rozważyć. Podjęcie odpowiedniej decyzji wymaga oparcia na odpowiednim aparacie badawczym. Metodologia wielokryterialnego wspomagania decyzji (MCDA – ang. Multiple-Criteria Decision Aid ) stosowana jest w sytuacjach, gdy rozwiązanie problemu, podjęcie ostatecznej i najlepszej decyzji zależy od wielu kryteriów. Uogólnienie doświadczeń literaturowych w tym zakresie zawarto w Tabeli 1. Tabela 1. Aspekty oceny oprogramowania Właściwości Zakres problemu: Oprogramowanie >1 problemu do oceny MESKENS BASILI BOLOIX KONTIO BOEHM MORISIO ESSE tak tak Zakres problemu: >1 warianty decyzyjne i atrybuty warunkowe do oceny tak tak tak tak tak tak tak Możliwość definicji własnych kryteriów przez decydenta Baza wiedzy Mechanizm wspomagania decyzji tak tak tak tak tak tak tak tak tak tak Źródło: opracowanie własne na podstawie: Vlahavas I., Stamelos I., Refanidis I., Tsoukias A. ESSE: An Expert System for Software Evaluation, s.5 Według I. Vlahavas’a problem doboru i oceny systemów informatycznych z wykorzystaniem MCDA może być zdefiniowany jako uporządkowana siódemka typów postaci: P = {A, T, D, M, E, G, R} gdzie: A – zbiór alternatyw uwzględnionych w modelu oceny, T – typ oceny, D – drzewo ocen atrybutów, M – ustalenie używanych w modelach oceny miar, E – ustalenie odpowiednich skal dla atrybutów, G – ustalenie spójnego zbioru kryteriów reprezentujących preferencje użytkownika, R – procedura łączenia preferencji i agregacji [22]. Metodologia wielokryterialnego wspomagania decyzji wyróżnia wiele metod i technik stosowanych w zakresie modelowania preferencji i agregacji danych. Do 130 Jarosław Wątróbski, Monika Stolarska określenia struktury problemu decyzyjnego, jak też modelowania preferencji i eksploatacji modelu jako metodę badawczą, przyjęto metodę AHP. Wykorzystanie wskazanego aparatu badawczego podyktowane jest koniecznością uwzględnienia wielopoziomowej reprezentacji rodziny kryteriów określonego problemu decyzyjnego. W tym zakresie zastosowania innych metod (np. opartych na relacji przewyższania) wydają się być bardzo utrudnione. Hierarchiczna analiza problemu bazuje na trzech komponentach: problemie strukturalizacji (a w szczególności spójnej rodziny kryteriów zawierającej właściwą hierarchię zawierania), ustaleniu relatywnej ważności kryteriów oraz syntezie [23]. KROK 1 Budowa modelu KROK 2 Porównania KROK 3 Określenie preferencji, priorytetów KROK 4 Klasyfikacja rozłożenie problemu decyzyjnego na elementy i określenie hierarchii kryteriów, które ułatwią ich rozwiązanie porównania parami kryteriów oraz wariantów decyzyjnych, a następnie wystawienie oceny przy wykorzystaniu skali dominacji Określenie preferencji, priorytetów w odniesieniu do kryteriów i wariantów decyzyjnych. W tym celu wykonuje się przez obliczenia za pomocą oprogramowania AHP (Expert Choice) lub arkusza kalkulacyjnego (Excel) klasyfikacja wariantów decyzyjnych ze względu na udział w realizacji celu Rysunek 2. Realizacja metody AHP – kroki. Źródło: opracowanie własne na podstawie: Downarowicz O., Krause J., Sikorski M., Stachowski W. Zastosowanie metody AHP do oceny i sterowania poziomem bezpieczeństwa złożonego obiektu technicznego Podstawowa procedura AHP składa się z porównania par czynników w komplecie wzajemnych macierzy kontrolowanych współczynnikiem niespójności. Wartości w macierzy ułożone są w taki sposób, aby jednoznacznie wskazywać, który element dominuje ze względu na dane kryterium nad innym [24]. Saaty używa 9-stopniowej skali ważności kryteriów. Nadanie kryteriom stopni ważności umożliwia ich porównanie. Decydent subiektywnie ocenia dane kryteria za pomocą skali. Ocena kryteriów ma przede wszystkim charakter jakościowy. Dobór systemów CRM w organizacji wirtualnej – aspekt modelowy 131 Dane stanowiące oceny cząstkowe poddaje się następnie agregacji zgodnie z hierarchiczną reprezentacją problemu. Wskaźniki syntetyczne stanowią wartości funkcji użyteczności kolejnych wariantów decyzyjnych i wyznaczane są przy użyciu formy addytywnej: n X wij · eij U (Ai ) = j=1 gdzie: U (Ai ) oznacza wartości funkcji użyteczności i-tego wariantu decyzyjnego, ei – wartość i-tej alternatywy ze względu na j-ty atrybut (kryterium), wj – waga j-tego kryterium. 5. Model oceny systemów CRM CRM jest jedną głównych strategii w firmach wirtualnych, dlatego też proces wyboru systemu tej klasy musi być poprzedzony określeniem najistotniejszych kryteriów (czynników), jakie musi on spełniać. Organizacja powinna określić indywidualne preferencje, dostosowane do charakteru prowadzonej przez siebie działalności. Wybór pakietu CRM charakteryzuje się wielokryterialnością. Do najważniejszych kryteriów branych pod uwagę podczas wyboru systemu dla organizacji wirtualnej zalicza się: funkcjonalność, serwis i wsparcie, sprzedawców oraz koszty. Każdy z przedstawionych elementów może mieć inną wartość i być inaczej oceniany inaczej przez różne firmy. Wagi tych elementów wyznaczane będą przy użyciu metody hierarchicznej analizy problemu (AHP) [25]. Konstrukcja modelu oceny jakości użytkowej systemów CRM dla organizacji wirtualnej powinna zawierać, zgodnie z założeniami metody AHP, następujące etapy: definicję rodziny kryteriów wyboru systemu, wyznaczenie macierzy ważności kryteriów (wektory priorytetów), wyznaczenie wektorów preferencji lokalnych, agregację ocen cząstkowych. Poprawność metodyczną eksperymentów (kontrolę spójności i przechodniości ocen) zapewniono wykorzystując procedurę wektora własnego dla macierzy porównań parami, tym samym wyznaczając każdorazowo współczynnik zgodności ocen ekspertów CR [26]. Jak wskazano powyżej, konstrukcja modelu składa się z kilku etapów. W etapie pierwszym skoncentrowano się na wyborze kryteriów warunkujących podjęcie decyzji. Kolejny krok analizy decyzyjnej stanowi analiza rynku dostępnych systemów CRM. Wyodrębniono zbiór 60-ciu systemów. Obiektywną trudność stanowi jednak występująca niekompletność danych, co stwarza niemożliwość realizacji pełnych badań dla wszystkich systemów. Zdecydowano się zatem pozostawić do badań jedynie te systemy, dla których informacje preferencyjne mają charakter kompletny i pełny. W tej sposób powstały model oceny nie będzie obarczony znaczącym niedoprecyzowaniem i niekompletnością informacji preferencyjnych. Model oceny systemów skonstruowany jest dla trzech grup systemów. Wyodrębniono grupę 21 systemów z podziałem na klasy: ekonomiczną, skalowalną, z dostępną wersją internetową. 132 Jarosław Wątróbski, Monika Stolarska Tabela 2. Kryteria oceny systemów klasy CRM K1 K2 K2.1 K2.2 K2.3 K3 K4 K4.1 K4.2 K4.3 K5 K6 K6.1 K6.2 K7 Funkcjonalność Docelowy odbiorca Dedykowana wielkość firmy Dedykowany segment rynku Wersja branżowa Skalowalność Technologia Bazy danych Wersja internetowa Urządzenia mobilne Moduły Klient Kastomizacja na życzenie klienta Kastomizacja samodzielna Integracja z systemami zewnętrznymi Źródło: opracowanie własne. Każda grupa systemów oceniona została według tej samej grupy kryteriów globalnych i lokalnych oznaczonych na potrzebę badań zgodnie z oznaczeniem w tabeli 2. Tak zdefiniowany układ kryteriów merytorycznych podyktowany jest wyodrębnieniem jedynie kryteriów warunkujących przydatność wymienionych CRM-ów w organizacji wirtualnej. Wybrane kryteria oceny cech jakościowych systemów charakteryzują się różnym stopniem ważności dla decydenta. Zestawienie ważności kryteriów zostało przedstawione w formie macierzy w tabeli 3. W tabeli 4 przedstawiono wagi poszczególnych kryteriów. Wskaźnik zgodności CR dla macierzy przedstawionej w tabeli 3 wynosi 0,0928 i jest mniejszy od wartości granicznej (0,1). Oznacza to, że zachowana została spójność ocen. Tabela 3. Macierz ważności kryteriów K1 K2 K3 K4 K5 K6 K7 K1 K2 K3 K4 K5 K6 K7 1,0 0,3 1,0 3,0 1,0 1,0 1,0 3,0 1,0 1,0 3,0 0,3 1,0 1,0 1,0 1,0 1,0 3,0 1,0 1,0 1,0 0,3 0,3 0,3 1,0 0,2 0,2 0,3 1,0 4,0 1,0 5,0 1,0 0,5 1,0 1,0 1,0 1,0 5,0 2,0 1,0 0,3 1,0 1,0 1,0 3,0 1,0 3,0 1,0 SUMA 8,3 10,3 9,0 2,7 13,5 11,3 11,0 Źródło: opracowanie własne. 133 Dobór systemów CRM w organizacji wirtualnej – aspekt modelowy Tabela 4. Obliczenie wag kryteriów K1 K2 K3 K4 K5 K6 K7 K1 K2 K3 K4 K5 K6 K7 Waga 0,1200 0,0400 0,1200 0,3600 0,1200 0,1200 0,1200 0,2927 0,0976 0,0976 0,2927 0,0244 0,0976 0,0976 0,1111 0,1111 0,1111 0,3333 0,1111 0,1111 0,1111 0,1220 0,1220 0,1220 0,3659 0,0732 0,0732 0,1220 0,0741 0,2963 0,0741 0,3704 0,0741 0,0370 0,0741 0,0882 0,0882 0,0882 0,4412 0,1765 0,0882 0,0294 0,0909 0,0909 0,0909 0,2727 0,0909 0,2727 0,0909 0,1284 0,1209 0,1005 0,3480 0,0957 0,1143 0,0921 Źródło: opracowanie własne. W kolejnym etapie zbadano 3 wymienione grupy systemów. Dla każdej z nich w kolejności wyznaczono wektory preferencji lokalnych, dokonano ich agregacji każdorazowo kontrolując spójność ocen w macierzach. Pozwoliło to na wyznaczenie wartości użyteczności cząstkowych, jak i końcowych wartości funkcji użyteczności ocenionych systemów klasy CRM. 5.1. Systemy ekonomiczne Badaniom poddana została grupa 7 systemów o najniższej spośród 60 przedstawionych systemów cenie. Do badania wybrano systemy: A1 – VICOM WinIT, A2 – OKAY CRM (Clix Software Sp. z o.o.), A3 – Q-Akwizytor 3000 (QBS), A4 – ITCube (ICsolutions s.c.), A5 – Qmax (Terminus Sp. z o.o), A6 – recentCRM (Connect Distribution Sp. z o.o.), A7 – Sales Partner (Sales Partner). Tabela 5. Macierz priorytetów dla rankingu ekonomicznych systemów CRM Waga A1 A2 A3 A4 A5 A6 A7 K1 K2 K3 K4 K5 K6 K7 F.u. 0,1284 0,0791 0,2683 0,0661 0,2653 0,1443 0,1397 0,0372 0,1209 0,2379 0,1567 0,1381 0,1893 0,1094 0,1094 0,0591 0,1005 0,0290 0,0604 0,1440 0,0941 0,2649 0,0642 0,3434 0,3480 0,0632 0,1755 0,1397 0,3142 0,0737 0,0743 0,1595 0,0957 0,0763 0,3744 0,0821 0,2558 0,1030 0,0777 0,0307 0,1143 0,1337 0,0866 0,0953 0,2505 0,0911 0,0938 0,2490 0,0921 0,1910 0,1844 0,1507 0,1406 0,0369 0,1662 0,1303 0,1040 0,1833 0,1209 0,2418 0,1077 0,0970 0,1453 Źródło: opracowanie własne. Najlepszy wybór to system A4 (ok. 500 zł) , najgorszy zaś to A6 (od 139e). 5.2. Systemy skalowalne Do badań wybrano systemy dostosowane do obsługi dużej liczby klientów: A1 – BizMind EFT (Software Mind Sp. z o.o.BizMind), A2 – CRM Clientel (Epi- 134 Jarosław Wątróbski, Monika Stolarska cor Software Corp), A3 – CRM Berberis (Biuro Matematyki Stosowanej S.C.), A4 – marketing.manager (update software AG), A5 – PeopleSoft CRM (PeopleSoft Inc.), A6 – System CeReM (Janko-Soft), A7 – M2 / TM CRM (M2 NET S.A.). Tabela 6. Macierz priorytetów dla rankingu skalowalnych systemów CRM Waga A1 A2 A3 A4 A5 A6 A7 K1 K2 K3 K4 K5 K6 K7 F.u. 0,1284 0,3876 0,0868 0,1765 0,1565 0,0793 0,0839 0,0294 0,1209 0,1482 0,1924 0,0990 0,1249 0,1112 0,0882 0,2361 0,1005 0,0550 0,0760 0,3177 0,1510 0,3118 0,0250 0,0636 0,3480 0,1977 0,1677 0,0546 0,1800 0,1969 0,0464 0,1568 0,0957 0,0494 0,0658 0,1381 0,1457 0,4251 0,0486 0,1273 0,1143 0,1848 0,1848 0,0603 0,1729 0,1729 0,0513 0,1729 0,0921 0,1822 0,1822 0,0838 0,1899 0,1353 0,1259 0,1007 0,1847 0,1446 0,1134 0,1642 0,1964 0,0622 0,1345 Źródło: opracowanie własne. Najlepszy wybór to system A5, najgorszy zaś to A6. 5.3. Systemy z wersją internetową Organizacja wirtualna wykorzystuje do kontaktu z klientami Internet. Wybrano zatem systemy z wersją internetową: A1 – acSELLerate (Trimtab), A2 – bs4-CRM (BS4 INTERNET), A3 – MBS CRM Navision (Microsoft Business Solutions), A4 – Pivotal 5.1 (Pivotal Corporation), A5 – CRM Case Manager 3.0 (OPTIMA Ośrodek Systemów Cyfrowych), A6 – Gold Mine Business Contact Manager (FrontRange Solutions), A7 – VICOM TAKTKOS (OST Open Software Technology). Tabela 7. Macierz priorytetów dla rankingu systemów CRM Waga A1 A2 A3 A4 A5 A6 A7 K1 K2 K3 K4 K5 K6 K7 F.u. 0,1284 0,2297 0,0543 0,1025 0,1839 0,2049 0,1851 0,0397 0,1209 0,1357 0,0626 0,0713 0,1752 0,0958 0,2295 0,2299 0,1005 0,1663 0,0275 0,2949 0,1062 0,3075 0,0575 0,0401 0,3480 0,1599 0,1024 0,1625 0,1652 0,0913 0,2237 0,0950 0,0957 0,1541 0,0524 0,2965 0,1375 0,1087 0,2297 0,0213 0,1143 0,1723 0,0743 0,0899 0,1915 0,1915 0,1915 0,0890 0,0921 0,1698 0,0490 0,1562 0,1562 0,1562 0,1562 0,1562 0,168 0,071 0,161 0,162 0,147 0,193 0,097 Źródło: opracowanie własne. Najlepszy wybór to system A6, najgorszy zaś to A2. Dobór systemów CRM w organizacji wirtualnej – aspekt modelowy 135 6. Wnioski Metoda AHP wykorzystana do konstrukcji modelu jakości użytkowej systemów umożliwiła wybór najlepszego dla decydenta rozwiązania. Bez względu na postać globalnego modelu preferencji decydenta udało się stworzyć czytelne rankingi systemów. Najwyższa wartość funkcji użyteczności wskazała najlepszy wybór dla decydenta, najniższa wartość – najgorszy wybór. Przeprowadzone badania nad oceną systemów klasy CRM zdają się potwierdzać trafność doboru aparatu badawczego. Przedstawiony w artykule problem doboru systemu CRM do organizacji wirtualnej znajduje dobre odzwierciedlenie w użytej metodzie badawczej. Mimo, że w zdecydowanej większości wartości kryteriów mają charakter jakościowy, a uzyskane noty subiektywny charakter, to zastosowane mechanizmy kontroli spójności i przechodniości ocen ekspertów marginalizowały ich ewentualny negatywny wpływ na postać rankingu finalnego. Bibliografia [1] Dobiegała-Korona B., Doligalski T., Korona B. Konkurowanie o klienta e-marketingiem. Difin, 2004, s. 37-40. [2] Gospodarowicz A. Metody analizy i oceny pakietów programowych. AE, Wrocław, 1997. [3] Ludwiszewski B. Metoda doboru i wdrażania systemów informatycznych zarządzania w małych i średnich przedsiębiorstwach. Rozprawa doktorska, IOiZ Orgmasz, Warszawa, 2002. [4] Sikorski M. Zarządzanie jakością użytkową w przedsięwzięciach informatycznych. Wydawnictwo Politechniki Gdańskiej, Gdańsk, 2000. [5] Lasek M. Hierarchiczne struktury ocen rozmytych w: Systemy wspomagania decyzji wielokryterialnych, red. T.Kasprzak, UW, Warszawa, 1992. [6] Kisielnicki J., Sroka H. Systemy informacyjne biznesu. AW placet, Warszawa, 2005. [7] Chmielarz W. Ocena systemów informatycznych dla małych i średnich firm – Aspekt modelowy, IBS PAN, Warszawa 2002. [8] Fiedorowicz I. Czym jest CRM? Gazeta IT 6/2002. [9] Mazur A., Jaworska K., Mazur D. CRM Zarządzanie Kontaktami z Klientami. Wydawnictwo MADAR, 2001, s. 24. [10] Dyche J. CRM Relacje z klientami. Wydawnictwo Helion, 2002, s. 190-191. [11] Frąckiewicz E., Rudawska E. Badania marketingowe w procesie wyboru systemu klasy CRM. Zeszyty Naukowe Akademii Ekonomicznej we Wrocławiu nr 1004, 2003, s. 409-411. [12] Burnett K. Relacje z kluczowymi klientami. Analiza i zarządzanie. Oficyna Ekonomiczna, 2002, s. 292. [13] Jakie korzyści można osiągnąć dzięki analizie przedwdrożeniowej CRM [online] http:// www.crmexpert.pl [dostęp: 2008]. [14] Buchnowska D. CRM strategia i technologia. Wydawnictwo Uniwersytetu Gdańskiego, 2006, s. 197, 215-216. [15] Stachowicz-Stanusch A., Stanusch M. CRM Przewodnik dla wdrażających. Wydawnictwo Placet, 2007, s. 305. [16] [1] s. 36-37. 136 Jarosław Wątróbski, Monika Stolarska [17] Małachowski A. (red.) Internet w zarządzaniu przedsiębiorstwem. Wydawnictwo Akademii Ekonomicznej im. Oskara Langego we Wrocławiu, 2003, s. 136. [18] Sroka H. (red.) Strategie i metodyka przekształcania organizacji w kierunku e-biznesu na podstawie technologii informacyjnej. Wydawnictwo Akademii Ekonomicznej w Katowicach, 2006, s. 162-166. [19] Dyche J. CRM Relacje z klientami, Wydawnictwo Helion, 2002, s. 27. [20] Teluk T. E-biznes. Nowa gospodarka, Helion, 2002, s. 43. [21] [1] s. 40-41. [22] Vlahavas I., Stamelos I., Refanidis I., Tsoukias A. ESSE: An Expert System for Software Evaluation, s. 2. [23] Mamaghani F. Methodology to select security software, Information Management & Computer Security, volume: 10, issue: 1, 2002. [24] [23] [25] Hong T., Kim E. The Selection of CRM Systems in Financial Institutes Using the Analytic Hierarchy Process, Proceedings of the 13th Asia Pacific Management Conference, Melbourne, Australia, 2007, s. 296-302. [26] Saaty T.L. Multicriteria Decision Making – The Analytic Hierarchy Process. Technical report, University of Pittsburgh, RWS Publications, 1992. Metody analizy wielokryterialnej we wspomaganiu porównywania produktów w Internecie Paweł Ziemba, Mateusz Piwowarski Politechnika Szczecińska, Wydział Informatyki Abstract: The following paper is dealing with directions developing in the literature on choosing the MCDA method best suited to solve a given decision problem. When considering factors originating from the subject of the decision, the main focus was on case studies which support applying a particular method to a given problem – price comparison in the Internet. Słowa kluczowe: Price comparison, MCDA, Electre, AHP, Promethee, MAUT, SMART, UTA 1. Wprowadzenie Analizując stosunkowo krótką historię funkcjonowania serwisów porównawczych w Polsce, można zauważyć, że pomimo tego, iż obecnie jest ich bardzo wiele, to jednak tylko niektóre odgrywały i odgrywają rolę znaczącą. Są to serwisy, które poprzez rozmaite działania potrafiły wypracować i ugruntować swoją pozycję na rynku. Czyniły to głównie poprzez swoje nowatorskie rozwiązania lub przez pozyskanie kapitału i znalezienie oparcia w największych polskich serwisach internetowych. Mniej znaczące serwisy porównawcze albo w zasadzie nie funkcjonują – odwiedzający je użytkownicy napotykają błąd przy każdym zapytaniu, lub też popadły w stagnację i nie rozwijają swoich baz produktów i sklepów. Celem niniejszego artykułu jest dokonanie przeglądu funkcjonalności istniejących serwisów porównawczych na polskim rynku oraz wskazanie możliwości ich rozwoju. Proponowane rozwiązanie obejmuje zwiększenie liczby kryteriów porównywania produktów oraz zaadoptowania metod wielokryterialnej analizy decyzyjnej do uzyskiwania najlepszych wariantów decyzyjnych z punktu widzenia użytkownika serwisu. 2. Funkcjonalność serwisów porównawczych Polski rynek internetowych serwisów porównywania cen produktów osiągnął pewien punkt nasycenia. Nowe witryny tego typu mają, co raz większe problemy z zajęciem dogodnej pozycji wśród pozostałych porównywarek. Sam fakt istnienia 138 Paweł Ziemba, Mateusz Piwowarski około 25 polskich serwisów tego typu daje wyobrażenie jak ciężko nowemu systemowi porównawczemu byłoby zainteresować potencjalnego użytkownika. Ponadto istnieje wiele serwisów zagranicznych, z których korzystają także polscy konsumenci. Wobec tego jedyną szansą zwiększenia przez dany serwis swojego udziału w tym rynku jest wprowadzanie nowych funkcjonalności niespotykanych u konkurencji. Dobrym przykładem takiej walki o pozycję wśród konkurencji jest serwis „Nokaut”, który głównie dzięki nowatorskiemu podejściu do tematu porównywania i wyszukiwania produktów wypracował sobie miejsce w czołówce porównywarek. Za jego przykładem podążyli inni liderzy, którzy zostali w zasadzie zmuszeni do zwiększania funkcjonalności swoich systemów porównawczych. To dzięki konkurencji pomiędzy liderującymi serwisami pojawiły się interesujące możliwości serwisów porównawczych takie jak geolokalizacja, prognozowanie cen, mobilna wersja serwisów, wirtualny asystent w serwisach porównawczych, itp. W najbliższym czasie serwisy porównawcze powinny nadal bardzo dynamicznie się rozwijać. Chodzi tutaj m.in. o: — wzrost ilości sklepów i produktów w bazach danych serwisów, — zwiększanie ilości opinii o produktach, — coraz większą ilość systemów sklepowych obsługiwanych przez porównywarki. Jednakże poza przyrostowym zwiększaniem ilości takich elementów należy się także spodziewać wprowadzania nowych funkcjonalności do serwisów. Funkcjonalnością, która została wprowadzona już długi czas temu (przez serwis „9sekund.pl”), a jednak do tej pory brak jej w czołowych serwisach porównawczych, jest integracja z systemami aukcyjnymi. Obecnie użytkownik poszukujący określonego produktu jest zmuszony do przeglądania kolejno serwisu porównawczego oraz witryny aukcyjnej. Zintegrowanie aukcji internetowych w porównywarce zdecydowanie wpłynęłoby na liczbę odsłonięć serwisu porównawczego. Brak takiej funkcjonalności wydaje się dziwny szczególnie w przypadku „Ceneo.pl”, który należy do tego samego właściciela, któremu podlega największy polski serwis aukcyjny „Allegro.pl”. Patrząc jednak na omawiane zagadnienie ze strony serwisu porównawczego, wprowadzenie takiej funkcjonalności wiązałoby się także z pewnymi problemami. Główną kwestią jest w tej sytuacji sposób pobierania opłat od sklepów, które prowadzą aukcje w serwisie „Allegro”. Przy wprowadzeniu integracji z systemem aukcyjnym w zasadzie niemożliwe stałoby się pobieranie opłat związanych z przejściem użytkownika ze strony porównywarki na stronę sklepu. Utrzymanie modelu biznesowego opartego na tej opłacie wymuszałoby zmianę zasad funkcjonowania serwisów aukcyjnych. Ponadto niewiele sklepów wybierałoby nadal promocję swojej marki poprzez serwisy porównawcze. Zdecydowanie tańsze dla handlowców byłoby funkcjonowanie w systemie aukcyjnym, co również wiązałoby się z obecnością, za jego pośrednictwem, w porównywarce. Inną nowoczesną właściwością serwisów mogą stać się wirtualni asystenci. Obecnie takiego asystenta, odpowiedzialnego za ułatwienie wyboru kryteriów wyszukiwania, posiada serwis „Nokaut.pl”. Wirtualnych asystentów można wykorzystać zasadniczo w każdym elemencie funkcjonowania serwisu porównawczego. Metody analizy wielokryterialnej we wspomaganiu porównywania. . . 139 Mógłby on prowadzić użytkownika przez cały proces poszukiwań i wyboru odpowiedniego towaru. Kolejnym elementem, którego obecnie brak w serwisach porównawczych jest dowolny prosty system eliminacji błędnych-fałszywych ofert. Często zdarza się, że użytkownik podczas poszukiwania najtańszego sklepu oferującego dany produkt natrafia na ofertę znacznie zaniżoną cenowo. Najczęściej po przejściu na stronę sklepu zawierającą taką ofertę okazuje się, że na stronie tej zawarty jest zupełnie inny produkt, np. instrukcja obsługi do danego sprzętu zamiast tegoż. Błędy takie można wyeliminować stosunkowo łatwo poprzez zastosowanie chociażby systemu rozmytego. Chodzi tutaj o określanie średniej ceny danego towaru a następnie stopień odchylenia danej oferty cenowej od średniej. W ten sposób system taki mógłby lingwistycznie oceniać wiarygodność danej oferty. Dzięki temu otrzymano by jednocześnie nowe, ogólne kryterium porównawcze dla ofert towarów. Do błędów w funkcjonowaniu serwisów porównawczych zaliczyć można także sytuację, kiedy użytkownik przechodzi do strony sklepu, a na niej dowiaduje się, że towaru obecnie brak lub jest on oferowany za wyższą cenę. Odpowiedzialnością za tego typu sytuacje należy obarczać sposób aktualizacji bazy danych serwisów. Porównywarki powinny same decydować o terminie aktualizacji ofert, czyli powinny same rozstrzygać o datach generowania kolejnych plików XML, zawierających oferty sklepów. Pozwoliłoby to uniknąć sytuacji, kiedy oferta zawarta w serwisie porównawczym datuje się aktualnością sprzed kilku dni wstecz. Ostatnią propozycją dotyczącą możliwości rozwoju serwisów porównawczych jest wprowadzenie w nich wielokryterialnego wspomagania podejmowania decyzji. Chodzi tutaj o możliwość wyboru przez użytkownika, np.: — kryteriów technicznych i funkcjonalnych produktów, — kryteriów wiarygodności sprzedawcy, — elementów związanych z kosztami tak produktu jak i jego dostawy, a w efekcie wygenerowanie przez system propozycji kolejnych towarów, najlepiej spełniających potrzeby użytkownika. Funkcjonalność taka stanowiłaby pewnego rodzaju system ekspertowy, sugerujący użytkownikowi optymalny wybór towaru, który spełniałby jego potrzeby cenowe, użytkowe i jakościowe. 3. Wielokryterialne wspomaganie decyzji Teorię decyzji można scharakteryzować jako teorię opisującą zachowania złożonego systemu składającego się z ludzi, środków i informacji. Zajmuje się ona podejmowaniem decyzji, a w szczególności obejmuje obszar badania decyzji a także metod i technik ich podejmowania. Sama decyzja jest wyborem sposobu działania dokonywanym w celu rozwiązania określonego problemu. Wyboru tego dokonuje się na podstawie dostępnych informacji [2]. Jest to dalece uproszczona definicja decyzji, gdyż klasa funkcji zwanych decyzjami jest tak obszerna i obejmuje tak szeroki zakres pojęć, że jej pełne przedstawienie wykracza poza ramy niniejszego artykułu [3]. 140 Paweł Ziemba, Mateusz Piwowarski Decyzja jest efektem ciągu połączonych ze sobą czynności. Ciąg takich działań nosi nazwę procesu decyzyjnego. W efekcie tego procesu decydent dokonuje wyboru jednego wariantu działania spośród wielu możliwych. Wybór ten powinien być świadomy, tj. powinien być on poparty argumentami za nim przemawiającymi, natomiast w żadnym wypadku nie powinien być to wybór losowy. Metody podejmowania decyzji dzielą się na jednokryterialne i wielokryterialne. Metody jednokryterialne koncentrują się na problemie optymalizacji, natomiast wśród metod wielokryterialnych występuje podział ze względu na ilość wariantów i kryteriów. Jeśli zbiór kryteriów i wariantów decyzyjnych jest skończony, stosuje się metody dyskretne. W przeciwnym wypadku, zastosowanie znajdują metody ciągłe [4]. Pojęcie „teoria decyzji” w literaturze często jest używane zamiennie z terminem „badania operacyjne”. Badania operacyjne nie wyczerpują jednak całego zakresu pojęcia „teoria decyzji”, gdyż nawiązują one tylko do jednego z nurtów w teorii decyzji. Tymczasem w teorii decyzji wyróżnia się trzy kierunki: — ilościowy (normatywny), — behawioralny (opisowy, deskryptywny), — kierunek analizy systemowej. Obecnie występuje tendencja łączenia przedstawionych wyżej nurtów teorii decyzji w spójny proces spełniający zarówno wymagania użyteczności teoretycznej jak i praktycznej. Do tego celu w szerokim zakresie wykorzystywane są techniki komputerowe. Chodzi tutaj o zapewnienie decydentom wskazówek odnośnie wyboru jednej z alternatyw decyzyjnych tak, aby dokonać wystarczająco dobrego wyboru mając w perspektywie określone konsekwencje. Wskazówki takie ma zapewnić system informatyczny. Istniejące analityczne systemy informatyczne mają na celu przede wszystkim wspomaganie czynności analitycznych koniecznych przy podejmowaniu decyzji. W zależności od typu czynności poprzedzających podjęcie decyzji, które są wspierane przez system informatyczny, analityczne systemy informatyczne dzielą się na: — raportujące, — kalkulacyjne, — decyzyjne. Wszystkie powyższe rodzaje systemów zajmują się wspomaganiem decyzji, lecz każdy z nich czyni to na innym szczeblu. Systemy raportujące mają za zadanie wspomóc etap zbierania danych, które w dalszej perspektywie będą wykorzystane do wygenerowania wariantów decyzyjnych i oceny skutków każdego z wariantów. Systemy kalkulacyjne zajmują się przetworzeniem i agregacją danych zebranych przez system raportujący. Natomiast systemy decyzyjne generują warianty decyzji i dokonują oceny skutków wykonania każdego z wariantów [1]. Dane konieczne do podjęcia decyzji w wielu przypadkach mogą zostać zebrane i wprowadzone do systemu nawet bez wykorzystania systemu informatycznego. Nie jest tutaj konieczny jakikolwiek sformalizowany algorytm postępowania. Również przetworzenie danych może zostać wykonane w sposób intuicyjny, Metody analizy wielokryterialnej we wspomaganiu porównywania. . . 141 co nie powinno w dużym stopniu przeszkodzić w podjęciu decyzji akceptowalnej. Największym problemem we wspomaganiu decyzji wydaje się wyznaczenie oceny skutków każdego z wariantów decyzyjnych lub też porównanie wariantów decyzyjnych. To właśnie ten etap wymaga postępowania ściśle zgodnego z wybranym, sformalizowanym algorytmem wyznaczenia „dobrych” rozwiązań sytuacji decyzyjnej. Problem ten istnieje zwłaszcza w decyzjach, przy których podejmowaniu należy wziąć pod uwagę wiele kryteriów. Sam algorytm porównania i oceny wariantów powinien być szybki, a jednocześnie charakteryzować się wysoką sprawnością i wskazywać rzeczywiście decyzje najlepsze w danych warunkach. Natura problemu decyzyjnego determinuje jego wielokryterialność. Niemal w każdym przypadku podjęcie „dobrej” decyzji wymaga rozpatrzenia wielu wariantów decyzyjnych, przy czym każdy wariant powinien być badany pod kątem wielu czynników charakteryzujących jego dopuszczalność. Czynniki te mogą ograniczać ilość wariantów w przypadku, kiedy ich wartości wykraczają poza założone ramy. Służą one również do stopniowania jakości poszczególnych wariantów w sytuacji, kiedy wszystkie możliwości są dopuszczalne, a problemem jest wybranie subiektywnie najlepszego z nich. Subiektywizm w tym przypadku odnosi się do ważności poszczególnych kryteriów, gdyż zazwyczaj dla decydenta jedne z czynników są ważniejsze od innych. Dla różnych decydentów różne kryteria mogą mieć różne wagi, więc w żadnym wypadku decyzja wielokryterialna nie może być uznana za całkowicie obiektywną. Obiektywny jest tutaj tylko ranking poszczególnych wariantów przy zadanych wagach kolejnych kryteriów, gdyż ranking ten jest generowany zazwyczaj przy wykorzystaniu sformalizowanego algorytmu. Dobór wag kryteriów i akceptacja rozwiązania subiektywnie lepszego od innych związane są z wiedzą i oczekiwaniami podejmującego decyzję. Właśnie preferencje decydenta stanowią istotny składnik większości metod wielokryterialnych. Formalnie wielokryterialna sytuacja decyzyjna charakteryzuje się następującymi aspektami: — wyodrębniona jest skończona liczba mierzalnych lub stopniowalnych celów opisujących obiekt decyzji, — cele są urzeczywistniane przez wspólny zbiór decyzji dopuszczalnych, — podstawę oceny i podjęcia decyzji stanowi zespół kryteriów sformułowanych w stosunku do celów, — w zbiorze celów występuje zjawisko konkurencyjności powodujące, że większy stopień realizacji jednego z celów oznacza zmniejszenie stopnia realizacji innych celów [2]. Poza wymienionymi czynnikami można wyszczególnić sytuacje decyzyjne zależnie od ich natury, strategii podejmującego decyzję i celu decyzji. Zależnie od tych trzech aspektów problematyka wielokryterialnej analizy decyzyjnej może skupiać się na zagadnieniach: — wyboru najlepszych ze względu na rozpatrywane kryteria wariantów decyzyjnych, 142 Paweł Ziemba, Mateusz Piwowarski — porządkowania (rangowania) wariantów na klasy równie dobrych alternatyw, począwszy od klasy najlepszych rozwiązań a skończywszy na klasie opcji najgorszych, — sortowania (klasyfikacji) wariantów decyzyjnych do pewnych wcześniej ustalonych kategorii [5]. W toku badań nad metodami wielokryterialnego podejmowania decyzji wyklarowały się dwa podejścia do tego problemu. Są to modele: relacyjny i funkcjonalny. Różnią się one dosyć znacznie zarówno samą metodyką podejścia do sytuacji decyzyjnej jak i sposobem wyboru najlepszego wariantu decyzyjnego [6]. 3.1. Funkcjonalny model wielokryterialnej analizy decyzyjnej Model funkcjonalny wywodzi się z amerykańskiej szkoły wielokryterialnej analizy decyzyjnej. Podejście reprezentowane przez model funkcjonalny wyklucza sytuację nieporównywalności wariantów decyzyjnych i zakłada przechodniość preferencji na kolejne warianty decyzyjne. Metodami, które wykorzystują model funkcjonalny są, np.: — MAUT (ang. Multi-Attribute Utility Theory), Wielo-atrybutowa Teoria Użyteczności [7], — AHP (ang. Analitic Hierarchy Process), Procedura Analitycznej Hierarchizacji [8], — SMART (ang. Simple Multi-Attribute Ranking Technique), Prosta Wielo-atrybutowa Technika Rankingowa [9], — UTA (ang. Utility Theory Additive), Addytywna Teoria Użyteczności [10]. Podejście oparte na teorii użyteczności znajduje przeciwników głównie w Europie. Zarzucają oni metodom opartym na teorii użyteczności, że nie uwzględniają one zmienności i nieprecyzyjności ocen decydenta. Ponadto nie uwzględniają niepewności, niedokładności i nieokreśloności możliwej do wystąpienia w danych, na których opiera się analiza. Według szkoły europejskiej, wielo-atrybutowa teoria użyteczności niejednokrotnie utrudnia – a nie ułatwia – podejmowanie decyzji [5]. 3.2. Algorytmy wielokryterialne oparte na relacji przewyższania Model relacyjny wywodzi się z europejskiej szkoły podejmowania decyzji. Skupia się on na tworzeniu charakterystycznej relacji między wariantami decyzyjnymi. Relacja ta reprezentuje ściśle określone preferencje decydenta i nosi nazwę „relacji przewyższania”. Relacja przewyższania charakteryzuje się nieprzechodniością pomiędzy parami wariantów decyzyjnych. Główne metody modelu relacyjnego rozszerzają zbiór podstawowych sytuacji preferencyjnych w efekcie, czego obejmuje on sytuacje [11]: — równoważności wariantów decyzyjnych (oznaczenie „a I b”), — słabej preferencji jednego z wariantów względem innego („a Q b”), Metody analizy wielokryterialnej we wspomaganiu porównywania. . . 143 — silnej preferencji danego wariantu względem innego („a P b”), — nieporównywalności pomiędzy danymi wariantami („a R b”). Ponadto dla par wariantów można określić relacje zgrupowane, łączące dwie lub trzy sytuacje podstawowe. Przy wystąpieniu relacji zgrupowanej, bez dodatkowych parametrów niemożliwe jest rozróżnienie relacji podstawowych składających się na sytuację zgrupowaną. Sytuacjami takimi są: — brak preferencji – zgrupowane sytuacje równoważności i nieporównywalności („a N b”), — preferencja w szerokim sensie – grupuje sytuacje słabej i silnej preferencji („a L b”), — przypuszczenie preferencji – gromadzi sytuacje równoważności i słabej preferencji („a J b”), — K-preferencja – zgrupowane sytuacje silnej preferencji i nieporównywalności („a K b”), — przewyższanie – zawiera sytuacje równoważności, silnej i słabej preferencji („a S b”). Relacja przewyższania jest wykorzystywana w metodach z rodzin Electre (fr. ELimination Et Choix Traduisant la REalité), Promethee (ang. Preference Ranking Organization METHod for Enrichment Evaluations) oraz w metodzie Bipolar, która czerpie wiele elementów z pierwszej wersji metody Electre. Konkretnie są to metody [12-14]: — — — — — — — — Electre I, Electre Is, Electre II, Electre III, Electre IV, Electre Tri, Promethee I i II, Bipolar. Przedstawione metody nie wyczerpują tematu wielokryterialnych metod wspomagania decyzji opartych na relacji przewyższania, gdyż istnieją różne modyfikacje przedstawionych metod. Można jednak stwierdzić, że przedstawione metody są najczęściej stosowane do rozwiązywania całego spektrum problemów wielokryterialnych. Widoczne są szczególnie różnice pomiędzy kolejnymi generacjami metod Electre. Różnice te wynikają z faktu, że kolejne metody Electre nie miały na celu zastąpienia poprzednich. Nowe wersje metod były tworzone do rozwiązywania innych typów problemów decyzyjnych, w których nie radziły sobie dobrze poprzednie metody. Jak łatwo zauważyć różne przedstawione tutaj metody służą do rozwiązywania zupełnie innych problemów decyzyjnych. Również kolejne metody wymagają innego poziomu wiedzy decydenta na temat sytuacji decyzyjnej. 144 Paweł Ziemba, Mateusz Piwowarski 4. Dobór metody wielokryterialnej do oceny produktu Wybór wielokryterialnej metody wspomagania decyzji dla serwisu porównywania produktów jest zagadnieniem trudnym. Obok optymalności metody, tak, aby dawała ona wyniki najbardziej zbliżone do rzeczywistości należy uwzględnić tutaj również aspekt ludzki. Typowy użytkownik serwisu porównawczego nie jest ekspertem w dziedzinie, w której poszukuje najlepszego produktu spełniającego jego wymagania. Wobec tego wybrana metoda nie może wymagać od użytkownika ogromu wiedzy z danej dziedziny. Ponadto powinna ona być przyjazna w użyciu. Na wstępie można rozważyć przydatność metod wymagających podania od użytkownika wzorców, według których wybierany będzie najlepszy wariant. Do metod takich należą metody UTA, Electre Tri i Bipolar. UTA wyłuskuje preferencje użytkownika ze zbioru referencyjnego, tworzonego przez decydenta. Electre Tri wymaga podania przez użytkownika profili wariantów opisujących granice klas, do których następnie sortuje warianty decyzyjne. Bipolar oczekuje podania przez osobę podejmującą decyzję wzorców wariantów dobrych i złych. Wszystkie te metody należy odrzucić ze względu na to, że wymagają od użytkownika wiedzy eksperckiej. Nie należy oczekiwać, że osoba szukająca produktu w serwisie porównawczym posiada taką wiedzę, która pozwoli jej zdefiniować parametry produktu dobrego i złego. Wobec tego, metody te uznaje się za niewarte dalszego rozważania. Kolejną metodą, którą można odrzucić jest MAUT. Nieprzydatność tej metody wypływa z faktu, że jest to ogólna teoria wielokryterialnej analizy decyzyjnej. Kłopotliwe jest w niej wykonanie dekompozycji zbioru kryteriów i skonstruowanie funkcji użyteczności ze względu na poszczególne kryteria. Wobec tego zastosowanie tej ogólnej metodyki mogłoby przysporzyć dużą ilość problemów implementacyjnych. Nieprzydatne są także metody Electre II, Electre IV i Electre I. Electre II wymaga od użytkownika podania znacznej ilości progów. Progi te, w przeciwieństwie do progów równoważności i preferencji nie są wyczuwalne intuicyjnie. Co więcej ciężko zdefiniować i wyjaśnić ich znaczenie. Tak, więc hipotezę o zastosowaniu metody Electre II w problemie wspomagania decyzji użytkownika serwisu porównawczego należy odrzucić. Również, Electre IV, w której użytkownik nie posiada żadnej możliwości zdefiniowania wag kryteriów ma wątpliwą przydatność w ocenie produktów. W tego typu zastosowaniu największe znaczenie mają właśnie wagi poszczególnych kryteriów. Metodyka proponowana w Electre IV, polegająca na zliczaniu ilości wzajemnie przeważających się kryteriów dla danej pary wariantów nie spełnia, więc podstawowej funkcjonalności. Natomiast w metodzie Electre I najmniejsze nawet różnice wartości pod względem danego kryterium powodują, że jeden z wariantów jest uznawany za całkowicie lepszy pod względem tego kryterium. Wobec tego brak jest w tej metodzie uwzględnienia faktu, że różnica w cenie produktów rzędu kilku złotych jest w zasadzie bez znaczenia. Porównując możliwość zastosowania w serwisach porównawczych metod Electre Is i Electre III należy zauważyć, że jest między nimi pewna różnica metodyczna. W metodzie Electre Is granica pomiędzy porównywalnością a nieporównywalno- Metody analizy wielokryterialnej we wspomaganiu porównywania. . . 145 ścią wariantów jest wielkością dyskretną. Przy osiągnięciu przez wariant uznany ogólnie za gorszy przewagi – pod względem jednego z kryteriów rzędu progu weta – nad wariantem lepszym, alternatywy te stają się nieporównywalne. Wcześniej jednak, w miarę zbliżania się do tego progu nic nie sygnalizuje takiej możliwości. W Electre III natomiast ogólna przewaga wariantu lepszego nad wariantem gorszym zmniejsza się w miarę zwiększania się przewagi wariantu gorszego nad wariantem lepszym pod względem danego kryterium. Pod względem zastosowania w serwisach porównawczych metoda Electre III wydaje się, więc bardziej przydatna od metody Electre Is. Problem wynikający z ewentualnego zastosowania metod Electre Is, Electre III i Promethee I wynika z możliwości wystąpienia przy ich użyciu nieporównywalności między produktami. W założeniu w serwisach porównawczych użytkownicy potrzebują pomocy przy wyborze produktów. Wobec tego sytuacja nieporównywalności pomiędzy towarami z jednej kategorii nie powinna być dopuszczalna. Należy, więc odrzucić metodę Promethee I, w której sytuacji nieporównywalności nie da się zapobiec. Teoretycznie nieporównywalności w metodach Electre Is i Electre III da się uniknąć poprzez ustawienie odpowiednio wysokich progów weta. Należy jednak pamiętać, że według metodyki Electre Is i III to użytkownik – decydent podaje progi weta, równoważności i preferencji. Możliwe jest oczywiście zmodyfikowanie metody w ten sposób, aby próg weta był automatycznie ustawiany na wielkość większą od największej różnicy pomiędzy wariantami dla danego kryterium. Wydaje się to jednak zbędną komplikacją problemu, w sytuacji, kiedy istnieje możliwość użycia metod, w których nie występuje możliwość sytuacji nieporównywalności pomiędzy produktami. Do rozważenia pozostały metody rankingowe, w których nie jest możliwe wystąpienie sytuacji nieporównywalności. Są to procedury amerykańskiej szkoły podejmowania decyzji: AHP oraz SMART i metoda wywodząca się ze szkoły europejskiej – Promethee II. Wszystkie pozostałe do rozpatrzenia metody oferują w pewnym stopniu rozmycie ocen wariantów (rozmycie ocen występowało również w odrzuconych już metodach Electre Is, Electre III oraz Promethee I). Rozmycie to jest realizowane przez wykorzystanie progów równoważności i preferencji w metodzie Promethee II oraz przez zastosowanie funkcji wartości w metodzie SMART. Natomiast w metodyce AHP, rozmycie jest tylko częściowe, gdyż jest możliwe tutaj tylko przyporządkowanie wartości danego kryterium do jednej z dziewięciu kategorii oceny. Analogicznie, tylko na dziewięć kategorii da się podzielić wagi poszczególnych kryteriów. Ponadto w metodzie AHP dla zwiększenia dokładności obliczeń wymagane jest powtarzanie pewnych etapów procedury obliczeniowej (wyznaczanie kwadratów macierzy). Ważnym czynnikiem przemawiającym za odrzuceniem metody AHP jest możliwe wystąpienie niespójności ocen. Nie bez znaczenia pozostaje też sugerowane podawanie przez użytkownika względnych wag kryteriów i ocen wariantów. Wobec powyższych argumentów właściwe wydaje się odrzucenie możliwości zastosowania metody AHP dla wspomagania podejmowania decyzji użytkowników internetowych serwisów porównawczych. 146 Paweł Ziemba, Mateusz Piwowarski Spośród pozostałych dwóch metod, tj. Promethee II i SMART każdy wybór wydaje się właściwy. Obydwie metody spełniają wymagania pod kątem użyteczności w internetowym serwisie porównawczym: — — — — — operują na wielu kryteriach, nie wymagają od użytkownika podawania wielu skomplikowanych parametrów, uwzględniają wagi kryteriów, oferują rozmycie przedziałów preferencji, nie dopuszczają sytuacji nieporównywalności. Wydaje się, że obie metody mają podobną funkcjonalność. Jeśli chodzi o złożoność obliczeniową, znacznie szybciej obliczenia powinny być wykonywane w metodzie SMART, gdyż w metodyce tej zachodzi znacznie mniej operacji matematycznych w porównaniu do Promethee. Natomiast od strony elastyczności bardziej użyteczna jest Promethee, w której decydent posiada możliwość wyboru jednej spośród sześciu funkcji preferencji. Z drugiej strony w metodzie SMART użytkownik może dowolnie definiować funkcję wartości. Metoda Promethee wydaje się jednak być bardziej zaawansowana pod względem metodologii rozwiązywania problemu decyzyjnego. Generuje ona ranking obiektów na podstawie porównań ze sobą parami wszystkich wariantów, natomiast w metodzie SMART oceny wariantów są generalnie od siebie niezależne. Zasadne wydaje się, więc użycie metody Promethee II jako rozwiązania problemu wielokryterialnego wspomagania podejmowania decyzji w internetowych serwisach porównawczych. 5. Zakończenie Propozycja zwiększenia funkcjonalności internetowych serwisów porównawczych przez wzbogacenie liczby kryteriów oceny produktów oraz wspomaganie tego wyboru metodami wielokryterialnej analizy decyzyjnej wydaje się zasadne. Dobór najwłaściwszej metody jest zadaniem bardzo skomplikowanym, wymagającym znacznej wiedzy metodycznej. Przeprowadzone badania analityczne, obejmujące kilkanaście metod wykazały o celowości stosowania, w tym obszarze tematycznym, metody Promethee II. Z jednej strony zapewnia ona oczekiwaną funkcjonalność, z drugiej zaś implementacja algorytmu tej metody w internetowych serwisach porównawczych nie powinna stanowić większego problemu. Bibliografia [1] Radosiński E. Systemy informatyczne w dynamicznej analizie decyzyjnej, Wydawnictwo Naukowe PWN, Warszawa-Wrocław 2001. [2] Stachowiak K. Wielokryterialna analiza decyzyjna w badaniach przestrzenno-ekonomicznych, Bogucki Wydawnictwo Naukowe, Poznań 2002. [3] Miller D. W., Starr M. K. Praktyka i teoria decyzji, Państwowe Wydawnictwo Naukowe, Warszawa 1971, s. 29-41. [4] Kodikara P. N. Multi-Objective Optima Operation of Urban Water Supply Systems, Health Engineering and Science Victoria University, Melbourne 2008, s. 22. Metody analizy wielokryterialnej we wspomaganiu porównywania. . . 147 [5] Trzaskalik T. Metody wielokryterialne na polskim rynku finansowym, Polskie Wydawnictwo Ekonomiczne, Warszawa 2006. [6] Triantaphyllou E. Multi-Criteria Decision Making Methods: A comparative Study, Springer, 2000. [7] Dyer J. S., Fishburn P. C., Steuer R. E., Wallenius J., Zionts S. Multiple Criteria Decision Making, Multiattribute Utility Theory: The Next Ten Years, Management Science, Vol. 38, No. 5, 1992, s. 645-654. [8] Saaty T. L. The analytic hierarchy process, Pittsburgh: RWS Publications, 1996. [9] Edwards W., Barron F. H. SMARTS and SMARTER: Improved simple methods for multiattribute utility measurement, Organizational Behavior and Human Decision Processes 60, 1994, s. 306-325. [10] Beuthe M., Scannella G. Comparative analysis of UTA multicriteria methods, European Journal of Operational Research Volume: 130, Issue: 2, April 16, 2001, s. 246-262. [11] Roy B. Multicriteria methodology for decision aiding, Kluwer, New York, 1996. [12] Roy B. The outranking approach and the foundations of Electre methods, Theory and decision 31, 1991. [13] Guitouni A., Martel J. M. Tentative guideline to help choosing an appropriate MCDA method, European Journal of Operational Research 109, 1998. [14] Brans J. P., Vincke P. A preference-ranking organization method: The PROMETHEE method, Management Science 31, 1985, s. 647-656.