Friday, February 27, 2009

ADAPTACYJNY SYSTEM SYGNALIZACJI ŚWIETLNEJ OPARTY NA ALGORYTMIE GENETYCZNYM

ADAPTACYJNY SYSTEM SYGNALIZACJI ŚWIETLNEJ OPARTY NA ALGORYTMIE GENETYCZNYM

Nowoczesne metody mikrosymulacji ruchu drogowego z wykorzystaniem automatów komórkowych

Nowoczesne metody mikrosymulacji ruchu drogowego z wykorzystaniem automatów komórkowych

Metody predykcji w szeregach czasowych


"Metody predykcji w szeregach czasowych, na przykładzie predykcji cen akcji giełdowych spółki KGHM Polska Miedz S. A." referat wygłoszony na Konferencji Naukowej Studentów w 2006 roku.



Artykuł przedstawia wykorzystanie rozwiązania bazującego na sieciach neuronowych podczas predykcji danych w szeregach czasowych na przykładzie zarówno predykcji krótko jak i długo okresowej cen akcji spółki KGHM Polska Miedź S.A. Dokument szczegółowo omawia dwie architektury sieci neuronowych, jedna bazująca na znakowej reprezentacji, druga na wartościach rzeczywistych. Omówione zostały otrzymane wyniki oraz moŜliwości ulepszenia za pomocą rozwiązania hybrydowego wykorzystującego wyniki działania obu sieci połączone z analizą statystyczną.



Dokument PDF - Metody predykcji w szeregach czasowych, na przykładzie predykcji cen akcji giełdowych spółki KGHM Polska Miedz S. A. (167 kB)

Wednesday, February 18, 2009

Sztuczna Inteligencja - Systemy Hybrydowe


Praca ta stanowi wprowadzenie w zagadnienie systemów hybrydowych (inteligentnych systemów hybrydowych). W dokumencie zawarte są podstawowe informacje dotyczące wyjaśnienia pojęć, przeglądu najczęściej wykorzystywanych metod sztucznej inteligencji oraz charakterystyki ich zalet i wad. Druga część pracy skupia się już na bardziej szczegółowych aspektach zagadnienia. Wyjaśnione w niej zostały powody oraz cele stosowania systemów hybrydowych, proponowane w literaturze architektury oraz modele komunikacji. Końcową część pracy stanowi analiza kierunków rozwoju.



Systemy Hybrydowe - Prezentacja (965 kB)


Michal Stanek-Systemy Hybrydowe

Systemy Hybrydowe Wprowadzenie Michał Stanek (mikol@e-informatyka.pl) 21 stycznia 2005 Streszczenie Praca ta stanowi wprowadzenie w zagadnienie systemów hybrydowych (inteligentnych systemów hybrydowych). W dokumencie zawarte są podstawowe informacje dotyczące wyjaśnienia pojęć, przeglądu najczęściej wykorzystywanych metod sztucznej inteligencji oraz charakterystyki ich zalet i wad. Druga część pracy skupia się już na bardziej szczegółowych aspektach zagadnienia. Wyjaśnione w niej zostały powody oraz cele stosowania systemów hybrydowych, proponowane w literaturze architektury oraz modele komunikacji. Końcową część pracy stanowi analiza kierunków rozwoju. 1 SPIS TREŚCI 2 Spis treści 1 Wstęp 2 Metody sztucznej inteligencji 2.1 Krótki rys historyczny . . . . . . . . . . . . . 2.2 Przegląd metod sztucznej inteligencji . . . . . 2.2.1 Systemy eskpertowe . . . . . . . . . . 2.2.2 Sieci neuronowe . . . . . . . . . . . . . 2.2.3 Algorytmy genetyczne . . . . . . . . . 2.2.4 Logika rozmyta . . . . . . . . . . . . . 2.3 Ocena użyteczności poszczególnych rozwiązań 3 Systemy hybrydowe 3.1 Cele systemu hybrydowego . . . . . . . . . . 3.2 Architektury budowy systemów hybrydowych 3.2.1 Systemy niezależne . . . . . . . . . . . 3.2.2 Systemy transformujące . . . . . . . . 3.2.3 Systemy luźno związane . . . . . . . . 3.2.4 Systemy zintegorwane . . . . . . . . . 3.2.5 Systemy w pełni zintegrowane . . . . . 3.3 Modele pracy systemu hybrydowego . . . . . 3.4 Przykładowy system hybrydowy . . . . . . . 3.5 Kierunki rozwoju systemów hybrydowych . . 4 5 5 6 6 7 8 10 10 12 12 14 14 14 15 15 15 16 17 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Spis rysunków 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Kroki milowe rozwoju sztucznej inteligencji . . . . . . . . . . . . Reprezentacja ideowa systemu ekspertowego . . . . . . . . . . . . Model neuronu oraz sieci neuronowej . . . . . . . . . . . . . . . . Przykład klasteryzacji danych . . . . . . . . . . . . . . . . . . . . Schemat procesu działania algorytmu genetycznego . . . . . . . . Przykładowa reprezentacja zbiorów za pomocą logiki rozmytej . . Właściwości różnych metod sztucznej inteligencji . . . . . . . . . Możliwe elementy systemu hybrydowego . . . . . . . . . . . . . . Model systemu niezależnego . . . . . . . . . . . . . . . . . . . . . Model systemu transformującego . . . . . . . . . . . . . . . . . . Model systemu luźno powiązanego . . . . . . . . . . . . . . . . . Model systemu zintegrowanego . . . . . . . . . . . . . . . . . . . Model systemu w pełni zintegrowanego . . . . . . . . . . . . . . . Model przetwarzania w systemach hybrydowych . . . . . . . . . . Model ideowy połączenia Systemu ekspertowego z siecią neuronową Ilość prac naukowych na temat systemów hybrydowych . . . . . 5 6 8 8 9 10 11 13 14 14 15 16 16 17 18 19 SPIS RYSUNKÓW 3 17 Model agenta w systemie wieloagentowym . . . . . . . . . . . . . 19 1 WSTĘP 4 1 Wstęp Wydaje mi się, że wprowadzenie do systemów hybrydowych powinienem rozpocząć od wyjaśnienia samej nazwy, ponieważ dla osób niezaznajomionych z zagadnieniem, może wydawać się dziwna i niezrozumiała, a przez to mylnie interpretowana. Według jednej z definicji słownikowych system jest układem elementów o określonej strukturze, będący uporządkowaną logicznie całością. Hybryda, to natomiast mieszaniec powstały ze skrzyżowania dwóch różnych gatunków, ras, odmian, dziwoląg łączący cechy różnych osobników. Idea systemu hybrydowego bazuje wobec tego na integracji wielu dostępnych technik, metod, narzędzi w jednej spójnej i określonej strukturze stanowiącej logicznie uporządkowaną całość (wspólnie dążącą do osiągnięcia celu). Nasuwa się wobec tego pytanie, po co łączy się wiele różnych rozwiązań? Najogólniej można powiedzieć, że w celu osiągnięcia bardziej zadawalającego efektu niż przy wykorzystaniu każdej z tych technik osobno. Inteligentne systemy hybrydowe (Intelligent Hybrid Systems) starają się integrować odmienne techniki sztucznej inteligencji (logika rozmyta, sieci neuronowe, obliczenia ewolucyjne, metody probabilistyczne, maszynowe uczenie, systemy ekspertowe, itd. . . ). Fundamentem powstawania takich rozwiązań jest stwierdzenie, że metody te między sobą są komplementarne. W praktyce oznacza to, że metody te wzajemnie się uzupełniają, wady jednej są kompensowane zaletami innej. Istnieje wiele możliwych kombinacji wśród systemów symbolicznych i metod tak zwanej miękkiej sztucznej inteligencji (soft-computing) 1 , oraz wiele możliwych sposobów ich łączenia. Dla przykładu sieci neuronowe mogą być łączone z logiką rozmytą, wnioskowaniem na podstawie przykładów, algorytmami genetycznymi. W ostatnich latach, bardzo gwałtowny wzrost zapotrzebowania na wyrafinowane i złożone rozwiązania z dziedziny inteligentnych systemów informatycznych sprawia, że osiągnięcie pełnego sukcesu nie jest możliwe bez wykorzystania możliwości, jakie oferują nam systemy hybrydowe. Reprezentacja i manipulacja, przy pomocy komputerów, dużymi ilościami wiedzy oraz zapewnienie ich integralności, spójności i efektywności wykorzystania jest jednym z kluczowych nurtów badań w dziedzinie szeroko pojętej sztucznej inteligencji. Należy zdawać sobie sprawę z tego, że przyjęty przez nas format przechowywania i reprezentacji wiedzy powinien być w stanie poradzić sobie z pewnymi oczywistymi problemami. Niedokładność i niekompletność zgromadzonej wiedzy to jeden z nich. Różne sposoby przechowywania tejże wiedzy (np. sieci neuronowe, logika rozmyta, systemy ekspertowe) posiadają specyficzne własności radzenia sobie z danymi niepewnymi, nieprecyzyjnymi albo nawet nieprawidłowymi. Pewne metody lepiej nadają się do przechowywania danych numerycznych, jeszcze inne sprawdzają się lepiej, kiedy pragniemy operować na danych w postaci symbolicznej. Nie ma zadowalającego uniwersalnego rozwiązania, pozwalającego radzić sobie z wszystkimi problemami związanymi z reprezentacją wiedzy. 1 Pierwszy raz użył tego terminu Lotfi A. Zadeh 1995 2 METODY SZTUCZNEJ INTELIGENCJI 5 2 2.1 Metody sztucznej inteligencji Krótki rys historyczny Podobnie jak wiele innych, sztuczna inteligencja jest dziedziną nauki, która rozwija się w bardzo prężny sposób. W stosunkowo krótkiej historii, bo zaledwie 60 letniej, zaproponowano wiele koncepcji, które w znaczącym stopniu przyczyniły się do rozwoju, nie tylko jej, ale również wielu innych dziedzin w tym np. teorii sterowania i podejmowania decyzji. Pewne kroki milowe rozwoju AI (Artificial Intelligence) prezentuje rysunek 1. Wiele proponowanych teorii inspirowanych było przez naturę. Podczas gdy jedne próbowały ją naśladować (systemy ekspertowe, wnioskowanie na podstawie przykładów, logika rozmyta) inne ją kopiowały (sieci neuronowe, algorytmy genetyczne). Bardzo dużo danych wdrożeń systemów sztucznej inteligencji, projektowanych jako systemy ekspertowe, miało miejsce na przełomie lat 1970 1980 (MYCIN, DENDRAL, PROSPECTOR). Systemy te zostały tak oto zdefiniowane przez prof. Feigenbaum’a: ”inteligentne programy komputerowe wykorzystujące wiedzę oraz mechanizm wnioskowania w celu rozwiązania problemów, które są na tyle skomplikowane, że celem ich rozwiązania wymagają szczegółowej ekspertyzy wykonanej przez człowieka”. Każde z rozwiązań posiadało jednak pewne braki i ograniczenia. Problemem systemów ekspertowych była między innymi akwizycja wiedzy. Nowe rozwiązania, były odpowiedzią na wady poprzednich. Nowe koncepcje wprowadzały nowe możliwości, ale jednocześnie nowe ograniczenia. W pewnym momencie stało się oczywiste, że pewne metody da się, a nawet trzeba ze sobą łączyć, aby móc z ich pomocą rozwiązać problemy, które wcześniej były nierozwiązywalne (przy wykorzystaniu tylko jednej). W ten sposób postało pojęcie i rozpoczęły się badania nad systemami hybrydowymi. Rysunek 1: Kroki milowe rozwoju sztucznej inteligencji 2 METODY SZTUCZNEJ INTELIGENCJI 6 2.2 2.2.1 Przegląd metod sztucznej inteligencji Systemy eskpertowe Tak jak zostało to przedstawione w poprzednim punkcie idea systemu ekspertowego zainspirowana była sposobem, w jaki ludzie (eksperci w danej dziedzinie) rozwiązują zagadnienia i na podstawie pewnych przesłanek dochodzą do konkluzji (wniosków). Typowa budowa systemu ekspertowego została przedstawiona na rysunku 2. Poszczególne bloki odpowiadają za inne funkcje, bloki przedstawione kolorem jasnoszarym prezentują właściwą część systemu ekspertowego: • Baza wiedzy - stanowi bazę faktów, jaką dysponuje system. Baza ta budowana jest na podstawie danych pozyskanych od ekspertów dziedzinowych, a przekazuje ją do systemu inżynier wiedzy. • Blok rozumowania (mechanizm wnioskowania) jest to najważniejszy składnik systemu ekspertowego, jego zadaniem jest wyciąganie wniosków z przesłanek i pytań wprowadzanych przez użytkownika i generowanie odpowiedzi. • Mechanizmu wyjaśniający - umożliwia wyjaśnienie, na życzenie użytkownika, dlaczego system udzielił takiej, a nie innej odpowiedzi, albo dlaczego system zadał użytkownikowi określone pytanie. Ekstrakcją wiedzy od ekspertów zajmują się na ogół inżynierowie wiedzy. Jest to zwykle długi i żmudny proces, ponieważ wiedza stosowana przez ludzkich ekspertów jest zwykle wiedzą praktyczną i intuicyjną. Rysunek 2: Reprezentacja ideowa systemu ekspertowego 2 METODY SZTUCZNEJ INTELIGENCJI 7 Początkowo systemy ekspertowe były podatne na problemy związane z akwizycją (pozyskiwaniem wiedzy) i wnioskowaniem z niepewnością. W gruncie rzeczy problem transferu wiedzy ludzkiej do systemu ekspertowego jest kluczowy i nazywany jest w literaturze ”‘wąskim gardłem akwizycji wiedzy”’ (knowledge acquisition bottleneck ) [Giarratano98]. Jest to oczywiste o ile zrozumie się jak ciężkim i długim procesem jest przekazanie posiadanej przez eksperta wiedzy. Często wiedza ta jest rutynowa, bądź też intuicyjna, a sam ekspert nie zdaje sobie sprawy z jej posiadania. Drugim problemem systemów ekspertowych jest przekazywanie wiedzy nieścisłej, niepełnej i przybliżonej. Systemy ekspertowe wykorzystywane są m.in. w zagadnieniach: • diagnozowania, • przewidywania, • interpretacji, • planowania, • kontroli. 2.2.2 Sieci neuronowe Idea sieci neuronowych zainspirowana została modelem funkcjonowania mózgu człowieka. Sieć neuronowa składa się z neuronów oraz połączeń miedzyneronowych (rysunek 3). Sieć uczy się zależności, które występują między danymi, można powiedzieć, że sama ekstrahuje reguły, które w systemie ekspertowym trzeba było przekazać ręcznie. Informacje na temat tych właśnie reguł kodowane są w połączeniach miedzyneuronowych, a dokładniej w wagach wejść każdego neuronu. W odróżnieniu od systemu ekspertowego, typowa sieć neuronowa pracuje na danych numerycznych, a nie symbolicznych. Problemem staje się proces wyjaśnienia, dlaczego sieć odpowiedziała tak a nie inaczej. Wiedza nie jest zapisana w czytelny dla człowieka sposób. Można powiedzieć, że sieć działa i generuje odpowiedzi, ale tak naprawdę nie wiemy, dlaczego takie a nie inne. Jest to bardzo poważne ograniczenie, ponieważ czasami musimy wiedzieć, na jakiej podstawie została podjęta pewna decyzja. Dużą zaletą sieci neuronowych jest fakt automatycznego wydobywania wiedzy z przykładów uczących (tutaj pojawia się problem doboru odpowiednich przykładów uczących i testujących). Oprócz sieci neuronowych uczonych z nauczycielem istnieją również sieci, które uczą się bez nadzoru (rysunek 3). Wynikiem ich nauki jest rozpoznanie zależności, jakie występują miedzy danymi. Sieci takie potrafią wyróżniać klastry danych (grupy danych pod jakimś względem do siebie podobnych). Sieci neuronowe wykorzystywane są m.in. do: • rozpoznawania obiektów, • kompresji danych, 2 METODY SZTUCZNEJ INTELIGENCJI 8 • analizy serii danych i przewidywania, • detekcji anormalnych stanów pracy systemu, • analizy oraz klasteryzacji danych, • wizualizacji danych - wielowymiarowych zbiorów danych. Rysunek 3: Model neuronu oraz sieci neuronowej Rysunek 4: Przykład klasteryzacji danych 2.2.3 Algorytmy genetyczne Algorytmy genetyczne zainspirowane zostały obserwacją procesu ewolucji żywych organizmów. Koncepcja ta przeniesiona została przez Johna H. Holland’a 2 METODY SZTUCZNEJ INTELIGENCJI 9 w świat komputerów. Wystarczy założyć, że pewnym środowiskiem jest dziedzina problemu, jaki chcemy rozwiązać. Kodujemy teraz potencjalne początkowe rozwiązania jako osobniki naszej populacji. Następnie uruchamiamy proces ewolucji, w którym osobniki słabiej przystosowane eliminujemy (proces selekcji), a osobniki lepsze poddajemy procesowi krzyżowania. Skrzyżowany osobnik posiada część informacji przekazanej przez swoich rodziców (potencjalnie dobre rozwiązania). Z czasem osobniki będą coraz lepiej przystosowane do danego środowiska, czyli w naszym przypadku będą to coraz lepsze rozwiązania z przestrzeni zadania. Najczęściej działanie algorytmu przebiega następująco: 1. Losowana jest pewna populacja początkowa. 2. Populacja poddawana jest ocenie (selekcja). Najlepiej przystosowane osobniki biorą udział w procesie reprodukcji. 3. Genotypy najlepszych osobników są ze sobą kojarzone poprzez złączanie genotypów rodziców (krzyżowanie). 4. Przeprowadzana jest mutacja, czyli wprowadzenie drobnych losowych zmian. 5. Rodzi się drugie pokolenie i algorytm powraca do kroku drugiego, jeżeli nie znaleziono dostatecznie dobrego rozwiązania. W przeciwnym wypadku uzyskujemy wynik. Rysunek 5: Schemat procesu działania algorytmu genetycznego Algorytmy genetyczne stosowane są m.in. do: • harmonogramowania, 2 METODY SZTUCZNEJ INTELIGENCJI 10 • optymalizacji ułożenia elementów w układach cyfrowych, • znajdowanie optymalnych wartości parametrów, • optymalizacja długości drogi. 2.2.4 Logika rozmyta Logika rozmyta (fuzzy logic)2 , jedna z logik wielowartościowych (multi-valued logic), stanowi uogólnienie klasycznej dwuwartościowej logiki. Została zaproponowana przez Lotfi Zadeha w 1965 roku. W logice rozmytej między stanem 0 (fałsz) a stanem 1 (prawda) rozciąga się szereg wartości pośrednich (rysunek 6), które można kojarzyć z prawdopodobieństwem. Logika rozmyta okazała się bardzo przydatna w zastosowaniach inżynierskich, czyli tam, gdzie klasyczna logika klasyfikująca jedynie według kryterium prawda/fałsz nie potrafi skutecznie poradzić sobie z wieloma niejednoznacznościami i sprzecznościami. Logika rozmyta wykorzystywana jest m.in. w: • elektronicznych systemach sterowania (maszynami, pojazdami i automatami), • zadaniach eksploracji danych, • budowie systemów ekspertowych Rysunek 6: Przykładowa reprezentacja zbiorów za pomocą logiki rozmytej 2.3 Ocena użyteczności poszczególnych rozwiązań W poprzednim podpunkcie zostało przedstawione kilka najważniejszych metod sztucznej inteligencji. Został przedstawiony ich sposób działania oraz przykładowe zastosowania. Zwrócona została również uwaga na pewne mocne i słabe strony każdego z rozwiązań. 2 Definicja zaczerpnięta z Wikipedii, wolnej encyklopedii internetowej. 2 METODY SZTUCZNEJ INTELIGENCJI 11 Przyjrzyjmy się najważniejszym ograniczenią każdej z prezentowanych wcześniej metod: • Sieci neuronowe - brak wyjaśnień • Sieci samoorganizujące - brak możliwości rozwiązywania zadań • Systemy ekspertowe - nie są wystarczająco elastyczne • Algorytmy genetyczne - czasami nie da się zastosować, ze względu na kłopot z kodowaniem osobników, specyficzną dziedzinę problemu lub też inne specyficzne czynniki. • Systemy rozmyte - są rozmyte. . . Właściwości poszczególnych rozwiązań zostały przedstawione na rysunku 7. Oś pionowa demonstruje zdolność adaptacji metody do zmieniających się warunków pracy (w stosunku do założonych warunków początkowych), oś pozioma demonstruje przejście pomiędzy poziomem operacji na liczbach do operacji na wiedzy formalnej. Rysunek 7: Właściwości różnych metod sztucznej inteligencji 3 SYSTEMY HYBRYDOWE 12 3 3.1 Systemy hybrydowe Cele systemu hybrydowego Projektując inteligentny system informatyczny musimy zadać sobie pytanie, jaki jest cel jego pracy oraz na jakim rodzaju danych system będzie on pracował. Wcześniej wspomniany był problem akwizycji wiedzy w kontekście jej niepewności, sprzeczności itp. Przyjrzyjmy się jednak, z jakim rodzajami wiedzy mamy my, na co dzień do czynienia: • Film rozpocznie się o 8:15. [Dokładna] • Film rozpocznie się między 8:00 a 9:00. [Nieprecyzyjna] • Sądzę, że film rozpocznie się o 8:00, ale nie jestem pewien. [Niepewna] • Film rozpocznie się około 8:00. [Przybliżona] • Możliwe, że film rozpocznie się o 8:00. [Możliwa] • Prawdopodobnie film rozpocznie się o 8:00 (90 %). [Prawdopodobna] • Marek mówi, że film rozpocznie się o 8:00, ale Kasia mówi, że o 9:00. [Niespójna] • Nie wiem dokładnie, o której rozpocznie się film, ale zazwyczaj zaczyna się o 9:00. [Niekompletna] • Naprawdę nie wiem, o której zaczyna się film. [Nieznana] • Jestem pewien, że film nie zaczyna się z rana. [Negacja] • Film zaczyna się 2 godziny, po poprzedniej sesji. [Względna] • Film jest grany dzisiaj o 8:00 oraz jutro o 10:00. [Alternatywna] • Film zaczyna się o 8:00, 10:00 oraz 12:00. [Opcjonalna] • Film może się rozpocząć tylko pod warunkiem, że reżyser przyjedzie. [Asocjacyjna] • W następnym miesiącu. [Temporalna] Wiedza ludzka jest często trudna do wyrażenia w formacie, na jakim zazwyczaj operują komputery. Typowym jest fakt, że nie potrafimy sformułować naszej wiedzy w specyficznym języku (formie) jej reprezentacji. Ludzie rozwiązują problemy oraz operują na posiadanej wiedzy za pomocą następujących mechanizmów: • wnioskowanie, • analogia, 3 SYSTEMY HYBRYDOWE 13 • dedukcja, • bazowanie na wcześniejszych doświadczeniach. Naturalna inteligencja bazuje na wielu ”hybrydowych” sposobach jej reprezentacji i manipulacji. Podobnie celem stosowania systemów hybrydowych w dziedzinie sztucznej inteligencji jest: • wykorzystanie całej dostępnej wiedzy na temat specyficznego problemu, • możliwości skorzystania z wielu typów informacji (symbolicznej, numerycznej, nieścisłej, nieprecyzyjnej), • zaoferowanie wielu różnych schematów rozumowania i bardziej trafnego wyszukiwania odpowiedzi na zadawane pytania, • zwiększenia ogólnej efektywności systemu i eliminacja ujemnych stron pojedynczych metod, • stworzenie wydajnych i potężnych systemów rozumowania. Aby osiągnąć te cele konstruuje się systemy hybrydowe w skład, których mogą wchodzić metody przedstawione na rysunku 8 Rysunek 8: Możliwe elementy systemu hybrydowego 3 SYSTEMY HYBRYDOWE 14 3.2 Architektury budowy systemów hybrydowych Architektury systemów hybrydowych mogą być sklasyfikowane według stopnia integracji i sposobu integracji. Stopień integracji jest kryterium do mierzenia stopnia integracji pomiędzy dwoma modułami systemu hybrydowego. 3.2.1 Systemy niezależne Niezależne systemy hybrydowe charakteryzują się tym, że pomiędzy poszczególnymi modułami systemu nie istnieje żadna komunikacja (rysunek 9). Każdy moduł, nie korzysta w żaden sposób z wyników pracy innego modułu. Podejścia tego typu ma tą dobrą zaletę, że daje się zrównoleglić w bardzo dużym stopniu. Niezależność dwóch pracujących systemów może służyć również badaniu efektywności obu rozwiązań. Model ten może być również przyjęty w przypadku prototypowania systemu. Rysunek 9: Model systemu niezależnego 3.2.2 Systemy transformujące System hybrydowy bazujący na modelu transformującym działa na takiej zasadzie, że wyniki pracy jednego modułu systemu są transformowane do innego modułu (np. jako dane wejściowe). Rozwiązanie takie nadaje się bardzo dobrze w przypadkach, kiedy przed przekazaniem danych do głównego modułu systemu występuje potrzeba ich wcześniejszej transformacji lub obróbki (pre-processing danych). Rysunek 10: Model systemu transformującego 3 SYSTEMY HYBRYDOWE 15 3.2.3 Systemy luźno związane W systemach hybrydowych o luźno powiązanej architekturze (rysunek 11) występuje już zjawisko komunikacji pomiędzy modułami. Najczęściej jako medium wymiany danych używane są pliki, w których jeden proces zapisuje wyniki danych inny odczytuje, po czym może nastąpić zamiana. Ważne jest, że komunikacja w tym modelu jest dwustronna. Zaletami takiej architektury jest prostota implementacji, przez co nadają się znakomicie do prototypowania pewnych rozwiązań. Dodatkowa zaleta może być fakt, że taka architektura pozwala na korzystanie z modułów zewnętrznych dostarczonych przez inne osoby lub firmy. Prostota tego rozwiązania okupiona jest niestety wysokim kosztem komunikacji (odczytu. zapisu na dysku, ewentualnego parsowania danych). Rysunek 11: Model systemu luźno powiązanego 3.2.4 Systemy zintegorwane W systemach hybrydowych zintegrowanych przesyłanie informacji pomiędzy modułami odbywa się w pamięci operacyjnej komputera(rysunek 12). Aby możliwe było wykorzystanie tej architektury w systemie hybrydowym, każdy moduł musi zostać zaprojektowany tak, aby umożliwiał komunikację z częściami systemu. Systemy takie są najczęściej dedykowanymi rozwiązaniami, które są projektowane w celu rozwiązanie konkretnego problemu. Ponieważ komunikacja procesów następuje poprzez współdzieloną pamięć operacyjną, zrównoleglenie obliczeń jest czynnością dużo bardziej skomplikowaną niż w przypadku wcześniejszych rozwiązań. Zaleta wykorzystania tej architektury jest mały koszt związany z komunikacją. W rozwiązaniu tym wykorzystuje się również ideę tablicy (blackboard ), jest to ogólnodostępny obszar pamięci, w którym wykonujące się moduły zapisują wyniki swojej pracy, tak aby wszyscy inni mogli z nich natychmiast skorzystać. 3.2.5 Systemy w pełni zintegrowane W architekturze w pełni zintegrowanego systemu hybrydowego moduły dzielą między sobą zarówno wiedzę jak również struktury danych (rysunek 13). Zdecydowanie się na tą architekturę powoduje bardzo mocne powiązanie każdego modułu z resztą systemu, jednak zaletą jest usunięcie zbytecznej redundancji 3 SYSTEMY HYBRYDOWE 16 Rysunek 12: Model systemu zintegrowanego elementów. Możliwe jest również pełne kontrolowanie jednego modułu przez inny (np. algorytm genetyczny kierujący pracą innego algorytmu genetycznego), co powoduje większe możliwości rozwiązywania problemów. Niewątpliwą wadą takich systemów jest to, że są to rozwiązania ściśle dedykowane pod dany typ problemu i istnieją małe szanse ponownego wykorzystania elementów systemu w innych projektach. Kłopotliwe może być również zapewnienie dostatecznego poziomu równoległości, ze względu na dużą ilość zależności i powiązań międzymodułowych. Rysunek 13: Model systemu w pełni zintegrowanego 3.3 Modele pracy systemu hybrydowego Istnieje kilka modeli pracy modułów systemu hybrydowego. Zostały one przedstawione na rysunku 14. Opis sposobów integracji modułów: • Przetwarzanie łańcuchowe - moduł przetwarzania symbolicznego (np. system ekspertowy), odgrywa rolę głównego procesu systemu. Jego praca może być wspierana przez prace przez pre - procesor oraz post-procesor będący np. siecią neuronową. Możliwa jest również konfiguracja odwrotna. • Meta przetwarzanie - jeden moduł odgrywa rolę głównego procesu rozwiązującego problem inne natomiast pracują w meta - warstwie pełniąc role np. dozorcy, kontrolera wydajności, detektora błędów, w stosunku do procesu w niższej warstwie. • Przetwarzanie wewnętrzne - jeden lub więcej modułów jest osadzonych (wbudowanych) w innych. Praca elementów osadzonych jest koordy- 3 SYSTEMY HYBRYDOWE 17 nowana przez proces główny. • Przetwarzanie wspólne - oba moduły są równorzędnymi partnerami podczas rozwiązywania problemu. Każdy proces może działać bezpośrednio na środowisku, w którym pracują, oraz każdy może transmitować oraz obierać informacje od drugiego. Rysunek 14: Model przetwarzania w systemach hybrydowych 3.4 Przykładowy system hybrydowy Tradycyjne systemy ekspertowe podczas swojej pracy manipulują symbolami. Zaletami tego podejścia jest zdolność do zrozumiałej reprezentacji posiadanej wiedzy. Z drugiej zaś strony istnieją sieci neuronowe, w których wiedza zakodowana jest w postaci wag połączeń miedzyneuronowych. Wiedza ta nie jest łatwa do zinterpretowania i zanalizowania. Sieci neuronowe można traktować jak czarne pudełka, które działają, ale ciężko powiedzieć dlaczego i czy na pewno poprawnie. Jednakże sztuczne sieci neuronowe są bardzo potężnym narzędziem używanym do wydobywania (akwizycji) wiedzy z istniejących danych oraz do jej generalizacji. Sieci neuronowe z łatwością radzą sobie z informacją nieścisłą czy niepewną, która dla systemów ekspertowych stanowi poważny problem. Podczas, gdy tradycyjne systemy ekspertowe zostały zaprojektowane do przechowywania wiedzy w postaci reguł (uzyskiwanej od ludzi i przez nich rozumianej), systemy takie jak sieci neuronowe są używane do nauki i generalizowania wiedzy zawartej w praktycznych przypadkach. Połączenie tych dwóch podejść (systemów ekspertowych z sieciami neuronowymi), pozwoliło wykorzystać te dwa komplementarne podejścia w celu zwiększenia efektywności całego 3 SYSTEMY HYBRYDOWE 18 Rysunek 15: Model ideowy połączenia Systemu ekspertowego z siecią neuronową systemu. Wydobycie dodatkowych danych, wcześniej nieosiągalnych pozwoliło podnieść ogólną skuteczność wnioskowania, przy jednoczesnym zachowaniu możliwości objaśniających. Model ideowy takiego systemu ekspertowego został przedstawiony na rysunku 15. 3.5 Kierunki rozwoju systemów hybrydowych Aby stwierdzić, w jakim kierunku zmierza rozwój systemów hybrydowych, należałoby się przyjrzeć, jakie rozwiązania stosuje się przy konstruowania nowoczesnych systemów sztucznej inteligencji. Niestety informacje te są albo trudno osiągalne, albo wręcz chronione i stanowią tak zwane Know-How firm. Inną metodą jest porównanie liczby publikacji, jakie ukazują się na świecie z dziedziny systemów hybrydowych. Ilość publikacji na temat różnych rozwiązań świadczyć może zarówno o jego stopniu przydatności jak i o kierunku i potencjalnych przyszłych rozwiązań. Na rysunku 16, można zauważyć, że największa liczba publikacji dotyczy połączenia systemów ekspertowych z sieciami neuronowymi. W następnej kolejności publikowane są artykuły na temat systemów ekspertowych i logiki rozmytej, sieci neuronowej i logiki rozmytej. Najmniejszym zainteresowaniem cieszą się systemy hybrydowe próbujące wykorzystać zalety systemów ekspertowych i algorytmów genetycznych oraz systemy złożone z wielu modułów, to ostatnie podejrzewać można wiąże się z faktem bardzo dużego skomplikowania takich systemów. Nowe kierunki rozwoju systemów hybrydowych, poza badaniem skuteczności różnych połączeń poszczególnych modułów, prowadzą do stworzenia ujednoliconej architektury systemów hybrydowych oraz do standardowych modeli komunikacji. Powstał specjalny język służący komunikacji pracujących w systemie modułów - CHARON. Kolejnym krokiem jest koncepcja systemu wieloagentowego. Na system wie- 3 SYSTEMY HYBRYDOWE 19 Rysunek 16: Ilość prac naukowych na temat systemów hybrydowych loagentowy składają się agenci (niezależne jednostki), egzystujące i wchodzące w interakcje ze środowiskiem, w którym przebywają. Model agenta przedstawiony jest na rysunku 17. Obecnie implementacja systemów hybrydowych odbywa się na klasycznym ogólnodostępnym sprzęcie komputerowym. Kolejnym krokiem na drodze rozwoju systemów hybrydowych jest stworzenie dedykowanych architektur sprzętu (np. jak sterowniki rozmyte czasu rzeczywistego). Rysunek 17: Model agenta w systemie wieloagentowym LITERATURA 20 Literatura [1] Michał Białko Podstawowe własności sieci neuronowych i hybrydowych systemów eksperowych. Wydawnictwo Uczelniane Politechniki Koszalińskiej, 2000 [2] Hybrid Intelligent Systems - niebieska książka zalana kawą ;-) [3] Giarratano, Joseph and Riley, Gary. Expert Systems: Principles and Programming. 3rd Edition. PWS Publishing, Boston, MA. 1998. [4] Fernando Osorio Hybrid Systems. P.R.I.S - N.U.S. Singapore, April 2001 [5] Athanosios Tsakonas, George Dounias Hybrid Computational Intelligence Shemes in Complex Domains: An extended review [6] Rajeev Alur, Radu Grosu, Yerang Hur, Vijay Kumar, and Insup Lee Modular Specification of Hybrid Systems in Charon URL: http://www.cis.upenn.edu/ alur,grosu,yehur,kumar,lee [7] L´szló Monostori, József Horny´k, Csaba Egresits, Zsolt J´nos Viharos a a a SOFT COMPUTING AND HYBRID AI APPROACHES TO INTELLIGENT MANUFACTURING ieaaie, 1998