WSPOMAGANIE PROCESU PROJEKTOWANIA SIECI KOMPUTEROWYCH W OPARCIU O SYSTEM EKSPERTOWY Zbigniew Buchalski Wprowadzenie Rozwój teorii i zastosowań narzędzi sztucznej inteligencji wiąŝe się z włączeniem ich do tworzenia inteligentnych systemów informatycznych, jakimi są systemy ekspertowe (por. [ChSt94], [Mula96]). Systemy ekspertowe dają moŝliwość rozwiązywania skomplikowanych problemów wymagających profesjonalnej ekspertyzy i robią to tak dobrze, jak człowiek będący ekspertem w danej dziedzinie wiedzy (por. [Buch03], [Buch04], [Radz90], [Ziel00]). Istotną cechą systemów ekspertowych jest zdolność porozumiewania się z uŝytkownikiem w wygodnym dla niego języku, zbliŝonym do naturalnego. Systemy ekspertowe potrafią doskonalić się na podstawie wiedzy zawartej w bazie wiedzy, czyli są systemami samouczącymi się. Pozyskiwanie wiedzy do bazy wiedzy jest procesem bardzo pracochłonnym i tworzenie systemu ekspertowego ma sens wówczas, gdy będzie on wykorzystywany przez długi okres czasu i przez wielu uŝytkowników. Konstruując system ekspertowy naleŝy określić dwa podstawowe problemy: określić metodę reprezentacji wiedzy w bazie wiedzy oraz wybrać odpowiedni mechanizm wnioskowania. Istotną sprawą jest wybór odpowiedniej architektury systemu ekspertowego, która pozwoli na efektywne
uŝycie dostępnej wiedzy oraz da moŝliwość tworzenia nowej wiedzy na podstawie dostępnych informacji i dialogu z uŝytkownikiem. Celem niniejszej pracy jest przedstawienie pewnej koncepcji systemu ekspertowego o nazwie EXSIEC, wspomagającego proces projektowania bądź modernizacji lokalnych sieci komputerowych. Łączenie komputerów w sieć jest obecnie jednym z najczęściej stosowanych sposobów podniesienia efektywności posiadanej infrastruktury informatycznej (por.[wane99]). System ekspertowy EXSIEC na podstawie wymagań uŝytkownika udziela wskazówek będących wytycznymi do projektu lokalnej sieci komputerowej. Wytyczne te opiera na faktach określonych przez uŝytkownika w trakcie konsultacji oraz na wiedzy zawartej w bazie wiedzy. System EXSIEC potrafi np. określić odpowiednią konfigurację sieci, podać projekt okablowania sieci czy teŝ oszacować koszt budowy sieci. W prezentowanej pracy przedstawiono implementację komputerową tego systemu oraz zaprezentowano przebieg procesu wnioskowania na regułach i faktach zawartych w bazie wiedzy systemu EXSIEC. Cel i załoŝenia budowy systemu EXSIEC Podstawowym celem systemu ekspertowego EXSIEC jest wspomaganie procesu projektowania bądź modernizacji lokalnej sieci komputerowej. Budowa systemu EXSIEC oparta została na takich załoŝeniach, aby system ten mógł w pełni zaspokoić wszystkie wymogi stawiane przez przyszłych uŝytkowników systemu ekspertowego.
System EXSIEC uwzględnia przy projektowaniu sieci komputerowej takie elementy, jak: inwentaryzacja sprzętu i infrastruktury dostępnej w firmie, dla której projektowana jest sieć, analiza potrzeb uŝytkowników, projekt logiczny sieci wraz z opisem koncepcji rozwiązania, projekt okablowania budynków, dostęp i korzystanie z Internetu, konfiguracja serwera sieciowego, analiza bezpieczeństwa i niezawodności sieci, kosztorys urządzeń, okablowania i oprogramowania, moŝliwość rozbudowy sieci w przyszłości. Projekt sieci powinien równieŝ uwzględniać rozmiary budynku, rozmieszczenie pomieszczeń oraz profil działalności komputeryzowanej firmy. Niezawodność sieci naleŝy zapewnić poprzez zastosowanie rezerwowego okablowania oraz dodatkowego zasilania sieci komputerowej. System EXSIEC uwzględnia przy projektowaniu sieci komputerowej wybór takiej technologii sieciowej, okablowania, urządzeń (komputery, serwery, urządzenia sieciowe) oraz takiego oprogramowania, aby połączyć w sieć komputery zgodnie z podanymi wymaganiami, minimalizując przy tym kryterium kosztu całej instalacji oraz zapewniając prawidłowe i niezawodne działanie sieci komputerowej. System EXSIEC przeznaczony jest dla osób, które pragną zbudować sieć komputerową, ale nie orientują się jaki typ sieci jest najbardziej odpowiedni dla ich potrzeb. Podając podstawowe załoŝenia i parametry sieci
takie, jak wielkość sieci, typ okablowania, otrzymują od systemu EXSIEC poradę dotyczącą typu, konfiguracji i kosztu budowy sieci. Opis systemu EXSIEC System ekspertowy EXSIEC składa się z dwóch modułów: serwera, którego zadaniem jest zarządzanie wnioskowaniem i regułami dostępnymi w bazie wiedzy oraz kontrola dostępu poszczególnych uŝytkowników, program uŝytkownika apletu, umieszczonego na stronie internetowej. Zadaniem apletu jest konsultacja z uŝytkownikiem i przesyłanie danych do/z serwera. Po uruchomieniu serwera naleŝy wczytać zawartość bazy wiedzy i bazy pytań do uŝytkownika. Podczas wczytywania danych następuje sprawdzanie, czy wczytane zostały one poprawnie. Proces odbierania i wysyłania danych z apletu do serwera jest przedstawiony na rys1. Serwer umoŝliwia dopisywanie nowych reguł do bazy wiedzy. Dopisywanie moŝna wykonać na dwa sposoby: 1. edycja pliku z zawartością reguł, które są zapisane wg określonych zasad i dodanie nowych lub wykasowanie istniejących ręcznie. Błędy wynikające z nieprawidłowej edycji są wyświetlane podczas ponownego wczytywania bazy wiedzy, 2. korzystanie z wbudowanego w program edytora reguł. Po wywołaniu go, pojawia się odpowiednie okno, za pomocą którego moŝna dodawać nowe reguły.
START Pobranie pytania z serwera Wyświetlenie pytania przez serwer Wysłanie do serwera odpowiedzi uŝytkownika Wnioskowanie w serwerze NIE Czy znaleziono odpowiedź? TAK Wyślij odpowiedź do apletu STOP Rys1. Przebieg komunikacji pomiędzy apletem i serwerem w systemie EXSIEC Aby utworzyć regułę, naleŝy ją złoŝyć z pojedynczych faktów. Po włączeniu modułu dopisywania faktów, w okienku pojawia się lista do-
stępnych aktualnie faktów. Zaznaczenie jednego z nich powoduje wyświetlenie dostępnych dla niego odpowiedzi. Po przypisaniu odpowiedzi do faktu zostaje wyświetlona reguła. Aby zapisane dane były dostępne podczas aktualnego wnioskowania, naleŝy po wyjściu z modułu aktualizowania reguł, wczytać ponownie bazę wiedzy do programu. Implementacja komputerowa systemu ekspertowego EXSIEC to program o takiej samej nazwie napisany w języku Java za pomocą środowiska programistycznego Symantac VisualCafe. Język Java umoŝliwia uruchomienie napisanych w tym języku programów na dowolnej platformie systemowej, dlatego teŝ istotną cechą systemu EXSIEC jest jego dostępność w wielu systemach. Wszystkie dane zawierające reguły zostały umieszczone w oddzielnych plikach, dzięki czemu nie ma moŝliwości ingerencji uŝytkownika w kod programu, co mogłoby spowodować pogorszenie pracy systemu ekspertowego EXSIEC. Jednak ciągłe pobieranie danych z pliku, potrzebnych do konsultacji, mogłoby spowolnić działanie systemu. Dlatego została zastosowana dynamiczna tablica danych. Działanie jej polega na tym, Ŝe jest ona umieszczona w pamięci komputera, a wszystkie informacje niezbędne do poprawnej pracy systemu są wczytywane do niej podczas uruchamiania systemu EXSIEC. Dzięki zastosowaniu takiego rozwiązania, czas oczekiwania na reakcję systemu (pytanie lub odpowiedź), jest krótszy niŝ 1 sekunda. Oczywiście, jeśli baza wiedzy będzie bardzo rozbudowana, czas ten się wydłuŝy lecz i tak wnioskowanie będzie przebiegało szybko i sprawnie.
Wszystkie dane potrzebne serwerowi do poprawnej pracy są umieszczone w oddzielnych plikach znajdujących się w aktualnym katalogu programu. Nazwy i ścieŝki do plików moŝna dowolnie zmieniać, lecz naleŝy je wtedy uaktualnić w programie. MoŜna równieŝ dokonać zmian adresu i portu, do którego jest przyłączany aplet uŝytkownika. W aplecie uŝytkownik ma moŝliwość konsultacji z systemem ekspertowym. Odbywa się to za pomocą wybierania dostępnych odpowiedzi, czy wpisywania danych liczbowych. MoŜliwe jest równieŝ korzystanie z pomocy, dającej dodatkowe informacje o zadanym pytaniu oraz śledzenie przebiegu procesu wnioskowania. System informuje uŝytkownika, czy naleŝy wybrać dane z listy, czy wprowadzić wartość liczbową. Wskazują to komunikaty wyświetlane nad odpowiednim polem. Gdy system wymaga wybrania dostępnej odpowiedzi, pole do wpisywania danych staje się nieaktywne, natomiast gdy wymaga wpisania wartości liczbowych nieaktywne jest pole wyboru danych z listy. Dzięki temu moŝliwe jest wybranie tylko wartości występujących w bazie wiedzy. Gdy konsultacja systemu ekspertowego EXSIEC z uŝytkownikiem zostanie zakończona, na ekranie monitora zostaje wyświetlona odpowiedź systemu. System moŝe wyświetlić więcej niŝ jedną odpowiedź, gdy podane przez uŝytkownika warunki stawiane sieci komputerowej spełnia więcej niŝ jedna reguła.
Przebieg procesu wnioskowania Przebieg procesu wnioskowania w systemie EXSIEC oparty jest o następujące trzy elementy funkcjonalne: system sterujący, który wyznacza kolejność testowania reguł zawartych w bazie wiedzy, interpreter reguł, określający wartość logiczną (prawda jako 1, nieprawda jako 0) wniosków reguł, system wyjaśniający, który uzasadnia uŝytkownikowi przebieg procesu wnioskowania i generuje raporty wnioskowania. Wnioskowanie w systemie EXSIEC prowadzone jest w oparciu o dane będące albo deklaracjami uŝytkownika, albo wnioskami wynikającymi z dotychczasowych wnioskowań. Bez względu na pochodzenie, dane te przechowywane są w dynamicznej bazie danych, skąd są odczytywane przez mechanizm wnioskujący w trakcie testowania dalszych reguł. W systemie ekspertowym EXSIEC wykorzystywana jest metoda wnioskowania w przód, za pomocą której szukana jest odpowiedź interesująca uŝytkownika. Metodę wnioskowania w przód moŝna określić jako metodę od warunków do wniosku. Na podstawie zadeklarowanych przez uŝytkownika wartości logicznych warunków dopytywalnych system ekspertowy określa wartość logiczną wniosków z bazy reguł. Kolejne kroki algorytmu wnioskowania w przód są następujące: krok 1. Utwórz początkowy zbiór faktów, który został wygenerowany z warunków dopytywalnych oraz pewnej bazy ograniczeń uzyskanej na podstawie konwersacji na linii uŝytkowniksystem ekspertowy.
krok 2. Utwórz elementarną bazę reguł. krok 3. Wyznacz kolejno wnioski dla reguł, dla których wszystkie warunki stanowią fakty, lecz których wnioski nie znajdują się jeszcze w zbiorze faktów. krok 4. Uzupełnij zbiór faktów o wygenerowane wnioski. krok 5. Powtarzaj czynności z kroków 3 i 4 aŝ do momentu, w którym nie będzie moŝliwe wygenerowanie nowych faktów. Wygenerowanie nowych faktów odbywa się cyklami. W kaŝdym cyklu sprawdzane są wszystkie reguły i generowane są nowe wnioski. Wnioski te stają się nowymi faktami i tak aŝ do momentu, gdy system nie wygeneruje nowego wniosku. Po utworzeniu kopii bazy faktów (w dynamicznej bazie faktów) pobierane są kolejno cyklami reguły z bazy wiedzy. Celem wnioskowania jest wyznaczenie wszystkich faktów wynikających z elementarnej bazy reguł oraz ze zbioru tych warunków dopytywalnych, które uznane zostały za fakty. Wyznaczane są wartości logiczne wniosków dla kolejnych reguł uzyskane na podstawie wartości logicznych warunków dla kaŝdej reguły. Z kolei wartości logiczne warunków dla kolejnych reguł uzyskiwane są na podstawie pytań zadawanych uŝytkownikowi systemu ekspertowego. JeŜeli iloczyn wartości logicznych warunków dla danej reguły posiada wartość logiczną 0, to reguła ta jest pomijana i oznacza to, Ŝe nie jest ona spełniona. JeŜeli natomiast iloczyn wartości logicznych warunków dla danej reguły posiada wartość logiczną 1, to reguła ta jest spełniona i wniosek tej reguły staje się faktem.
JeŜeli w jakimś cyklu wnioskowania reguła została spełniona i jej wniosek został uznany za fakt i zapisany w dynamicznej bazie faktów, to w następnym cyklu wnioskowania reguła ta będzie pominięta. System EXSIEC 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 EXSIEC. W systemie ekspertowym EXSIEC istnieje dodatkowo dynamiczna tablica wnioskowania, w której przechowywane są wiadomości na temat aktualnie testowanych reguł. Wiadomości te dotyczą informacji, czy po dotychczasowym przebiegu wnioskowania odpowiednie reguły są spełnione, czy teŝ nie oraz które reguły podczas kolejnych kroków działania systemu są zgodne z zadanymi przez uŝytkownika warunkami. Dynamiczna tablica wnioskowania jest równieŝ odpowiedzialna za to, aby system nie powtarzał ponownie tych samych pytań, a takŝe, po zakończeniu wnioskowania określa jakie inne reguły są spełnione dla interesujących uŝytkownika faktów.
Komórki tablicy wnioskowania mogą osiągać następujące wartości logiczne: 1 gdy rozpatrywane reguły są spełnione dla analizowanych faktów, 0 gdy rozpatrywane reguły nie są spełnione dla analizowanych faktów. System EXSIEC przed rozpoczęciem wnioskowania wczytuje wszystkie reguły i fakty do dynamicznej bazy danych, następnie umieszcza w pamięci wszystkie zapytania do uŝytkownika i przypisane do nich odpowiedzi. Uruchomienie wnioskowania powoduje odnalezienie pierwszej reguły z listy i zadanie pytania powiązanego z pierwszym faktem z listy. System, po otrzymaniu odpowiedzi od uŝytkownika, sprawdza poprawność faktu i jeśli jest on spełniony, zaznacza w tablicy wnioskowania ten wynik, wstawiając 1. Następnie dokonuje analizy dalszych reguł pod kątem poprawności aktualnego faktu i wypełnia tą tablicę. Natomiast, jeśli reguła nie jest spełniona, zaznacza to w tablicy wnioskowania, ustawiając w odpowiednim polu 0 i rozpoczyna szukanie następnej, poprawnej reguły. Aby moŝna było wysłać następne pytanie uŝytkownikowi, naleŝy sprawdzić jaki jest następny fakt. W tym celu program pobiera pierwszą regułę z dynamicznej tablicy wnioskowania, która posiada wartość 1 i wyszukuje pytanie dla następnego znajdującego się tam faktu. Porównywanie faktów dla pozostałych pytań odbywa się tylko dla reguł, których wszystkie rozpatrywane fakty zostały uzgodnione i zaznaczone jako 1 w tablicy wnioskowania. Dzięki temu znacznie ogranicza
się liczbę elementów podlegających wnioskowaniu i uzyskuje się przyspieszenie działania tego modułu. Gdy zostanie uzgodniony ostatni fakt, konkluzja staje się prawdziwa lecz system sprawdza jeszcze czy inne reguły są oznaczone jako poprawne (ich numery mają ustawione wartości pola na 1 ). Dopiero po przeanalizowaniu tych danych, odpowiedź jest wyświetlana uŝytkownikowi. Uwagi końcowe System ekspertowy EXSIEC został poddany badaniom testującym. Wykazały one duŝą przydatność tego systemu przy projektowaniu bądź modernizacji lokalnych sieci komputerowych. Wiedza zawarta w bazie wiedzy wystarcza na udzielanie porad i odpowiedzi na najbardziej nurtujące projektanta sieci komputerowej pytania. System EXSIEC moŝe podać więcej niŝ jedno rozwiązanie. Daje to uŝytkownikowi moŝliwość wyboru odpowiedniego typu sieci spośród wszystkich spełniających jego warunki. Jest to bardzo waŝne podczas wnioskowania, gdyŝ nie ogranicza liczby dostępnych odpowiedzi. Przedstawiony w pracy system ekspertowy EXSIEC jest potwierdzeniem moŝliwości wykorzystania metod sztucznej inteligencji w praktycznych zastosowaniach do wspomagania procesów decyzyjnych. Ciągły postęp techniczny, rozwój róŝnych gałęzi gospodarki, a tym samym coraz większa liczba danych przetwarzanych przez komputer skłaniają do stwierdzenia, Ŝe zapotrzebowanie na nowe systemy ekspertowe będzie ciągle rosło.
Literatura [Buch03] Buchalski Z.: Pewien model nabywania wiedzy i wnioskowania na elementach ramowej bazy wiedzy systemu ekspertowego, [w:] InŜynieria wiedzy i systemy ekspertowe, t.2, Bubnicki Z., Grzech A. (red.), Oficyna Wydawnicza PWr., str. 78-86, Wrocław 2003. [Buch04] Buchalski Z.: Komputerowe wspomaganie podejmowania decyzji z wykorzystaniem regułowego systemu ekspertowego, [w:] Komputerowo zintegrowane zarządzanie, t.1, Knosala R. (red.), WNT, str. 156-164, Warszawa 2004. [ChSt94] Chromiec J., Strzemieczna E.: Sztuczna inteligencja. Metody konstrukcji i analizy systemów eksperckich, Akademicka Oficyna Wydawnicza PLJ, Warszawa 1994. [Mula96] Mulawka J. J.: Systemy ekspertowe, WNT, Warszawa 1996. [Radz90] Radzikowski W.: Komputerowe systemy wspomagania decyzji, PWE, Warszawa 1990. [WaNe99] Wagner B., Negus C.: Sieci komputerowe nie tylko dla orłów, Intersofland, Warszawa 1999. [Ziel00] Zieliński S.: Inteligentne systemy w zarządzaniu. Teoria i praktyka, PWN, Warszawa 2000. Dr inŝ. Zbigniew Buchalski Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska ul. Janiszewskiego 11/17 50-372 Wrocław Polska Numer telefonu (fax) +48/071/3203292 (+48/321/071/3212677) e-mail: zbigniew.buchalski@pwr.wroc.pl