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.