pobierz plik referatu
Transkrypt
pobierz plik referatu
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Rozdział 48 w Zarządzanie wiedzą w podejmowaniu decyzji przy wykorzystaniu systemu ekspertowego w 1 Wstęp da .b w Streszczenie. W rozdziale tym przedstawiono pewną koncepcję systemu ekspertowego INSTALEX jako narzędzia wspomagającego proces decyzyjny przy wyborze aparatury przemysłowej do celów instalacyjnych. Przedstawiono pewien sposób zarządzania wiedzą zawartą w bazie wiedzy systemu INSTALEX. Zaprezentowano mechanizm akwizycji wiedzy oraz przebieg procesu wnioskowania na elementach bazy wiedzy systemu ekspertowego. Wybrana została do realizacji metoda reprezentowania wiedzy w bazie wiedzy oparta na regułach. pl s. W erze informacji i wiedzy, kiedy istnieje nieograniczony dostęp do różnorodnych elektronicznych zasobów informacyjnych podejmowanie decyzji, wbrew pozorom, stało się jeszcze bardziej złożone. Niezwykle przydatnym okazało się wykorzystanie taniej i szeroko dostępnej techniki komputerowej do rozwiązywania złożonych problemów decyzyjnych. Szeroki wybór nowoczesnych technologii informatycznych stosowanych w codziennej działalności produkcyjnej, handlowej czy usługowej powoduje, że korzystające z nich firmy osiągają lepsze wyniki i zwiększają swoją pozycję na rynku. Dlatego też wzrasta zainteresowanie szybkim rozwojem technologii informatycznych stosowanych w praktyce [3], [4], [10], [11]. Szczególnego znaczenia nabiera budowa systemów informatycznych wspomagających działalność firm, które na co dzień spotykają się z ogromną liczbą różnego rodzaju danych. Gromadzenie i przetwarzanie danych towarzyszy prawie wszystkim formom działalności człowieka. Stąd też bazy danych stały się elementem większości systemów informatycznych [7]. Problematyka reprezentacji wiedzy i zarządzania wiedzą jest jednym z najważniejszych nurtów badań w dziedzinie sztucznej inteligencji [1], [6], [8]. Jednym z najbardziej użytecznych zastosowań komputerów w obszarze sztucznej inteligencji są systemy ekspertowe, które do rozwiązywania problemów wykorzystują wiedzę, czyli w uproszczeniu zbiór wiadomości z określonej dziedziny [2], [5], [9]. Systemy ekspertowe są programami komputerowymi, które mają zastępować ludzi-ekspertów w rozwiązywaniu różnych problemów decyzyjnych. W rozdziale tym zaprezentowano pewną koncepcję systemu ekspertowego INSTALEX jako narzędzia wspomagająceZbigniew Buchalski: Politechnika Wrocławska, Instytut Informatyki, Automatyki i Robotyki, ul. Janiszewskiego 11/17, 50-372 Wrocław, Polska email, :[email protected] (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Z. Buchalski go proces decyzyjny przy wyborze armatury przemysłowej do celów instalacyjnych. Przedstawiono następnie implementację komputerową tego systemu oraz podano przebieg procesu wnioskowania na elementach wiedzy zawartej w bazie wiedzy systemu INSTALEX. 2 Struktura systemu INSTALEX w w Podczas realizacji systemu ekspertowego INSTALEX okazało się, że stworzenie poprawnie działającego oraz wyposażonego w przyjazny interfejs systemu ekspertowego jest sprawą trudną i czasochłonną. Szczególną uwagę zwrócono na zapis bazy wiedzy, uwzględniającej wiele dróg decyzyjnych dla rozwiązania zadania postawionego systemowi. Starano się, aby wiedza zawarta w bazie wiedzy była szczegółowa i poparta doświadczeniem wielu ekspertów. Aplikację systemu INSTALEX oparto o strukturę przedstawioną na rys.1. w Interfejs użytkownika Baza wiedzy da .b System wyjaśniający Interpretator reguł Tablica Agenda Terminarz Rozwiązania Wzmacniacz spójności Maszyna wnioskująca pl s. Rys. 1. Ogólna struktura systemu ekspertowego INSTALEX Zadania poszczególnych bloków przedstawionych na rys. 1 są następujące. • Interpretator reguł analizuje składnię bazy wiedzy i tworzy w pamięci jej logiczną strukturę. • Tablica dynamiczna przechowuje pośrednie i końcowe wnioski i wyniki powstałe w trakcie procesu wnioskowania. Ze względu na charakter przechowywanych informacji można wyszczególnić dwa obszary tablicy: − agenda – przechowuje potencjalne reguły oczekujące na wykonanie; na ogół są to konkluzje reguł z bazy wiedzy, które mogą być niezbędne do podjęcia jakiejś decyzji, − rozwiązania – są to hipotezy i decyzje wygenerowane do tej pory przez system; tutaj pamiętane są również powiązania pomiędzy regułami. • Terminarz określa kolejność wykonywania oczekujących akcji w agendzie, na podstawie zadanych kryteriów. 472 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Zarządzanie wiedzą w podejmowaniu decyzji przy wykorzystaniu systemu ekspertowego w • Maszyna wnioskująca jest kluczowym elementem mechanizmu wnioskującego. Sprawdza ona przesłanki reguły, modyfikuje zawartość tablicy decyzyjnej zgodnie z akcjami przewidzianymi w danej regule, łączy elementy rozwiązania w jedną całość. Poza zależnościami pokazanymi na schemacie, współpracuje ona również z systemem wyjaśniającym co nie zostało pokazane dla zachowania czytelności schematu. • Wzmacniacz spójności gwarantuje utrzymanie porządku logicznego w systemie ekspertowym, którego proces wnioskowania uwzględnia współczynnik pewności, odzwierciedlający wagę podjętych decyzji. Moduł ten oblicza i analizuje prawdopodobieństwo otrzymanych rezultatów i nie dopuszcza do powstania nowych faktów, jeżeli współczynnik pewności dla danego rezultatu jest niższy od pewnej ustalonej, progowej wartości. • System wyjaśniający objaśnia użytkownikowi jak dane konkluzje zostały osiągnięte, dlaczego użytkownik jest indagowany (w trakcie zadawania pytania) oraz przedstawia użytkownikowi wszystkie ustalone dotąd fakty (przechowywane w tablicy dynamicznej w bloku rozwiązania) z możliwością przedstawienia źródła ich pochodzenia. w w 3 Reprezentacja wiedzy w systemie INSTALEX da .b pl s. We współczesnej gospodarce wiedza jest najcenniejszym zasobem różnych firm decydującym o ich sukcesie i jedynym źródłem trwałej przewagi konkurencyjnej na bardzo trudnym rynku. Wiedza jest pojęciem podstawowym dla różnego rodzaju procesów decyzyjnych i procesów wnioskowania zarówno przez człowieka, jak i przez komputer. Procesy decyzyjne są procesami przetwarzania informacji, w których występuje pewien zbiór alternatyw oraz funkcja przyporządkowująca każdej alternatywie określoną wartość. System ekspertowy podejmuje decyzję, która jest wyborem optymalnej alternatywy ze zbioru wszystkich dostępnych alternatyw. W systemach ekspertowych coraz większą rolę zaczynają odgrywać efektywne mechanizmy wnioskowania oraz reprezentacji wiedzy. Nie chodzi tu wyłącznie o czas reakcji systemu, ale o problemy związane z czytelnością baz wiedzy, a w konsekwencji również o trudności związane z ich utrzymaniem i rozwojem. Dlatego też wydaje się, że we współczesnych systemach ekspertowych ich architektura, w tym zastosowane mechanizmy wnioskowania i reprezentacji wiedzy, decydują na równi z jakością wiedzy eksperta o powodzeniu aplikacji. Akwizycja wiedzy jest procesem określenia wiedzy, na podstawie której system ekspertowy będzie udzielał odpowiedzi. Określenie wiedzy polega na otrzymaniu od eksperta takiej wiedzy, która musi być wcześniej opisana (sformalizowana) za pomocą tzw. języka reprezentacji wiedzy i wprowadzona do bazy wiedzy systemu ekspertowego. System ekspertowy INSTALEX zawiera mechanizm pozyskiwania wiedzy, przez co możliwe jest rozbudowywanie i uaktualnianie bazy wiedzy. Pozyskiwanie wiedzy do bazy wiedzy odbywa się na bieżąco w trakcie pracy systemu ekspertowego. Baza wiedzy systemu INSTALEX zawiera wiedzę dziedzinową dotyczącą armatury przemysłowej i wypełniona jest regułami i faktami reprezentującymi tą dziedzinę. Projektowana baza wiedzy nie posiada własnych faktów początkowych, a korzysta jedynie z faktów zadeklarowanych przez użytkownika systemu. Wszystkie fakty dopytywalne gromadzone są przed procesem wnioskowania. Fakty te przechowywane są w dynamicznej bazie danych. 473 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Z. Buchalski Reguły bazy reguł mogą się zagnieżdżać. Zagnieżdżanie reguł występuje, jeżeli wnioski niektórych reguł są warunkami innych reguł. Baza reguł w prezentowanym systemie jest bazą elementarną dokładną, co oznacza, że warunki niedopytywalne nie występują w postaci zanegowanej, a warunki i wnioski mogą być prawdą lub fałszem 4 Opis systemu INSTALEX w da .b w w System ekspertowy INSTALEX został zaimplementowany w postaci programu o takiej samej nazwie. Aplikacja programu INSTALEX działa w środowisku Windows 9x/XP/2000. Została napisana w nowoczesnym środowisku DELPHI 7.0 firmy Borland. Interfejs użytkownika został zaprojektowany i wykonany przy pomocy dostępnych komponentów: − TTabSheet – komponent wykorzystany do prezentacji kolejnych kroków w procesie dialogu z użytkownikiem; − TcomboBox – komponent wykorzystany do prezentacji możliwych odpowiedzi podczas dialogu z użytkownikiem; − TRichEdit - komponent wykorzystywany do prezentacji uwag do każdego pytania podczas dialogu z użytkownikiem, a także do wyświetlania w podsumowaniu zadeklarowanych faktów użytkownika; − Tbutton – komponent przycisku; − TmainMenu – komponent głównego menu programu; − TstringGrid – komponent wykorzystany do prezentacji wyników procesu wnioskowania; − Tabel – etykiety w programie – statyczne napisy; − TprogressBar – komponent paska postępu. Program INSTALEX jest także aplikacją bazodanową. Reguły, fakty, pytania i wnioski oraz powiązania między tymi elementami zapewniają mechanizmy bazy danych. Do komunikacji z serwerem bazy danych użyto sterowników Zeos w najnowszej wersji 5.0. Zastosowanie sterowników Zeos miało na celu uproszczenie mechanizmu łączenia się z serwerem bazy danych poprzez stację roboczą. Sterowniki te wymagają jedynie dołączenia do skomplikowanego projektu biblioteki ładowanej dynamicznie – libpq.dll. Komponenty wykorzystane do komunikacji z serwerem bazy danych są następujące: − TZZPqSqlDatabase – komponent wykorzystywany do nawiązania i utrzymania połączenia z serwerem bazy danych; − TZZPqSqlTransact – komponent pośredniczący w połączeniu z bazą danych; − TZZPqSqlQuery – komponent służący do definiowania zapytań w języku SQL. Jako serwer bazy danych zastosowano PostgreSQL w wersji 7.04. Wykorzystano dzięki temu wiele mechanizmów bazodanowych, które udostępnia serwer PostgreSQL, takich jak zapewnienie integralności danych, powiązania danych za pomocą kluczy obcych, bezpieczeństwo danych. Baza wiedzy systemu ekspertowego INSTALEX została zaimplementowana jako relacyjna baza danych. Pliki reguł i faktów zostały w tym przypadku zastąpione tabelami bazy danych. Zalety takiego rozwiązania są następujące: − bezpieczeństwo danych zgromadzonych na serwerze; − proste procedury administracji danymi w oparciu o język SQL; − relacje między danymi zapewnione przez takie mechanizmy, jak klucze obce, funkcje PLPGSQL. pl s. 474 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Zarządzanie wiedzą w podejmowaniu decyzji przy wykorzystaniu systemu ekspertowego w Na strukturę bazy danych dla prezentowanego systemu ekspertowego INSTALEX składa się sześć tabel połączonych za pomocą kluczy obcych. Tabele znajdują się we wspólnym schemacie klinger. Nazwa każdego pola rozpoczyna się od pierwszej litery z nazwy schematu {k} oraz pierwszej litery z nazwy tabeli. Po symbolu podkreślenia widnieje dalsza część nazwy pola. Klucze obce w tabelach przyjmują nazwy kluczy głównych z tabel, do których się odnoszą. Przedstawiony zostanie w tym miejscu krótki opis tych sześciu tabel, które tworzą bazę wiedzy systemu ekspertowego INSTALEX. 10.TABELA klinger.fakt opis pól tabeli: kf_id – klucz główny tabeli, typ SERIAL; kf_tresc – treść faktu w języku naturalnym, typ TEXT; kf_foto – ścieżka do pliku ze zdjęciem obrazującym fakt, typ VARCHAR(45); Tabela klinger.fakt przechowuje wszystkie fakty wykorzystywane w systemie ekspertowym INSTALEX. Zgodnie ze strukturą systemów ekspertowych jest ona częścią bazy reguł, w której skład wchodzą reguły i fakty. 0 2 .TABELA klinger.pytanie opis pól tabeli: kp_id – klucz główny tabeli, typ SERIAL; kp_tresc – treść faktu w języku naturalnym, typ TEXT; kp_nastepne – kp_id kolejnego pytania do przedstawienia użytkownikowi, typ INTEGER; Tabela klinger.pytanie przechowuje wszystkie pytania wykorzystywane w systemie ekspertowym INSTALEX w procesie gromadzenia faktów – dialogu z użytkownikiem systemu. Zgodnie ze strukturą systemów ekspertowych jest ona częścią interfejsu użytkownika. 0 3 .TABELA klinger.pytanie_fakt opis pól tabeli: kp_id – klucz obcy do tabeli klinger.pytanie, typ INTEGER; kf_if – klucz obcy do tabeli klinger.fakt, typ INTEGER; Tabela klinger.pytanie_fakt wiąże każde pytanie z odpowiednimi faktami, które stanowią jego dopuszczalną odpowiedź. Między tabelą klinger.pytanie, a klinger.fakt zachodzi relacja 1:n (jednemu pytaniu odpowiada n faktów będących odpowiedziami) 40.TABELA klinger.regula opis pól tabeli: kr_id – klucz główny tabeli, typ SERIAL; kf_id – klucz obcy do tabeli klinger.fakt, typ INTEGER; Tabela klinger.regula przechowuje numery wszystkich reguł wykorzystywanych w procesie wnioskowania regułowego systemu ekspertowego INSTALEX, oraz wniosek będący wynikiem spełnienia reguły. Zgodnie ze strukturą systemów ekspertowych jest ona częścią bazy reguł. 50.TABELA klinger.regula_fakt opis pól tabeli: kr_id – klucz obcy do tabeli klinger.regula, typ INTEGER; kf_id – klucz obcy do tabeli klinger.fakt, typ INTEGER; Tabela klinger.regula_fakt wiąże każdą regułę z odpowiednimi faktami, które stanowią jej warunki. Między tabelą klinger.regula, a klinger.fakt zachodzi relacja 1:n (jedna reguła sprawdza n faktów będących jej warunkami). da .b w w pl s. 475 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Z. Buchalski 60.TABELA klinger.wniosek opis pól tabeli: kf_id – klucz obcy do tabeli klinger.fakt, typ INTEGER; Tabela klinger.wniosek przechowuje numery faktów, które zostały uznane w procesie dialogu z użytkownikiem za fakty. Zgodnie ze strukturą systemów ekspertowych jest ona częścią dynamicznej bazy danych. w 5 Przebieg procesu wnioskowania da .b w w W systemie ekspertowym INSTALEX wykorzystywana jest metoda wnioskowania w przód, za pomocą której szukana jest odpowiedź interesująca użytkownika. Wnioskowanie w przód przebiega od faktów, poprzez reguły do odpowiedzi. System ekspertowy stara się kojarzyć przesłanki reguł z posiadanymi w bazie wiedzy faktami i poszerzeniu zbioru znanych faktów przez dołączenie do nich kolejnych konkluzji. Na podstawie dostępnych reguł i faktów generowane są nowe fakty tak długo, aż wśród wygenerowanych faktów znajdzie się odpowiedź na postawione pytanie. Wszystkie operacje wnioskowania są przeprowadzone na serwerze, do którego ma dostęp użytkownik systemu INSTALEX. W serwerze po każdorazowym ustaleniu faktu wyznaczona jest reguła, do której dany fakt należy, a następnie jeśli reguła nie jest spełniona, zostaje wyznaczona następna i ustalane są pozostałe fakty. Algorytm przebiegu rozpatrywania faktów i wyznaczania odpowiedzi systemu ekspertowego INSTALEX przedstawiony jest na rys. 2. System INSTALEX wykorzystuje dynamiczną bazę danych, przy pomocy której dokonuje wnioskowania na faktach i regułach. Do bazy danych podczas uruchamiania programu, wczytywane są wszystkie fakty i reguły dostępne w bazie wiedzy. Również pytania zadawane użytkownikowi, wraz z możliwymi odpowiedziami, wczytywane są do pamięci komputera. Każdy fakt jest powiązany z odpowiadającym mu pytaniem i serią odpowiedzi. Dzięki wykorzystaniu dynamicznej bazy danych unika się odwoływania do pliku po każdorazowym uzgadnianiu faktu i zadaniu pytania, co znacznie zwiększa efektywność działania systemu ekspertowego INSTALEX. Kolejność danych (faktów) znajdujących się w tej bazie ma duże znaczenie, gdyż na tej podstawie wyświetlane są zapytania stawiane użytkownikowi. Jeżeli chcemy, aby na początku wyświetlało się pytanie skojarzone z odpowiednim faktem, musimy je umieścić w pierwszej linii rozpatrywanej reguły. Zatem, budując bazę wiedzy, brano pod uwagę konsekwencje wynikające ze złego zorganizowania kolejności faktów w regule. Za przebieg procesu wnioskowania odpowiada maszyna wnioskująca ściśle współpracująca z systemem wyjaśniającym. Najczęściej spotykane pytania, na które system ten odpowiada są następujące: • dlaczego? – pytanie o zasadność analizowania danego warunku (pytanie jest właściwe tylko podczas trwania procesu wnioskowania), • jak? – pytanie o ścieżkę rozumowania, która doprowadziła do wygenerowania danego faktu oraz o pochodzenie wartości atrybutów (np. z odpowiedzi użytkownika, konkluzji reguły, faktu zapisanego w bazie wiedzy, itp.). pl s. 476 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Zarządzanie wiedzą w podejmowaniu decyzji przy wykorzystaniu systemu ekspertowego START Wyznacz regułę do rozpatrzenia w TAK Czy istnieje reguła w bazie wiedzy w Pobierz fakt do ustalenia NIE w NIE Czy reguła zawiera fakt? Brak możliwości instalacji armatury TAK TAK da .b Czy wszystkie fakty są ustalone? NIE Określenie warunków instalacji armatury STOP Rys. 2. Algorytm wyznaczania odpowiedzi w systemie ekspertowym INSTALEX pl s. 6 Uwagi końcowe Podsumowując efekty niniejszej pracy można stwierdzić, że system ekspertowy INSTALEX z powodzeniem realizuje stawiane przed nim zadania i przy umiejętnym wykorzystaniu może być bardzo pomocnym narzędziem wspomagającym proces wyboru armatury przemysłowej do celów instalacyjnych. Czas realizacji procesu wnioskowania utrzymuje się na poziomie 1,8 do 2 minut. W głównej pętli mechanizmu wnioskowania nie wyeliminowane zostało jeszcze zadawanie pytań SQL do serwera bazy danych, co mogłoby zwiększyć efektywność systemu INSTALEX. Dobrym rozwiązaniem byłoby zastosowanie systemu lokalnej bazy danych. Przykładami takich systemów są Fire Bird czy InterBase. Wówczas aplikacja pobierałaby uaktualnienia z serwera PostgreSQL, a kopie danych przechowywałaby w lokalnym systemie bazodanowym. Wiedza zawarta w bazie wiedzy systemu INSTALEX na ogół wystarcza do odpowiedzi na najbardziej nurtujące użytkownika systemu pytania. Jednakże ciągłe nowości w zakresie armatury przemysłowej wymagają ciągłego uaktualnienia bazy wiedzy systemu. 477 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Z. Buchalski Literatura 1. w Banasiak D., Buchalski Z.: Zastosowanie symbolicznej reprezentacji zdań języka naturalnego do celów wnioskowania na elementach bazy wiedzy systemu ekspertowego. W: Komputerowo zintegrowane zarządzanie, t.1, R. Knosala (red.), Warszawa, WNT, 2003, 33 – 39. 2. Brown C.E.: Introduction to Artificial Intelligence and Expert Systems. University of Southern California, 1995. 3. Buchalski Z., Kapłon T.: Realizacja procesu wnioskowania na elementach bazy wiedzy systemu ekspertowego wspomagającego proces zarządzania. W: Komputerowo zintegrowane zarządzanie, t.1, R. Knosala (red.), Warszawa, WNT, 2002, 152 – 161. 4. Buchalski Z.: Realizacja mechanizmu wnioskującego w systemie ekspertowym diagnozującym proces dystrybucji energii cieplnej. W: Diagnostyka procesów przemysłowych, Z. Kowalczuk (red.), Pomorskie Wydawnictwo Naukowo-Techniczne, Gdańsk, 2003, 345 – 350. 5. Buchalski Z.: Komputerowe wspomaganie podejmowania decyzji z wykorzystaniem regułowego systemu ekspertowego. W: Komputerowo zintegrowane zarządzanie, t.1, R. Knosala (red.), Warszawa, WNT, 2004, 156 – 164. 6. Chromiec J., Strzemieczna E.: Sztuczna inteligencja. Metody konstrukcji i analizy systemów eksperckich. Akademicka Oficyna Wydawnicza PLJ, Warszawa, 1994. 7. Henderson K.: Bazy danych w architekturze klient-serwer. Wydawnictwo Robomatic, Wrocław, 1998. 8. Kazimierczak J.: Acquisition of Knowledge and its Representation to Achieve the Ability of Computer to Automatic Programming. Proceedings of the International Conference on Artificial Intelligence, vol. 2, CSREA Press, Las Vegas, Nevada, USA, 2002, pp. 819 – 825. 9. Mulawka J.: Systemy ekspertowe. WNT, Warszawa, 1996. 10. Radzikowski W.: Komputerowe systemy wspomagania decyzji. PWE, Warszawa, 1990. 11. Zieliński J.: Inteligentne systemy w zarządzaniu. Teoria i praktyka, PWN, Warszawa, 2000. da .b w w pl s. 478 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006