Rozdział 17 Komputerowe wspomaganie procesu decyzyjnego w oparciu o system z bazą wiedzy Streszczenie. Celem pracy jest przedstawienie systemu ekspertowego KOMEX wspomagającego diagnozowanie uszkodzeń telefonów komórkowych. System ten ma wspierać pracowników serwisu telefonów komórkowych w rozpoznawaniu uszkodzeń oraz dążyć do ich usunięcia. Przedstawiono budowę systemu KOMEX, jego implementację komputerową oraz wyniki testowania systemu w warunkach rzeczywistych. 1 Wstęp W erze komputerów, telekomunikacji i nowych technologii, gdzie sprzęt elektroniczny produkowany jest w milionach egzemplarzy, powstaje problem naprawy usterek w budowanych i eksploatowanych urządzeniach. W obecnych czasach, gdy technologia bardzo się rozwija, wiele produktów bardziej opłaca się naprawiać niż wymieniać na nowe. Dotyczy to również branży telefonów komórkowych, gdzie praktycznie co miesiąc wypuszczane są na rynek nowe modele telefonów. Obecnie na rynku telefonów komórkowych w Polsce jest czterech operatorów, którzy zajmują się sprzedażą usług telekomunikacyjnych i telefonów. Szacuje się, że na rynku polskim jest prawie 38 milionów kart SIM, a co za tym idzie do ich obsługi potrzebna jest podobna liczba telefonów. Wysoką jakość procesów decyzyjnych, zgodnie z akceptowaną przez użytkowników strategią, można zapewnić przez wykorzystanie systemu ekspertowego do wspomagania decyzji. Systemy ekspertowe stanowiące bazodanowe systemy informatyczne są jednym z najważniejszych rezultatów badań nad sztuczną inteligencją prowadzonych od wielu lat [4], [5]. Zajmują bardzo ważną pozycję w informatyce i mają szerokie zastosowanie niemal w każdej dziedzinie. Są one z powodzeniem stosowane w roli systemów diagnostycznych, doradczych, prognozujących, klasyfikujących i monitorujących [1], [2], [3], [7], [8]. Zadaniem przedstawionego w niniejszej pracy systemu ekspertowego KOMEX jest wypracowanie takich decyzji, które wspomagałyby pracowników serwisu telefonów komórkowych w rozpoznawaniu uszkodzeń telefonów komórkowych oraz ich usuwaniu tak, aby dostosować się do wciąż rosnących potrzeb klientów. Zbigniew Buchalski Politechnika Wrocławska, Instytut Informatyki, Automatyki i Robotyki, ul. Janiszewskiego 11/17, 50-372 Wrocław, Polska email: zbigniew.buchalski@pwr.wroc.pl
Z. Buchalski 2 Założenia i cel budowy systemu KOMEX System ekspertowy KOMEX ma znaleźć zastosowanie w serwisie telefonów komórkowych obsługiwanym przez kilkudziesięciu techników, gdzie rotacja pracowników jest duża, a co za tym idzie szkolenie pracowników jest czasochłonne i kosztowne. Zbudowany system ma wspierać początkujących pracowników serwisu w rozpoznaniu problemów oraz dążyć do ich usunięcia. Warto wspomnieć, że obecnie wiele serwisów działa jako gwarancyjne punkty naprawcze producentów różnych typów telefonów komórkowych i z punktu widzenia producenta w wielu przypadkach uszkodzony telefon bardziej opłaca się naprawiać niż wymieniać na nowy, gdyż uszkodzenia nie są tak drogie do usunięcia jak wymiana produktu na nowy. Dlatego warto zbudować system ekspertowy diagnozujący usterki w telefonach komórko-wych. Dzięki takiemu systemowi można zmniejszyć koszty utrzymania pracownika pod-czas jego początkowego szkolenia, którego wiedza o uszkodzeniach telefonów jest bardzo mała. System ekspertowy KOMEX ma za zadanie, na podstawie informacji o usterkach telefonu, postawić diagnozę na temat uszkodzonych elementów. 3 Ogólna charakterystyka rynku telefonów komórkowych Współczesny telefon komórkowy oprócz realizowania podstawowej funkcji, czyli prowadzenia rozmowy z reguły wyposażony jest w wiele dodatkowych opcji, które albo wykorzystują właściwości sieci, takie jak: krótkie wiadomości tekstowe lub ich rozwinięcia, wiadomości multimedialne, czy cyfrowa transmisja danych. Obecnie sprzedawane telefony mają często wbudowany aparat cyfrowy a także takie opcje, jak: budzik, notes, organizer, kalkulator, dyktafon. Aparaty pracujące w technologii UMTS oferują możliwość prowadzenia wideokonferencji. Poprzez wykorzystanie języka programowania Java istnieje możliwość tworzenia aplikacji dla telefonów komórkowych. Dla telefonów nowszych generacji udostępniane są środowiska deweloperskie np. dla systemów Symbian, czy Linux, które umożliwiają tworzenie aplikacji bezpośrednio na platformę systemową obsługującą dany telefon. Do telefonów stosuje się różnego rodzaju karty pamięci typu Flash EEPROM, między innymi MS (ang. Memory Stick), MMC (ang. Mobile Media Card), SDC (ang. Secure Digital Card). Telefony o rozbudowanych funkcjach zawierają często programy takie, jak wykorzystywane w komputerach typu arkusz kalkulacyjny, prezentacje, itp. Ze względu na zewnętrzny wygląd telefony komórkowe można podzielić na: standardowy telefon bez części ruchomych, telefon z klapką, telefon z częścią osuwaną (np. klawiaturą). Obecnie na rynku można spotkać najwięcej telefonów komórkowych firmy Nokia, która jest absolutnym liderem na świecie. Kolejne pozycje zajmują: Motorola, Sony Ericsson, Samsung, LG oraz Siemens. W telefonie komórkowym można spotkać następujące rodzaje uszkodzeń: mechaniczne, programowe oraz elektroniczne. Uszkodzenia mechaniczne związanie są najczęściej z elementami znajdującymi się na zewnątrz telefonu np. obudowa, klapka lub wewnątrz takimi, jak: wyświetlacz, głośnik, mikrofon, płyta główna, itp. Uszkodzenia programowe wiążą się najczęściej z błędami w oprogramowaniu powstającymi podczas użytkowania telefonu. Usterki elektroniczne to najczęściej uszkodzenia elementów znajdujących się na 196
Komputerowe wspomaganie procesu decyzyjnego w oparciu o system z bazą wiedzy płycie głównej takich, jak: elementy SMD (np. rezystory, kondensatory, diody) lub układy elek-troniczne (np. układy w bloku zasilania, układy pamięci). Jest to podział ogólny uszkodzeń. W celu zbudowania systemu KOMEX usterki podzielono bardziej szczegółowo na uszko-dzenia związane: z zasilaniem, z siecią, z uszkodzeniami mechanicznymi, z kartą SIM, z ładowaniem, z oprogramowaniem, z przesyłaniem danych, audio oraz z akcesoriami. 4 Budowa systemu ekspertowego KOMEX System KOMEX zbudowany jest z tych samych podstawowych elementów, co każdy system ekspertowy i składa się z bazy wiedzy, mechanizmu wnioskowania oraz interfejsu komunikacji z użytkownikiem. Baza wiedzy systemu KOMEX składa się z faktów i reguł. Fakty, zwane przesłankami, występują w formie pytań, na które możliwe jest od dwóch do kilku odpowiedzi. Liczba przesłanek reguł w bazie wiedzy wynosi ponad sto. Poniżej przedstawiono klika przykładowych faktów, natomiast w nawiasach umieszczono możliwe odpowiedzi na zadane pytania: Czy telefon włącza się? {nie; okresowo; włącza się i wyłącza; tak}, Czy wgrano nowe oprogramowanie? {tak; nie}, Czy w telefonie jest aktywna karta SIM? {tak; nie}, Czy telefon przerywa rozmowy/połączenia? {tak, przychodzące; tak, wychodzące; rozłącza połączenia; nie}, Czy antena w telefonie jest uszkodzona? {tak; nie}. Reguły składają się z jednej lub kilku przesłanek wraz z odpowiedzią na zadane pytanie oraz końcową informacją o uszkodzonym elemencie. Informacja końcowa nazywana jest także konkluzją. Poniżej przedstawione zostaną przykładowe reguły zawarte w bazie wiedzy systemu KOMEX: Przyczyna: wgrać nowe oprogramowanie Czy telefon blokuje się i zawiesza? nie Czy telefon samoczynnie się restartuje? nie Czy telefon restartuje się przy nacisku na klawiaturę? nie Czy w telefonie wszystkie aplikacje działają poprawnie? nie, Przyczyna: wymienić złącze karty SIM na płycie głównej Czy na wyświetlaczu pojawia się informacja? niewłaściwa/odrzucona karta SIM Czy wgrano nowe oprogramowanie? tak Czy złącze karty SIM na płycie głównej jest uszkodzone? tak, Przyczyna: wymienić układy elektroniczne w bloku zasilania Czy telefon włącza się przy nowej baterii? nie Czy układy elektroniczne w bloku zasilania działają? nie. Reguły w systemie ekspertowym KOMEX można przedstawić w postaci drzewa decyzyjnego. Korzeń drzewa powstaje w momencie wybrania pierwszego faktu, a następnie wybierając odpowiedzi można przejść do poszczególnych gałęzi drzewa. Końcową konkluzję otrzymujemy po przejściu wszystkich faktów danej reguły. Na poniższym rysunku przedstawiono fragment drzewa decyzyjnego systemu KOMEX: 197
Z. Buchalski Rys 1. Fragment drzewa decyzyjnego systemu ekspertowego KOMEX Wnioskowanie w systemie KOMEX odbywa się w przód. Algorytm wnioskowania w przód rozpoczyna się od umieszczenia hipotezy na stosie zadań. Następnie system przegląda listę faktów w bazie wiedzy, sprawdzając czy nie ma tam odpowiedzi na postawioną hipotezę. Jeżeli znajduje się tam już fakt, który daje się dopasować do hipotezy, to nas-tępuje zakończenie procesu wnioskowania i jest generowany odpowiedni komunikat. W przypadku, gdy po przejrzeniu całej bazy faktów system nie może dać odpowiedzi na postawioną hipotezę, podejmowane są kroki w wyniku których generowane są nowe fakty. Uruchamiane są reguły, których przesłanki są prawdziwe. Wyznacza się zbiór reguł możliwych do zastosowania w danym etapie wnioskowania. Wybierana i uaktywniana jest jedna z reguł. Proces wnioskowania jest kontynuowany tak długo, aż zostanie osiągnięty cel lub gdy nie można uaktywnić więcej reguł. Algorytm wnioskowania w przód przedstawiony został na rys. 2 [6]. Na pierwszym etapie procesu wnioskowania prowadzonego przy wykorzystaniu systemu KOMEX następuje wybór rodzaju usterki telefonu, którą należy usunąć. Wybrane zostają następujące rodzaje uszkodzeń: zasilanie, mechaniczne, sieć, SIM, ładowanie, oprogramowanie, przesyłanie danych, audio oraz akcesoria. Następnie algorytm wnioskowania w systemie KOMEX dąży do umieszczenia pierwszego faktu na stosie zadań. Później system sprawdza, czy istnieje reguła, która może zostać uaktywniona na podstawie faktu z bazy wiedzy. Jeśli nie można dopasować żadnej reguły, to system KOMEX zadaje kolejne pytania dotyczące usterki, aż do momentu trafienia na odpowiednią. Jeżeli system otrzyma wszystkie informacje o poprawnej regule, to kończy pracę i formułuje odpowiedź. Natomiast, jeśli system nie dostał wszystkich odpowiedzi dotyczących danej reguły, to zadaje kolejne pytania. Każdy proces zadawania pytań kończy się odpowiedzią i informacją, w jaki sposób doszło do usterki telefonu, czyli odpowiednim wnioskowaniem. 198
Komputerowe wspomaganie procesu decyzyjnego w oparciu o system z bazą wiedzy START Weź hipotezę ze szczytu stosu zadań T Czy w bazie wiedzy na liście faktów jest odpowiedź na postawioną hipotezę N Określ reguły, których przesłanki znajdują się na liście faktów Wybierz regułę stosując strategię wnioskowania N Czy istnieje reguła, którą nożna uaktywnić? T Uaktywnij wybraną regułę Dopisz nowe fakty do listy faktów, zaznacz użycie uaktywnionej reguły Sformułuj odpowiedź STOP Rys. 2. Schemat algorytmu wnioskowania w przód 5 Implementacja komputerowa systemu KOMEX System ekspertowy KOMEX został zaimplementowany w postaci programu o takiej samej nazwie i napisanego w języku C++Builder6.Baza wiedzy systemu ekspertowego 199
Z. Buchalski zbudowana jest z reguł i faktów. Założenia, jakie przyjęto podczas budowy systemu są następujące: liczbę reguł na poziomie 150-170, skuteczność w warunkach rzeczywistych na poziomie 80-95%, diagnozowanie usterek w różnych markach telefonów komórkowych. Przy budowie bazy wiedzy programu KOMEX korzystano z pomocy dwóch ekspertów w dziedzinie serwisowania telefonów komórkowych. Pierwszym ekspertem był technik, który naprawia średnio siedemset telefonów miesięcznie i pracuje w tej branży od ponad pięciu lat. Drugą osobą był pracownik działu obsługi klienta w serwisie mający doświadczenie dwuletnie w branży telefonów komórkowych. Zbudowany interfejs użytkownika pozwala na sterowanie dialogiem pomiędzy człowiekiem a programem komputerowym KOMEX. Interfejs ma postać bardzo prostą, bo konsolową. Sterowanie dialogiem pomiędzy użytkownikiem a komputerem odbywa się poprzez wybranie odpowiedniej liczby z zakresu podanego przy każdym pytaniu. Analiza efektywności wymuszała wprowadzenie wielu zmian w programie podczas budowy i testowania, dlatego zbudowany system KOMEX jest bardzo prosty w obsłudze, podatny na modyfikacje, a jego interfejs ma postać jasną i czytelną. 6 Testowanie systemu KOMEX Testowanie systemu KOMEX miało wykazać poprawność działania programu oraz pomóc w wykryciu usterek związanych ze spójnością bazy wiedzy. Test programu KOMEX polegał na sprawdzeniu przebiegu procesu wnioskowania systemu ekspertowego przy diagno-zowaniu uszkodzeń przyjętych jako przykładowe przed rozpoczęciem udzielania odpowie-dzi na pytania. Po otrzymaniu odpowiedzi z systemu KOMEX sprawdzano końcową dia-gnozę z przyjętymi założeniami początkowymi. Uszkodzenia programowe związanie są najczęściej z błędami aplikacji lub oprogramowania w telefonach komórkowych. Najczęstszą diagnozą systemu KOMEX dla usterek związanych z oprogramowaniem jest wgranie nowego oprogramowania. Przykładowy sposób wnioskowania dla uszkodzeń programowych telefonów komórkowych jest następujący: Usterka: Brak gier w telefonie, sam się przestawia zegar i data Prawdopodobne uszkodzenie: Oprogramowanie Odpowiedzi użytkownika na pytania zadawane przez program KOMEX: Wybierz rodzaj uszkodzenia telefonu? oprogramowanie Czy telefon blokuję się i zawiesza? nie Czy telefon samoczynnie się restartuje? nie Czy telefon restartuje się przy nacisku na klawiaturę? nie Czy w telefonie wszystkie aplikacje działają poprawnie? nie Diagnoza systemu KOMEX: Wgrać nowe oprogramowanie Uszkodzenia sprzętowe związanie są najczęściej z usterkami mechanicznymi telefonu (uszkodzenia głośników, wyświetlacza, wibracji czy mikrofonu) oraz elektronicznymi (uszkodzenia układów elektronicznych, układów pamięci, złącza ładowania). Najczęstszą diagnozą systemu KOMEX dla usterek związanych z powyższymi uszkodzeniami jest wymiana błędnie działających elementów. 200
Komputerowe wspomaganie procesu decyzyjnego w oparciu o system z bazą wiedzy Przykładowy sposób wnioskowania dla uszkodzeń sprzętowych telefonów komórkowych jest następujący: Usterka: Na wyświetlaczu telefonu są pionowe czerwone paski Prawdopodobne uszkodzenie: Uszkodzony wyświetlacz Odpowiedzi użytkownika na pytania zadawane przez program KOMEX: Wybierz rodzaj uszkodzenia telefonu? mechaniczne Czy w telefonie jest uszkodzony? wyświetlacz Czy na wyświetlaczu jest obraz? tak, częściowy Czy wyświetlacz jest wylany/pęknięty? nie Czy wgrano nowe oprogramowanie? tak Diagnoza systemu KOMEX: Wymienić wyświetlacz na nowy. Zbadanie efektywności programu KOMEX polegało na sprawdzeniu poprawności, jakości i efektywności zbudowanych reguł w bazie wiedzy oraz przetestowaniu powstałego programu w warunkach rzeczywistych, czyli w serwisach telefonów komórkowych. Analizę efektywności programu KOMEX przeprowadzono w czterech serwisach telefonów komórkowych. Dwa serwisy to punkty typu skup-sprzedaż telefonów, pozostałe dwa to autoryzowane serwisy producentów telefonów komórkowych, posiadające odpowiednie certyfikaty firmowe. Testy programu były prowadzone przez pięć osób. Trzy osoby pracowały w serwisach autoryzowanych, natomiast dwie w komisach. Zasady testu były następujące: przed naprawą technik sprawdzał odpowiedź systemu ekspertowego KOMEX na podstawie uszkodzeń oraz informacji o usterce otrzymanej od właściciela telefonu i porównywał ją z nazwami wymienionych elementów w trakcie naprawy telefonu. Wynik testu był określany jako pozytywny lub negatywny. Jako wynik pozytywny przyjęto wartość jeden, a jako negatywny wartość zero. W sumie sprawdzono dwieście telefonów, z czego pięćdziesiąt w komisach, a sto pięćdziesiąt w serwisach autoryzowanych. W tabeli 1 przedstawiono informacje dotyczące poprawnych diagnoz systemu ekspertowego KOMEX dla poszczególnych modeli w serwisie nieautoryzowanym. Skutecznością nazwano liczbę poprawnie rozpoznanych usterek w stosunku do liczby wszystkich bada-nych telefonów i podano ją jako wartość procentową. Tabela 1. Liczba poprawnych diagnoz dla poszczególnych modeli telefonów serwis nieautoryzowany Serwis nieautoryzowany Lp. Marka telefonu Liczba Liczba Liczba Skuteczność poprawnie telefonów nierozpoznanych [%] rozpoznanych 1 Nokia 13 12 1 92,31 2 SonyEricsson 12 11 1 91,67 3 Sagem 4 4 0 100,00 4 LG 3 3 0 100,00 5 Samsung 4 4 0 100,00 6 Motorola 6 3 3 50,00 7 Siemens 6 6 0 100,00 201
Z. Buchalski 8 SPV 1 1 0 100,00 9 NEC 1 1 0 100,00 Suma 50 45 5 90,00 W tabeli 2 przedstawiono informacje dotyczące poprawnych diagnoz systemu ekspertowego KOMEX dla poszczególnych modeli w serwisie autoryzowanym. Podobnie jak w tabeli 1 skutecznością nazwano liczbę poprawnie rozpoznanych usterek w stosunku do licz-by wszystkich badanych telefonów i podano ją jako wartość procentową. Tabela 2. Liczba poprawnych diagnoz dla poszczególnych modeli telefonów serwis autoryzowany Serwis nieautoryzowany Lp. Marka telefonu Liczba Liczba Liczba Skuteczność poprawnie telefonów nierozpoznanych [%] rozpoznanych 1 Nokia 100 93 7 93,00 2 SonyEricsson 50 45 5 90,00 Suma 150 12 12 92,00 W tabeli 3 zebrano informacje dotyczące skuteczności systemu ekspertowego KOMEX dla poszczególnych modeli w serwisie nieautoryzowanym i autoryzowanym. Tabela 3. Skuteczność systemu w serwisie nieautoryzowanym i autoryzowanym Skutecznośc [%] Lp. Marka telefonu Serwis nieautoryzowany Serwis autoryzowany 1 Nokia 92,31 93,00 2 SonyEricsson 91,67 90,00 3 Sagem 100,00 0 4 LG 100,00 0 5 Samsung 100,00 0 6 Motorola 50,00 0 7 Siemens 100,00 0 8 SPV 100,00 0 9 NEC 100,00 0 Suma 90,00 92,00 Skuteczność zbudowanego systemu ekspertowego w serwisach autoryzowanych wynosiła 92%, natomiast w komisach 90%, a ogólna liczba przetestowanych telefonów to dwieście. Najwięcej było uszkodzeń związanych z oprogramowaniem telefonu.. Kolejną grupą usterek były uszkodzenia mechaniczne związane z wymianą głośnika (14%) lub wymianą wyświetlacza (ponad 7%). Koszt naprawy najczęściej występujących usterek nie jest duży i w związku z tym naprawa takiego telefonu jest opłacalna. 202
7 Uwagi końcowe Komputerowe wspomaganie procesu decyzyjnego w oparciu o system z bazą wiedzy Podstawowym celem budowy systemu KOMEX było wykorzystanie tego systemu w diagnostyce uszkodzeń i naprawie telefonów komórkowych. W przyszłości można wykonać wiele zmian w oprogramowaniu tego systemu tak, aby mógł on być bardziej przydatny we wspomaganiu pracy pracowników serwisu telefonów komórkowych. Zmiany, jakie można wykonać są następujące: podział na poszczególne modele telefonów związane z producentami telefonów komórkowych, wprowadzanie nowych usterek telefonów do programu wraz z pojawianiem się nowych modeli telefonów komórkowych, wykonanie większej liczby testów programu w warunkach rzeczywistych, zbudowanie interfejsu graficznego. Jednym z elementów, które można dopracować w przyszłości w programie KOMEX jest interfejs graficzny użytkownika. Obecnie interfejs jest w formie najprostszej, czyli konsolowej. Podczas budowy programu KOMEX i jego testowania, interfejs użytkownika ulegał częstym zmianom. Dlatego też został on zbudowany w prosty i szybki sposób. Interfejs graficzny ułatwia kontakt pomiędzy użytkownikiem a systemem ekspertowym. Jest środowiskiem bardziej przyjaznym niż wersja konsolowa interfejsu. Wszystkie pytania i odpowiedzi są bardziej przejrzyste i lepiej widoczne. Jedynym minusem przy tworzeniu interfejsu graficznego jest czas jego budowy oraz problem szybkich jego zmian przy modyfikacjach programu. Przeprowadzona analiza poprawności, jakości i efektywności utworzonych reguł w bazie wiedzy systemu KOMEX oraz testowanie systemu w warunkach rzeczywistych, czyli w różnych serwisach telefonów komórkowych zarówno autoryzowanych, jak i w komisach dały pozytywne rezultaty. W przyszłości można rozbudować system KOMEX o graficzny interfejs użytkownika sterujący dialogiem pomiędzy człowiekiem a komputerem. Dodatkowo można wykonać testy na większej grupie telefonów komórkowych i dokonać podziału telefonów na nowe oraz stare modele oraz sprawdzić, które są bardziej podatne na uszkodzenia np. mechanicznie, elektroniczne lub oprogramowania. Należy pamiętać także o dodaniu w przyszłości do bazy wiedzy nowych rodzajów usterek, które pojawiają się wraz z rozwojem telefonów komórkowych. Literatura 1. Buchalski Z.: Komputerowe wspomaganie podejmowania decyzji z wykorzystaniem regułowego systemu ekspertowego. w: Komputerowo zintegrowane zarządzanie, tom 1, R. Knosala (red.). WNT, Warszawa 2004, s.156-164. 2. Buchalski Z.: Zarządzanie wiedzą w podejmowaniu decyzji przy wykorzystaniu systemu ekspertowego. w: Bazy danych. Struktury, algorytmy, metody. WKiŁ, Warszawa 2006, s. 471-478. 3. Buchalski Z.: The Role of Symbolic Representation of Natural Language Sentences in Knowledge Acquisition for Expert System. Polish Journal of Environmental Studies, Vol. 16, No 4A, 2007, pp. 40-43. 4. Krishnamoorthy C.S., Rajeev S.: Artificial Inteligence and Expert Systems for Engineers. CRC Press, London 1994. 5. Liebowitz J.: The Handbook of Applied Expert Systems. CRC Press, London 1996. 6. Mulawka J.: Systemy ekspertowe. Wydawnictwo Naukowo-Techniczne, Warszawa 1996. 203
Z. Buchalski 7. Niederliński A.: Regułowo-modelowe systemy ekspertowe. Pracownia Komputerowa Jacka Skalmierskiego, Gliwice 2006. 8. Radzikowski W.: Komputerowe systemy wspomagania decyzji. PWE, Warszawa, 1990. 204