SYSTEM EKSPERTOWY WSPOMAGAJĄCY PROJEKTANTA SIECI KOMPUTEROWYCH Streszczenie Zbigniew Buchalski Instytut Cybernetyki Technicznej Politechniki Wrocławskiej zbigniew.buchalski@pwr.wroc.pl W pracy przedstawiono pewna koncepcję systemu ekspertowego NETEX wspomagającego proces projektowania bądź modernizacji lokalnych sieci komputerowych. Podano sposób zarządzania wiedzą zawartą w bazie wiedzy oraz zaprezentowano mechanizm wnioskujący na elementach tej wiedzy. Słowa kluczowe: zarządzanie wiedzą, baza wiedzy, systemy ekspertowe 1. Wprowadzenie W ciągu ostatnich lat nastąpił gwałtowny rozwój specjalistycznych systemów komputerowych zawierających w sobie wiedzę ekspercką [Buch04,Mula96, Radz90, Ziel00], Rozwój techniki mikroprocesorowej doprowadził do tworzenia systemów ekspertowych na relatywnie tanim i ogólnie dostępnym sprzęcie komputerowym, dzięki czemu moŝliwy jest gwałtowny wzrost wykorzystania systemów ekspertowych w praktyce. Systemy ekspertowe pomocne są wszędzie tam, gdzie istnieje duŝy zasób wiedzy, w oparciu o którą trzeba podejmować wiele decyzji. Problematyka reprezentacji wiedzy jest jednym z najwaŝniejszych nurtów badań w dziedzinie sztucznej inteligencji [Buch03, ChSt94, Mula96]. 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. Łączenie komputerów w sieć jest obecnie jednym z najczęściej stosowanych sposobów podniesienia efektywności posiadanej infrastruktury informatycznej [WaNe99]. Zarówno w małych firmach, jak i w duŝych przedsiębiorstwach priorytetem jest ograniczenie kosztów i racjonalne gospodarowanie funduszami, a sieć komputerowa pozwalająca współuŝytkować zasoby informacyjne i sprzętowe oraz oszczędzać czas pracowników, priorytety te realizuje. W niniejszej pracy zaprezentowano pewna koncepcję regułowego systemu ekspertowego NE- TEX wspierającego projektanta sieci komputerowych. System NETEX 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 z dziedziny projektowania
502 Realizacja Systemów Wspomagania Organizacji i rozwiązania sieci komputerowych, zawartej w bazie wiedzy. W prezentowanej pracy przedstawiono mechanizm nabywania wiedzy i wnioskowania na elementach tej wiedzy zawartej w bazie wiedzy systemu NETEX. 2. Struktura bazy wiedzy systemu NETEX Wiedza zawarta w bazie wiedzy systemu ekspertowego NETEX ma charakter deterministyczny. Dla określonego zbioru faktów potwierdzonych czy zaprzeczonych przez uŝytkownika, wyniki konsultacji są określone jednoznacznie. WiąŜe się to z charakterem rozwiązywanych przez system NETEX problemów. Projektant sieci komputerowej, mimo Ŝe uwzględnia w projekcie wymagania uŝytkownika i inne specyficzne dla danego przypadku czynniki, to jednak porusza się po ograniczonej, z góry zadanej przestrzeni rozwiązań. Przestrzeń tą tworzą dostępne w danej chwili rozwiązania technologiczne (zarówno sprzętowe, jak i programowe), implementujące określone standardy sieciowe Wiedza zawarta w bazie wiedzy systemu NETEX została funkcjonalnie pogrupowana w czterech bazach. Ich strukturę oraz wzajemne powiązania ilustruje rys. 1. BAZA WIEDZY SYSTEMU NETEX Baza pytań Fakty Reguły Baza faktów Baza reguł Reguły dopytywania Baza wniosków Wnioski Reguły wnioskowania zasadniczego Rys. 1. Struktura bazy wiedzy systemu ekspertowego NETEX
System ekspertowy wspomagający projektanta sieci komputerowych 503 2.1. Baza faktów W bazie faktów przechowywane są wszystkie fakty uwzględniane w czasie przeprowadzania konsultacji z uŝytkownikiem. Fakty te wyraŝone są w języku naturalnym i opisują pewne cechy sieci komputerowych, dotyczące róŝnych aspektów jej działania. Bazę faktów systemu NETEX implementuje tabela fakty zapisane w bazie danych MySQL. Struktura tej tabeli jest następująca: Tabela 1 Struktura tabeli fakty systemu NETEX Pole Typ Atrybuty Null Domyślnie Dodatdatkowy fid opis Za utworzenie Tab.1. odpowiada poniŝszy kod w języku SQL: CREATE TABLE fakty ( fid not null, opis not null, primary key (fid) ); Analizując przestrzeń postawionego problemu wyodrębniono listę 52 faktów, na których opiera się system NETEX. KaŜdy z faktów został zaopatrzony w identyfikator składający się z litery F oraz trzycyfrowego numeru 2.2. Baza pytań Uznanie faktów za prawdziwe lub fałszywe dla konkretnego przypadku projektu sieci, odbywa się w pierwszej części konsultacji zwanej dopytywaniem uŝytkownika. Aby uczynić ten etap czytelnym dla uŝytkownika, kaŝdemu rozpatrywanemu faktowi przyporządkowano pytanie. Kolejność pytań zadawanych podczas procesu dopytywania, ustalana jest przez mechanizm wnioskujący na podstawie reguł przypisanych do kaŝdego pytania. Wyznaczają one numer następnego pytania w zaleŝności od dotychczas uzyskanych odpowiedzi uŝytkownika. Wszystkie te elementy powiązane są ze sobą w bazie pytań, która jest jednym ze składników bazy wiedzy systemu NETEX. Implementacją bazy pytań jest tabela pytania utworzona w bazie danych MySQL. Struktura tej tabeli jest następująca:
504 Realizacja Systemów Wspomagania Organizacji i rozwiązania Struktura tabeli pytania systemu NETEX Null Pole Typ Atrybuty id tresc fakty rozlaczne reguly_dop tinyint (1) Tak Tak Domyślnie Dodatdatkowy NULL NULL Tabela 2 Tabelę 2 utworzono wykonując następujące polecenie języka SQL: CREATE TABLE pytania ( id not null, tresc not null, fakty not null, rozlaczne bool, reguly_dop, primary key (id) ); KaŜdy rekord tabeli zawiera symbol pytania jednoznacznie je identyfikujący, składający się z litery Q oraz dwucyfrowego numeru. Ponadto przechowuje teŝ treść pytania, listę faktów ustalanych w wyniku tego pytania, znacznik określający, czy badane fakty są rozłączne oraz listę reguł dopytywania, potrzebnych do wyznaczenia numeru następnego pytania. W trakcie analizy problemu wyróŝniono 18 pytań, które pozwalają potwierdzić lub zanegować, w odniesieniu do rozwaŝanego projektu sieci, prawdziwość znanych systemowi faktów przechowywanych w bazie wiedzy. 2.3. Baza reguł Symbole reguł uŝyte w bazie pytań, to identyfikatory jednoznacznie opisujące reguły w bazie reguł systemu ekspertowego NETEX. Baza reguł przechowuje treść wszystkich reguł uŝywanych w systemie, zarówno tych kontrolujących proces dopytywania uŝytkownika, jak równieŝ pozwalających na sformułowanie końcowych wniosków. Baza reguł w systemie NETEX została zaimplementowana jako tabela reguły w bazie danych MySQL. W skład pojedynczego rekordu tabeli, opisującego jedną regułę, wchodzą pola zawierające:
System ekspertowy wspomagający projektanta sieci komputerowych 505 identyfikator reguły, listę przesłanek reguły, wniosek z zadanej reguły. Struktura tabeli regułyjest następująca: Tabela 3 Struktura tabeli reguły systemu NETEX Pole Typ Atrybuty Null Domyślnie Dodatdatkowy rid przeslanki wnioski RO FO W regułach dopytywania na liście przesłanek mogą wystąpić zarówno symbole faktów, jak i pytań. We wnioskach natomiast występują wyłącznie symbole pytań lub łańcuch STOP. Na przykład regułę dopytywania: rid przesłanki wnioski R003 F003, F010, Q04 Q34 naleŝy interpretować w następujący sposób: JEśELI uŝytkownik potwierdził fakt F003 i uŝytkownik potwierdził fakt F010 i zostało zadane pytanie Q04 TO zadaj pytanie Q34 Natomiast regułę dopytywania: rid przesłanki wnioski R020 F015, Q08 STOP naleŝy interpretować następująco: JEśELI uŝytkownik potwierdził fakt F015 i zostało zadane pytanie Q08, TO zakończ proces dopytywania.
506 Realizacja Systemów Wspomagania Organizacji i rozwiązania Przesłankami reguł uŝywanych przez system NETEX w procesie wnioskowania zasadniczego mogą być zarówno fakty zapisane w bazie faktów, jak i wnioski uaktywnionych innych reguł wnioskowania zasadniczego. Na przykład regułę: rid przesłanki wnioski R021 F003, F018 W068 naleŝy rozumieć jako: JEśELI uŝytkownik potwierdził fakt F003 i uŝytkownik potwierdził fakt F018, TO przyjmij wniosek W068. 2.4. Baza wniosków Ostatnim elementem tworzącym Bazę Wiedzy systemu NETEX jest baza wniosków. Zawiera ona wszystkie wnioski, które wynikają z badanych w trakcie procesu wnioskowania faktów. Wnioski te są zredagowane w taki sposób, aby stanowiły wytyczne projektowe podczas tworzenia sieci komputerowej. Ostatecznym wynikiem konsultacji z systemem jest lista wniosków z uaktywnionych reguł. Baza wniosków w systemie NETEX została zaimplementowana w postaci tabeli wnioski w bazie danych MySQL. Struktura tej tabeli jest następująca: Tabela 4 Struktura tabeli wnioski w systemie NETEX Pole Typ Atrybuty Null Domyślnie Dodatdatkowy wid tresc wyk_id text Znaczenie poszczególnych pól tabeli wnioski jest następujące: wid przechowuje identyfikator wniosku, tresc zawiera opis wniosku wyraŝony zdaniami oznajmującymi języka naturalnego, wyk_id przechowuje symbol wykluczenia, dzięki któremu w treści wyników konsultacji unika się umieszczania przeczących sobie wniosków.
System ekspertowy wspomagający projektanta sieci komputerowych 507 3. Mechanizm wnioskujący Mechanizm wnioskujący systemu NETEX stanowi program operujący na bazie wiedzy, który na podstawie dostępnych faktów, zgodnie z zadanymi przez inŝyniera wiedzy regułami, generuje wnioski konsultacji. Proces wnioskowania przebiega dwustopniowo. WyróŜnić moŝna etap dopytywania uŝytkownika i etap wnioskowania zasadniczego. Podczas etapu dopytywania uŝytkownika mechanizm wnioskujący pobiera z bazy wiedzy treść pytań zadawanych uŝytkownikowi. Interfejs systemu wyświetla na ekranie komputera treść pytania oraz treść faktów zapisanych w bazie wiedzy, powiązanych z danym pytaniem i będących jednocześnie moŝliwymi odpowiedziami do wybrania przez uŝytkownika. Fakt wybrany (potwierdzony) przez uŝytkownika zapisywany jest do utworzonej na początku konsultacji dynamicznej tablicy faktów zbadanych. Do tablicy tej dodawany jest równieŝ symbol zadanego pytania oraz poprzedzone znakiem - symbole faktów, które nie zostały wybrane (fakty zanegowane). Kolejną czynnością wykonywaną przez mechanizm wnioskujący podczas etapu dopytywania jest wybranie kolejnego pytania do zadania uŝytkownikowi. W tym celu z bazy reguł odczytywane są reguły powiązane z bieŝącym pytaniem. Symbole tworzące przesłanki pobranych reguł poszukiwane są w dynamicznej tablicy faktów zbadanych. Jeśli wszystkie elementy przesłanki zostaną w niej odnalezione, wówczas wniosek badanej reguły jest przyjmowany, tzn. tworzy symbol następnego pytania do zadania uŝytkownikowi. Mechanizm wnioskujący kontynuuje opisane wyŝej czynności dopóty, dopóki we wniosku uznanej reguły dopytywania nie napotka znaku STOP. Wówczas interfejs systemu wyświetla uŝytkownikowi stosowną informację, a maszyna wnioskująca rozpoczyna etap wnioskowania zasadniczego. W trakcie etapu wnioskowania zasadniczego mechanizm wnioskujący sprawdza, czy przesłanki reguł pobieranych z bazy wiedzy mają potwierdzenie w tablicy faktów zbadanych. Jeśli tak jest, reguła zostaje uaktywniona, a wniosek jest badany pod kątem wykluczenia z innymi wnioskami. Jeśli dany wniosek nie podlega wykluczeniu, odpowiedni tekst porady zostaje pobrany z bazy wniosków i wyświetlony na ekranie komputera, zaś symbol wniosku zostaje dodany do tablicy faktów zbadanych. 4. Podsumowanie Przedstawiony w pracy system ekspertowy NETEX moŝe słuŝyć uŝytkownikowi zarówno do określenia topologii lokalnej sieci komputerowej, technologii budowy tej sieci, jak i do oszacowania kosztów budowy sieci komputerowej. Baza wiedzy systemu ekspertowego NETEX składająca się z czterech elementów: bazy faktów, bazy pytań, bazy reguł i bazy wniosków jest strukturą przejrzystą i elastyczną dzięki zaimplementowaniu jej w systemie baz danych
508 Realizacja Systemów Wspomagania Organizacji i rozwiązania MySQL. Wzajemne powiązania pomiędzy tymi elementami sprawiają, Ŝe łatwo jest kontrolować spójność bazy wiedzy i poprawność reprezentacji wiedzy z dziedziny projektowania sieci komputerowych. Literatura [Buch03] [Buch04] [ChSt94] 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., Wrocław,2003, s. 78-86 Buchalski Z.: Komputerowe wspomaganie podejmowania decyzji z wykorzystaniem regułowego systemu ekspertowego, w: Komputerowo zintegrowane zarządzanie, t.1, Knosala R. (red.), WNT, Warszawa, 2004, s. 156-164 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 J. S.: Inteligentne systemy w zarządzaniu. Teoria i praktyka, PWN, Warszawa, 2000 Expert system for the needs of computer networks designer In the paper an conception of expert system NETEX for the needs of design process and modernization of local area networks is described. An model of knowledge management and reasoning mechanism on the elements of knowledge are considered. Key words: knowledge management, knowledge base, expert systems