Technologie inteligentne

  1. Technologie inteligentne

Systemy informatyczne możemy podzielić na transakcyjne (OLTP1) i analityczne (OLAP2). Generalnie można przyjąć, że systemy OLTP dostarczają danych źródłowych do hurtowni danych, natomiast systemy OLAP pomagają w ich analizie.

W obu tych sytuacjach występują procedury i algorytmy, które albo obejmują so­bą proste operacje arytmetyczno-logiczne, wraz z prostymi pytaniami (OLTP), albo wykorzystują modelowanie statystyczne, ekonometryczne, rachunek praw­dopodobieństwa, optymalizację, symulację oraz pytania złożone, jak też proce­dury korzystania z wielowymiarowych baz danych (OLAP). Wszystkie te me­tody i techniki, traktowane łącznie, należą do klasy algorytmów klasycznych, tj. oferujących dostarczenie użytkownikowi wiedzy standardowej, zarówno pro­stej, jak i złożonej.

Zastosowanie hurtowni danych, umożliwiających rozpatrywanie zgromadzo­nych w nich danych i informacji na różnych poziomach agregacji, włączając w to dochodzenie do danych elementarnych (w razie potrzeby) i to w różnych przekrojach, stworzyło nową sytuację w odniesieniu do organizacji danych wej­ściowych. Z jednej strony, możliwość korzystania z danych agregowanych, prezentowanych w różnych układach, umożliwiło ich wykorzystanie do przepro­wadzania analiz ekonomicznych, techniczno-ekonomicznych i podejmowania racjonalnych decyzji. Z drugiej strony - możliwość dotarcia do danych ele­mentarnych, i to w przekrojach danych historycznych, postawiło do dyspozycji użytkownika terabajty danych jednostkowych, umożliwiając badanie ukrytych w nich relacji i współzależności, niemożliwych do odkrycia w oparciu o metody standardowe (proste i złożone), a istotnych dla funkcjonowania SG.

Powstała w związku z tym konieczność wypracowania specjalnych techno­logii wykrywania takich ukrytych wzorców i współzależności, zachodzących w masowych danych wejściowych, pod warunkiem, że wyniki uzyskiwane bę­dą w czasie akceptowanym przez użytkownika, a więc stosunkowo krótkim, tj. dostosowanym do jego rytmu pracy. Zespół takich technologii został nazwany technologiami wydobywania danych (data mining). Technologie te orientowane są na rozwiązywanie konkretnie zdefiniowanego uprzednio problemu, w oparciu o nietrywialną ekstrakcję poprzednio nieznanej wiedzy z danych przechowywa­nych w bazach i hurtowniach danych (Knowledge Discovery in Data Bases - KDDB).

Technologie te opierają się - oprócz posługiwania się metodami staty­stycznymi, matematycznymi i ekonometrycznymi, na technologiach „inteligent­nych", tj. wykorzystujących tzw. sztuczną inteligencję (Artificial Intelligence - Al). Takich technologii jest wiele, z tym że największe zastosowanie znalazły tu: algorytmy genetyczne, sieci neuronowe oraz systemy ekspertowe.

  1. Sztuczna inteligencja

Sztuczną inteligencją (SI) określamy tę część informatyki, która bada procesy rozumowania symbolicznego i niealgorytmicznego oraz reprezentację symbolicznie ujętej wiedzy, w celu użycia ich do wnioskowania za pomocą maszyny.

Można wyodrębnić dwa podejścia do SI: funkcjonalne oraz technologiczne. W ujęciu funkcjonalnym zwraca się uwagę na następujące własności SI:

W ujęciu technologicznym zwraca się uwagę na to, aby SI:

Przykładem takich symboli mogą być wyrażenia:

Przetwarzanie takich symboli występuje w programach komputerowych SI w postaci tzw. struktur symbolicznych. Przykładem takich struktur mogą być następujące konstrukcje:

Z takich struktur tworzyć można różne interpretacje rzeczywistości w rodza­ju np: „wybitny ekonomista wykłada teorię ekonomii", „wybitny ekonomista ma lat 55", czy też „wybitny ekonomista lat 55 wykłada teorię ekonomii w SHG", polegające na przetwarzaniu symboli, ale w sposób niealgorytmiczny. Oznacza to, że komputer może stosować nie tylko algorytmy obliczeniowe (numerycz­ne), ale również operować na symbolach, stanowiących sobą słowa i liczby, przy czym ich użycie jest oparte o algorytmy heurystycze (poszukiwawcze), choć sensowne, ale nie dające pewności osiągnięcia sukcesu (np. generowanie pomysłów, koncepcji możliwych rozwiązań problemu itp.).

Technologie komputerowe funkcjonują na trzech zasadniczych poziomach: danych, informacji oraz wiedzy. Najprostsze rozwiązania technologiczne wystę­pują na poziomie danych. Ich celem jest wydobywanie danych jawnych (umiesz­czonych na nośnikach maszynowych). Przykładem może tu być sortowanie zbioru danych (np. liczba mężczyzn zatrudnionych w firmie). W praktyce, naj­częściej komputer jest używany na drugim poziomie, którego cechą jest tworze­nie z danych określonych informacji w postaci komunikatów (datalogicznych), o różnym stopniu złożoności. Dominują tu metody i techniki OLTP oraz OLAP.

Metody sztucznej inteligencji stosowane są na trzecim poziomie - wiedzy, którą należy rozumieć jako określanie ukrytych związków, relacji i współzależ­ności zachodzących między informacjami prowadzanymi na wejścia informa­cyjne, na których SI działa, i gdzie stosowanie OLTP i OLAP staje się niewy­starczające.

Jeśli przyjąć, że inteligencja jest to właściwość psychiczna człowieka, pole­gająca na rozumieniu otaczających go sytuacji i znajdowania na nie właściwych, celowych, oraz efektywnych reakcji, powstaje pytanie, czy - a jeśli tak, to czym - różni się inteligencja człowieka od SI? Podstawowa różnica polega na tym, że inteligencja ludzka ma charakter kreatywny. Oznacza to, że człowiek, znajdują­cy się w sytuacji wymagającej działania, ma do dyspozycji pełny zakres posiadanej wiedzy obiektywnej o danej sytuacji. Dysponuje również pełnym zakresem doświadczeń i przeżyć, na podstawie których kształtuje własne poglądy i progra­my działania, jego zdaniem najlepiej dostosowane do sytuacji, która wymaga od niego określonego zachowania. Natomiast SI jest w tym zakresie istotnie ograniczona. Ograniczenia te dotyczą informacji wejściowych na temat problemu, który SI ma rozwiązać, pochodzących zarówno z informacji przecho­wywanych w pamięci komputera, jak i z informacji oraz wiedzy, dostarczonej mu przez ekspertów (odpowiednich specjalistów). Taka wiedza może być nie tylko niekompletna, ale nawet wewnętrznie sprzeczna, gdyż zależna jest od po­glądów, aktualnie głoszonych przez ekspertów, przy czym jest ona orientowana wyłącznie na zadany problem, rozwiązywany przez SI, a więc jest ograniczona (wycinkowa) w stosunku do wiedzy człowieka i jego doświadczeń, oferujących w sumie o wiele bogatszą paletę możliwości.

Podobna sytuacja występuje w zakresie stosowania procedur postępowania. W SI procedury takie, aczkolwiek oparte w dużym stopniu o heurystykę, są poklasyfikowane w pewne ich rodzaje i do danego typu rozwiązywanego problemu wybrany zostaje określony ich rodzaj. Można co prawda łączyć ze sobą rodzaje takich procedur (procedury hybrydowe), ale i tak stwarzają one o wiele mniej możliwości od tych, którymi dysponuje ludzki mózg, który w tym zakresie jest nieporównywalnie bardziej elastyczny. Stąd SI jest na tyle efektywna, na ile umożliwia to stopień poprawności doboru wejść informacyjnych, jak i stopień poprawności zastosowania odpowiedniego rodzaju technologii opartej o SI.

Mimo powyższych ograniczeń, stosowanie SI jest rozwiązaniem niosącym w praktyce bardzo duze korzyści dla SG. Korzyści te dotyczą tego, że stosowanie SI:

m.in. na jego psychologiczne cechy (emocje, zmiany poglądów, postawy, itp.);

Z wymienionych względów technologie SI znalazły zastosowania w wielu dziedzinach, jak np.:

Wydobywanie danych (data mining) jest to zbiór szczegółowych techno­logii wykorzystujących w istotnym stopniu SI, służących do znajdowania ukry­tych wzorców i relacji występujących w dużych bazach danych (transakcyjnych i hurtowniach danych) oraz do wyciągania na tej podstawie wniosków i konklu­zji dla przewidywań zachowania się SG w przyszłości, w sytuacji, gdy techniki OLAP stają się niewystarczające.

Znajdowanie takich ukrytych wzorców i relacji oparte jest o określone typy informacji, których się poszukuje w oparciu o wydobywanie danych. Do głównych typów takich informacji zaliczyć należy:

Informacje skojarzeniowe z innym zdarzeniem - zbadanie w jakim stopniu występowanie zjawiska A, powoduje równocześnie wystąpienie zjawiska B. Np. badanie sprzedaży w okresie T w supersamie X, przeprowadzo­ne na poziomie transakcji elementarnych, w oparciu o wystawione jednostkowe paragony stwierdziło, że jeśli nabywany jest wyrób A, to jednocześnie w 50 % transakcji zakupu w tym okresie kupujący nabył wyrób B. Jeśli jednak w in­nym okresie o tej samej długości T, supersam zorganizował akcję promocyjną sprzedaży wyrobu A (np. przez obniżenie jego ceny detalicznej o 10%), to wte­dy udział łącznego zakupu wyrobu A i B wzrósł do 70% wszystkich transak­cji sprzedaży w tym okresie. Informacje tego typu mogą mieć duże znaczenie w planowaniu struktury sprzedaży w następnych okresach, jak też przy analizie czynników, aktywizujących wzrost obrotów supersamu.

Skojarzenia sekwencyjne - jest to odmiana informacji skojarzeniowych, dotycząca sytuacji, gdy wystąpienie zjawiska A w momencie f, powoduje wy­stąpienie zjawiska B w momencie t2 (tt < t2), czyli w sekwencji momentów czasu. Przykładem może tu być sytuacja domu handlowego sprzedającego wy­posażenie mieszkań. Np. jeśli wiadomo, że osoba X zmieniła mieszkanie w mo­mencie tt (zjawisko A), to w okresie np. jednego miesiąca od daty tej zamiany (f2), nabyła w domu handlowym dywany, co dotyczy 40% wszystkich zawartych w tym okresie transakcji zakupu (zjawisko B). Natomiast w ciągu dwóch miesię­cy (f3) od daty zmiany mieszkania (zjawisko A), 30% przeprowadzonych w tym okresie w tym domu handlowym transakcji sprzedaży, dotyczyło zakupu mebli przez nowych nabywców mieszkania (zjawisko C). Takie badanie może mieć znaczenie np. w sytuacji, gdy dom handlowy jest zlokalizowany blisko lub w ra­mach nowopowstającego osiedla mieszkaniowego pod warunkiem odpowiednio przygotowanej ankietyzacji klientów.

Klasyfikacja - wykrycie określonych podzbiorów danego zbioru elementów, które charakteryzują się zdefiniowanymi własnościami, ale uprzed­nio nie branymi pod uwagę i nie występującymi w bazach danych. Np. bank lub towarzystwo ubezpieczeniowe obserwuje zjawisko stopniowej utraty swej klienteli. Badanie klasyfikujące zezwala na ustalenie odpowiedzi, jakie ustalone z gó­ry, interesujące cechy klientów (np. wiek, stopień zamożności, wysokość stanu konta itp.) charakteryzują grupy osób, które przenoszą się do innych banków, lub innych towarzystw ubezpieczeniowych. Analiza takich danych i informa­cji zezwala na przeprowadzenie dalszych analiz, dotyczących przyczyn takich zjawisk oraz na podjęcie działań zaradczych. Innym przykładem może być ba­danie ryzyka bankowego przy udzielaniu kredytów, w oparciu o z góry ustalone charakterystyki wniosków kredytowych. Celem jest tu minimalizacja ryzyka.

Klasteryzacja - jest odmianą klasyfikacji. Ma za zadanie wykrycie określonych podzbiorów danego zbioru elementów, o własnościach nie branych dotąd pod uwagę i nie występujących w bazach danych, z tym jed­nak, że nie definiuje się z góry, wg jakich cech mają być tworzone te podzbiory. Przykładem może być zainteresowanie towarzystwa ubezpieczeniowego niezna­nymi wcześniej cechami posiadaczy różnych typów ubezpieczeń, oferowanych klientom. Analiza takich informacji może być istotna przy tworzeniu strategii rozwoju towarzystwa.

Algorytmy genetyczne

Pojęcie ewolucji

Algorytmy genetyczne są to programy komputerowe naśladujące (symu­lujące) przebieg ewolucji naturalnej żywych organizmów. Ewolucja naturalna żywych organizmów oparta jest o strategię przeżycia populacji początkowej, składającej się z N osobników. Strategia taka zakłada, że populacja początko­wa, drogą losowego kojarzenia par wchodzących w jej skład osobników, two­rzy następną ich generację (reprodukcja). Osobniki, które wykazują najlepsze przystosowanie do istniejących warunków, mają duże szanse przetrwania, a po­zostałe osobniki - o niewystarczającym stopniu dostosowania - albo giną, al­bo przeżywają w postaci nielicznej. Jeśli taki proces powtarza się wielokrotnie, prowadzi on do takich reprodukcji generacji początkowej, w których w coraz większym stopniu reprezentowane są osobniki o dobrym przystosowaniu, a po­zostałe zostają z generacji usunięte. Inaczej mówiąc, u podłoża ewolucji leży jakość doboru naturalnego osobników danej populacji, zależna od doboru natu­ralnego dziedziczonych cech.

Każdy osobnik dowolnej populacji reprezentowany jest przez dziedziczo­ne geny (jednostki dziedziczenia), określające jego poszczególne cechy. Nosi­cielem genów jest chromosom, w którym zapisany jest kod genetyczny (ciąg posiadanych genów). Przez naturalny dobór osobników (rodziców), proces re­produkcji (tworzenie nowej generacji) polega na zmianach genów w następnej populacji. Co za tym idzie - na zmianach struktury jej chromosomów, a w kon­sekwencji i kodu genetycznego. W ten sposób ewolucja doprowadza do stałe­go „uszlachetniania” kodu genetycznego w chromosomach, przez co tworzą się osobniki o najlepszym przystosowaniu.

Podstawowe zasady konstrukcji algorytmu genetycznego

Aby zastosować algorytm genetyczny, należy przestrzegać kolejności następujących kroków:

  1. zdefiniowanie problemu, który ma być rozwiązany w oparciu o algorytm genetyczny;

  2. wybór populacji początkowej;

  3. zdefiniowanie reguły decyzyjnej;

  4. wstępne przetworzenie problemu na „język” algorytmu genetycznego;

  5. wyrażenie reguły decyzyjnej w „języku” algorytmu genetycznego;

  6. ustalenie funkcji dopasowania;

  7. zastosowanie operatorów genetycznych:

g1 – reprodukcji,

g2 – krzyżowania,

g3 – mutacji;

8) porównania wyników działania algorytmu genetycznego z funkcją dostosowania.

1. Zdefiniowanie problemu. W sferze gospodarczej algorytmy genetyczne znajdują zastosowanie m.in. w odniesieniu do:

Przytoczone zastosowania obejmują określone obszary tematyczne. W ra­mach tych obszarów, problem rozwiązywany przez algorytmy genetyczne musi być ściśle zdefiniowany. Problemem takim może być np. minimalizacja ryzyka bankowego przy przyznawaniu kredytów osobom prawnym.

2. Wybór populacji początkowej polega na określeniu zbioru zdarzeń elementarnych, które będą poddane działaniu algorytmu genetycznego. Przypuśćmy, że w określonym przedziale czasu napłynęła do konkretnego banku duża ilość wniosków od osób prawnych (np. przedsiębiorstw) o udzielenie im kredy­tu. Populacją początkową będzie tu n-elementowy zbiór takich wniosków, z któ­rych każdy stanowi zdarzenie elementarne.

  1. Zdefiniowanie reguły decyzyjnej jest niczym innym jak określeniem wzorca oceny uzyskanych wyników działania algorytmu genetycznego. Np. taką regułą może być określenie przez bank cech (parametrów) wniosków kredytowych, składanych w banku przez osoby prawne, których spełnienie zminimalizowałoby ryzyko przyznania takiego kredytu przez bank, a brak spełnienia dałoby podstawę do nieudzielenia przez niego kredytu. Załóżmy że jednym z takich parametrów jest średnie tempo sprzedaży w ostatnich trzech latach, wyrażone w procentach, i że tempo to powinno być wyższe niż 5,0%.

  2. Wstępne przetworzenie (preprocessing) populacji początkowej na „ję­zyk” zrozumiały przez algorytm genetyczny związany jest z faktem, że algo­rytm ten operuje tylko na ciągach cyfr binarnych (0 lub 1). Oznacza to, że każ­de zdarzenie elementarne musi być wyrażone ciągiem zero-jedynkowym odpo­wiedniej długości. Każda cyfra zero-jedynkowa jest odwzorowaniem genu, zaś ciąg cyfr zero-jedynkowych, opisujących zdarzenie jednostkowe jest odwzoro­waniem chromosomu. Tak więc np. każdy parametr wniosku kredytowego do banku (zdarzenie elementarne) musi być odwzorowany przez odpowiedni ciąg genów (zer i jedynek) (minimalnie przez 0 lub 1). natomiast ciąg taki opisujący cały wniosek jest ilustracją chromosomu.

Załóżmy, że we wniosku kredytowym firma X stwierdziła, że jej przeciętny wzrost sprzedaży w ostatnich trzech latach wyniósł 3%. W takim wypadku, liczba dziesiętna 3 ma swój odpowiednik w kodzie binarnym równy 0011 i taki ciąg zero-jedynkowy jest wprowadzany do oznaczenia tego parametru dla tej firmy. Te same zasady obowiązują w sytuacji, gdy parametr ma charakter opisowy.

  1. Wstępne przetworzenie reguły decyzyjnej na ciągi zero-jedynkowe dokonuje się w analogiczny sposób, jak poprzednio. Załóżmy, że określony fragment reguły decyzyjnej, wyrażający pogląd banku na warunki udzielenia kredytu brzmi: „wnioskodawca powinien wykazać przeciętny wzrost sprzedaży w ostatnich trzech latach większy niż 5,0%”. Zakodowanie tej zasady w konwencji zero-jedynkowych ciągów przebiega następująco, przyjmując, że przedział wzrostu sprzedaży w puli złożonych wniosków zamyka się w przedziale od 0 do 10%. Przedział ten dzielimy np. na 16 przedziałów cząstkowych, o granicznej wartości 0,625, ustalamy te przedziały narastająco i każdemu z nich przyporządkowujemy cztero cyfrową liczbę binarną. Procedurę tę podajemy niżej.

Wartość w %

Wartość binarna

Wartość

w %

Wartość binarna

Wartość

w %

Wartość binarna

Wartość

w %

Wartość binarna
0,000 0000 2,500 0100 5,000 1000 7,500 1100
0,625 0001 3,125 0101 5,625 1001 8,125 1101
1,250 0010 3,750 0110 0,250 1010 8,750 1110
1,875 0011 4,375 0111 6,875 1011 9,375 1111

W regule decyzyjnej zawarty jest warunek „większy niż 5,0%” W tym celu dodajemy jedną cyfrę binarną, której wartość 1 oznacza „większy niż”, zaś wartość 0 oznacza „mniejszy, lub równy”. W tym stanie rzeczy fragment reguły decyzyjnej dotyczącej średniego wzrostu sprzedaży ponad 5,0%, jest zakodowany ciągiem binarnym 11000.

6. Ustalenie funkcji dopasowania polega na wskazaniu, które chromosomy w populacji początkowej i w jakim stopniu, spełniają warunki reguły decyzyjnej. Funkcja ta przyznaje każdemu chromosomowi (łańcuchowi cyfr binarnych) określoną wartość rzeczywistą. Im wartość ta jest wyższa, tym dany chromosom jest bardziej dopasowany do reguły decyzyjnej. Stąd zadaniem algorytmu genetycznego jest optymalizacja możliwych rozwiązań. Jeśli w populacji początkowej występuje n chromosomów, zaś fj(j=1,...,n) oznacza wartość funkcji dopasowania j-tego chromosomu, wtedy łączna wartość funkcji dopasowania dla całej populacji początkowej wyniesie $F = \sum_{j = 1}^{n}f_{j}$. Stosunek funkcji dopasowania dla j-tego chromosomu (wniosku kredytowego) do funkcji dostosowania dla całej populacji początkowej, czyli stosunek fj/F wyznacza możliwość prze­trwania j-tego chromosomu. Sposób ten oparty jest o losowy dobór „rodziców” metodą kola ruletki. Pole metody jest podzielone na sektory, z których każdy odpowiada prawdopodobieństwu wyboru chromosomu do pary rodzicielskiej, a prawdopodobieństwo to jest równe udziałowi wyboru w funkcji dopasowania dla całej populacji początkowej. Stąd prawdopodobieństwo określone jest wzo­rem fj/F. Warto w tym miejscu podkreślić, że istnieją inne możliwości tworze­nia funkcji dopasowania, niż metoda koła ruletki, jak też to, że zbyt jednostronne zwracanie uwagi na dobór chromosomów o wysokich funkcjach dopasowania prowadzi do istotnego ograniczenia obszaru przeszukiwania kandydatów na pa­ry rodzicielskie, co nie zawsze jest procedurą korzystną.

7. Stosowanie operatorów genetycznych tj. reprodukcji, krzyżowania oraz mutacji przebiega w ramach realizacji algorytmu genetycznego bez bezpośredniego nadzoru użytkownika. Najpierw algorytm selekcjonuje łańcuchy (chromosomy) z najwyższymi wartościami funkcji dopasowania i losowo dobiera ich pary. Inaczej mówiąc reprodukcja polega na losowym wyborze par „rodziców”, pochodzących z populacji początkowej, z pośród tych chromosomów, które wy­kazują najwyższe wartości funkcji dopasowania. Po wylosowaniu tych par, al­gorytm genetyczny stosuje operator krzyżowania. Przebiega on w ten sposób, że algorytm genetyczny wybiera w sposób losowy tzw. punkt krzyżowania, po czym następuje właściwe krzyżowanie, czyli wymiana genów, w wyniku czego powstaje potomek następnej generacji (nowy chromosom). Istnieje wiele spo­sobów (metod) krzyżowania. Zaprezentujemy tu najprostsze krzyżowanie jednopunktowe. Niech będą dane dwa chromosomy, składające się np. z 9 genów (długość chromosomu = 9) i niech losowo algorytm wybrał punkt krzyżowania po trzecim genie. Sytuację tą przedstawić można np. w postaci:

101|100101
001|110010

gdzie pionowa kreska oznacza punkt krzyżowania. W wyniku krzyżowania symbole po punkcie krzyżowania zostają wymienione między chromosomami, wskutek czego powstaje nowa para chromosomów następnej generacji o postaci:

101|110010
001|100101

Istnieje również możliwość ustalenia większej ilości punktów krzyżowania. I tak np. dla dwóch punktów krzyżowania, wybranych losowo, np. po trzecim i piątym chromosomie, mamy następującą sytuację:

• para rodzicielska, po wyborze dwóch punktów krzyżowania ma postać:

101|10|0101
001|11|0010

• po krzyżowaniu, następna generacja potomków ma postać:

001|10|0010
101|11|0101

Wymianie podległy ciągi trzech pierwszych i czterech ostatnich genów, a dwa środkowe pozostały bez zmian.

Operator mutacji polega na sporadycznej, tzn. zachodzącej z małym stop­niem prawdopodobieństwa, wymianie przypadkowej jednego genu. W praktyce oznacza to zamianę w parze rodzicielskiej 0 na 1 lub 1 na 0. Celem takiej opera­cji jest „ulepszenie” potomstwa, ale losowość tej procedury sprawia, że można osiągnąć skutek odwrotny od zamierzonego. Stąd operator ten stosowany jest sporadycznie.

8. Porównanie wyników osiągniętych przez działanie algorytmu genetycz­nego z regułą decyzyjną jest oparte na optymalizacyjnym charakterze tego al­gorytmu. Inaczej mówiąc algorytm podaje rozwiązanie najbardziej zbliżone do wzorca (reguły decyzyjnej) biorąc pod uwagę chromosomy występujące w po­pulacji początkowej Zezwala to na ocenę przykładowych wniosków kredyto­wych przez bank. poprzez wybór tych, które najbardziej spełniają kryteria udzie­lenia takiego kredytu.

Przykład zastosowania algorytmu genetycznego

Aby przybliżyć zrozumienie zasad działania algorytmu genetycznego w prak­tyce, posłużymy się przykładem gry VECTOR.

Opis

Gra jest prowadzona przez dwie osoby, z których jedna zapisała w sposób ukryty przed drugim graczem ciąg sześciu cyfr. Każda z tych cyfr może mieć wartość albo 0 albo 1. W naszym przykładzie jest to ukryta liczba 001010. Drugi gracz musi próbować domyśleć się, jaka to jest liczba, i to tak szybko, jak to jest możliwe. Wszystko to, co może zrobić drugi gracz, polega na zareprezentowaniu pierwszemu graczowi określonej liczby, ten zaś może oświadczyć temu drugiemu, jak wiele cyfr zero-jedynkowych jest zgodnych w podanej liczbie z ukrytym wzorcem, ale bez podawania na którym miejscu w ciągu cyfr zgodność ta zachodzi. Np. gdyby taki domysł był propozycją 110101, to ciąg ten nie miałby żadnej prawidłowej cyfry (ilość trafień - 0). Zgodność innego ciągu 111101 wykazuje tylko jedną poprawną cyfrę (trzecią od lewej strony). Stąd wartość domysłu (albo wartość rozwiązania) = 1.

Próba losowa i błąd

Istnieje 64 możliwości zbudowania sześciocyfrowych liczb zero-jedyn­kowych. Jeśli dobór tych liczb następuje w sposób losowy, potrzeba będzie przeciętnie 32 prób, aby uzyskać prawidłowy ciąg sześciu cyfr. Czy można tego dokonać szybciej? Z pewnością tak, o ile gracz drugi skorzysta z sprzężenia zwrotnego, umożliwionego przez pierwszego gracza. Jest to dokładnie to, co wykonuje algorytm genetyczny.

Rozwiązanie w oparciu o algorytm genetyczny

Krok 1

Drugi gracz (odgadujący), proponuje pierwszemu cztery ciągi cyfr wy­brane losowo (ilość czterech ciągów została wybrana dowolnie dla tego przy­kładu: w drodze eksperymentu można stwierdzić, że pięć lub sześć ciągów mogłoby być lepsze). Drugi gracz wybiera te cztery ciągi:

Biorąc pod uwagę, że żaden z czterech ciągów nie jest w pełni prawidło­wy, proces jest kontynuowany.

Krok 2

Opuszczamy (A) i (B), jako ciągi o niskim stopniu domysłu. Nazwijmy (C) oraz (D) rodzicami. „Kojarzymy” geny rodziców przez podział każdego ciągu, jak niżej:

Teraz łączymy pierwsze dwie cyfry (C) z ostatnimi czterema cyframi (D) (jest to krzyżowanie). W wyniku otrzymujemy (E), czyli pierwsze potomstwo:

• (E) 011100 - prawidłowe: trzy cyfry.

Krok 3

Podobnie łączymy pierwsze dwie cyfry (D). z ostatnimi czterema (C). W rezultacie otrzymujemy (F). drugie potomstwo:

• (F) 101011 - prawidłowe: cztery cyfry.

Wynik wskazuje, że potomstwo nie uzyskało więcej, niż rodzice.

Krok 4

Przepisujemy ciągi początkowe (C), (D).

Krok 5

Kojarzymy i skrzyżujemy nowych rodziców, ale używamy innych po­działów. Otrzymujemy dwóch nowych potomków (G) i (H):

Krok 6

Powtarzamy Krok 2; wybieramy najlepsze „pary” z wszystkich poprzed­nich rozwiązań, celem reprodukcji Występuje tu wiele opcji (takich jak G i C). Wybieramy (G) i (F). Następnie kojarzymy oraz krzyżujemy. Otrzymu­jemy w wyniku:

Krok 7

Teraz możemy wygenerować więcej potomstwa (z tych samych rodzi­ców):


Krok 8

Powtarzamy proces z (J) oraz (K), jako rodzicami i krzyżujemy:

I o to chodzi. Gracz drugi osiągnął wynik w 13 podejściach. Nie jest to wynik zły, wobec przeciętnej 32 losowych wyborów z ogólnej ilości 64 różnych możliwości.

Na tle tej gry warto podkreślić, że funkcja dopasowania dla całej populacji początkowej wynosi 1 + 1 +4+3 = 9, zaś w ramach tej populacji (cztery pierwsze losowania) funkcja dopasowania wynosi kolejno: 1 /9, 1 /9, 4/9 oraz 3/9. dla wylosowanych ciągów liczb.

Sztuczne sieci neuronowe

Sztuczne sieci neuronowe (SSN) są to programy komputerowe, stanowiące część technologii informatycznych, opartych o sztuczną inteligencję, oriento­wane na proces uczenia się przy pomocy komputera (maszynowe uczenie się), wykorzystywany do rozwiązywania trudnych problemów decyzyjnych, tzn. tak skomplikowanych, że stosowanie złożonej wiedzy standardowej staje się niewystarczające.

Proces uczenia się jest bardzo złożony. Z jednej strony występuje wiele modeli uczenia się (np. przez poszukiwanie analogii, przez obserwację czy przez analizę określonych przykładowych sytuacji itp.), a z drugiej powstaje pytanie, w jaki sposób wybrać najwłaściwszy model uczenia do rozwiązania konkretnego problemu. Jednoznacznych odpowiedzi na te problemy, jak dotąd nie ma.

Proces uczenia się u człowieka przebiega w mózgu w drodze przekazywa­nia bodźców elektrochemicznych między jego podstawowymi komponentami, jakimi są neurony, czyli komórki nerwowe. Powiązane między sobą tworzą sieć neuronów, spełniającą wiele różnych funkcji. Za realizację danej funkcji odpo­wiada zespół neuronów i zespoły te również są wzajemnie połączone.

SSN symuluje działanie biologicznych sieci neuronowych, oparte o progra­my komputerowe. Na powstanie takich programów wpływ wywarły zarówno wiedza o budowie ludzkiego mózgu, jak również matematyka, logika, staty­styka, informatyka oraz psychologia uczenia się. Takie interdyscyplinarne po­dejście spowodowało wykształcenie się wielu metod, podejść i technik stosowanych przy budowie SSN, przy czym mogą one występować samoistnie przy rozwiązywaniu danego problemu, jak również występować w sprzężeniu z in­nymi technologiami opartymi na sztucznej inteligencji, np. wraz z algorytmami genetycznymi czy systemami ekspertowymi (hybrydowe SSN).

Biologiczny i informatyczny model neuronu

Mózg ludzki zawiera około 1011 neuronów (komórek nerwowych). Każda z nich ma około 1000 wypustek (dendrytów), odbierających impulsy elektroche­miczne z innych neuronów. Łącznie, neurony i dendryty tworzą około 1014 złącz (synaps), czyli miejsc, gdzie następuje przekazanie pobudzenia (jego wzmoc­nienia, osłabienia, lub pozostawienie pobudzenia bez zmiany) do następnego neuronu lub neuronów. Inaczej mówiąc, każdy neuron działa jak przełącznik, pobudzając inne neurony i będąc sam przez nie pobudzony.

Każdy neuron posiada swój tzw. próg bodźca. Jeśli dochodzący do neuronu bodziec ma wartość niższą lub równą temu progowi, neuron nie zostaje pobu­dzony. Jeśli zaś bodziec przekracza ów próg, następuje aktywacja neuronu.

Rys. Model neuronu biologicznego

Legenda:

  1. - jądro

  2. - ciało komórki

  3. - dendryty

  4. - akson

  5. - synapsa

Podkreślić należy, że w organizmach żywych występują setki różnych rodzajów neuronów. Ponadto, neurony są podzielone na powiązane ze sobą grupy, w zależności od spełnianych przez nie funkcji.

SSN są nieporównywalnie uboższe tak pod względem ilości neuronów, jak i sposobów działania w porównaniu z sieciami neuronów biologicznych, tym nie mniej są skutecznym narzędziem przy rozwiązywaniu problemów, wymagających zastosowania wiedzy niestandardowej.

SSN symulują zatem proces uczenia się, zachodzący w mózgu. Sieci takie stosowane są w odniesieniu do konkretnego problemu, który należy rozwiązać. Stąd zadany problem jest opisany przez ciąg jego cech, przy czym obowiązuje zasada, że wszystkie cechy muszą być wyrażone liczbowo. Stąd, jeśli opis pro­blemu zawiera cechy jakościowe, wymagane jest przetworzenie wstępne, transformujące wejścia jakościowe w ilościowe. Ogólny opis sztucznego neuronu jest następujący: podobnie jak w systemach biologicznych, sztuczny neuron jest po­wiązany z jego danymi wejściowymi przez wejścia informacyjne (dendryty).

Wyjścia z neuronu mogą być dwojakiego rodzaju: albo są to wyjścia, podające wynik ostateczny działania sieci, albo też mogą stanowić wejścia informacyj­ne do innego neuronu. Wyjścia z neuronu mogą być osłabione lub wzmocnione (synapsa), co zależy od sposobu działania neuronu.

Rys. Model sztucznego neuronu

Podany opis sztucznego neuronu jest bardzo ogólny.

Sposób działania sztucznego neuronu

Każdy sztuczny neuron odgrywa rolę samodzielnego centrum przetwarzania skierowanych do niego danych wejściowych. Proces takiego przetwarzania uwzględnia:

  1. pobranie danych wejściowych;

  2. ustalanie wag dla każdego wejścia;

  3. zastosowania funkcji sumującej;

  4. zastosowanie funkcji transformacji;

  5. uwzględnienie stopnia szybkości uczenia się.

1. Pobieranie danych wejściowych. Załóżmy, że do neuronu skierowanych jest n wejść xi (i = 1,..., n). Wejścia te mają charakter treningowy, tzn. że na nich SSN będzie przeprowadzała stosowne obliczenia w procesie uczenia się. Generalnie można stwierdzić, ze wejścia te stanowią liczbowe charakterystyki cech rozwiązywanego przez SSN problemu.

2. Poszczególne wejścia do neuronu, ilustrujące cechy ilościowe rozwiązywanego problemu mają względem niego różny stopień istotności (ważności). Z tego powodu, każde indywidualne wejście do neuronu ma nadaną mu wagę. Jeśli zatem do neuronu skierowano n wejść xi (i = 1,..., n), to każde wejście otrzymuje przyporządkowaną mu wagę wi (i = 1,..., n).

3. Stosowanie funkcji sumującej. Jeśli wszystkie wejścia do neuronu otrzymały odpowiednie wagi, neuron stosuje funkcję sumującą: $F = \sum_{i = 1}^{n}{x_{i} \bullet w_{i}}$ czyli sumę ważoną jego wejść. Zasada ta jest wspólna dla wszystkich neuronów w SSN.

4. Zastosowanie funkcji transformacji. Neuron może być pobudzony do działania w różnym stopniu, albo może nie być pobudzony. Powstaje pytanie w jakich sytuacjach występują takie zachowania sztucznego neuronu? Pobudzenie neuronu określone jest funkcją, w oparciu o którą on działa. Funkcja ta jest wyrazem stopnia wewnętrznej aktywacji neuronu. Stosunek zachodzący między stopniem aktywacji neuronu, a wynikiem jego działania może mieć zarówno
charakter liniowy, jak i nieliniowy. W najprostszym przypadku funkcja, w oparciu o którą działa sztuczny neuron, przyjmuje postać tzw. wartości progowej (threshold value). Wartość ta ustalana jest zazwyczaj jako liczba z przedziału (0-1). Np. ustalenie wartości progowej na poziomie 0,5 oznacza, że jeśli wartość funkcji sumującej będzie mniejsza, lub równa 0,5, wtedy wyjściem z neuronu jest 0, w przeciwnym wypadku wyjście przyjmuje wartość 1. Stosowanie
takiej funkcji jest jednak zbyt proste, biorąc pod uwagę, że nie istnieje tu możliwość obliczania wartości pośrednich, zaś działanie neuronu jest bardziej złożone niż w omawianej sytuacji. Stąd w praktyce przyjmuje się różne postacie funkcji transformacji sztucznego neuronu. Najczęściej stosuje się tu dwie funkcje: funkcję logistyczną (od jej kształtu zwaną też funkcją sigmoidalną) oraz funkcję tangensa hiperbolicznego.

Funkcja logistyczna ma postać:

$\gamma_{\text{WY}} = \frac{1}{1 + e^{- Y}}$,

gdzie γWY jest wartością wynikową obliczoną przez neuron, zaś Y jest wartością funkcji sumującej. Konkretny kształt funkcji logistycznej zależy od stopnia jej stromości. Stromość funkcji jest wyznaczona przez odpowiedni parametr β, który w większości zastosowań przyjmuje wartość 1, stąd pominięty jest we wzorze funkcji. Funkcja logistyczna przyjmuje wartości z przedziału (0,1), a jej przebieg zachodzi w granicach (-∞, +∞).

Rys. Przebieg funkcji logistycznej

Funkcja tangensa hiperbolicznego dana jest wzorem: $\gamma_{\text{WY}} = \frac{1 - e^{- Y}}{1 + e^{- Y}}$ (oznacze­nia analogiczne jak dla funkcji logistycznej). Graficzny kształt tej funkcji jest podobny do funkcji logistycznej, z tym, że przebiega ona wartości od — 1 do +1, a jej zakres jest również w granicach (-∞, +∞).

Rysunek 8.4. Przebieg funkcji tangensa hiperbolicznego

Załóżmy przykładowo, że do neuronu skierowane są trzy wejścia x1, x2, x3 o odpowiednich wartościach: 1, 3, 5. Wagi tych wejść są następujące: w1 = 0,1, w2 = 0,2 i w3 = 0,3. Stąd funkcja sumująca Y = 2,2, natomiast γWY = 0,9 (dla funkcji logistycznej).


5. Uwzględnienie stopnia szybkości uczenia się. Proces uczenia się SSN jest procesem dochodzenia do optymalnego rozwiązania zadanego problemu. Proces ten może przebiegać szybciej lub wolniej i powinien być określony, za­nim SSN zacznie działać. Idea problemu szybkości uczenia się wychodzi z za­łożenia, że dochodzenie do wartości optymalnej w rozwiązaniu problemu po­lega na minimalizacji błędu obliczeń, w stosunku do rozwiązania najlepszego w danych warunkach. Uczenie się jest pewną funkcją, na ogół ciągłą, podczas gdy w praktyce uczenie się odbywa skokowo. Ten skok (zwany gradientem) może być różnej wielkości. Ustalenie zbyt dużego gradientu skraca wprawdzie czas uczenia się, ale grozi powstaniem sytuacji, że obliczenia SSN ominą punkt optymalny na funkcji uczenia się i mogą oscylować wokół niego. Z drugiej stro­ny, ustalenie małej wartości gradientu, oddala niebezpieczeństwo nieosiągnięcia optimum, ale wydłuża czas uczenia się.

Najczęściej ustala się parametr szybkości uczenia się w tej samej wartości dla wszystkich neuronów SSN w granicach 0,5-0,9, ale nie jest to regułą. Parametr ten powinien być ustalany eksperymentalnie.

Schemat sztucznej sieci neuronowej

SSN składa się zawsze z trzech warstw:

  1. warstwy wejściowej;

  2. warstwy wyjściowej;

  3. warstwy ukrytej.

1. Warstwa wejściowa (input layer) do SSN zawiera liczbowe dane, typowe dla wykonywanego przez SSN zadania. Jest to warstwa „bierna", tzn. nie uczestnicząca bezpośrednio w pracy SSN, a jedynie dostarczająca do niej informacyjnego „surowca". Wejścia informacyjne muszą być wyrażone liczbowo, co wymaga wstępnego przetworzenia danych jakościowych. W zależności od rodzaju takich jakościowych wejść, np. słów, czy obrazów, nastąpić musi ich digitalizacja, czyli ich transformacja zerojedynkowa.

I tak np. treść słowna danej wejściowej może być przetworzona na kod ASCI (np. litera a jest odwzorowana przez ciąg 01000001).

2. Warstwa wyjściowa (output layer) z SSN stanowi wynik rozwiązania problemu. Wynik ten może być ustalony z góry (wzorzec), może też być ustalony przez SSN. W pierwszym wypadku, obliczone wyjście przez SSN uznane jest za ostateczne, gdy albo pokrywa się z wzorcem, albo też – w sytuacji przeciwnej - SSN zminimalizowała zaistniałą różnicę. W wypadku drugim, nie występuje wzorzec i wtedy określone rozwiązanie, dokonane przez SSN. traktuje się jako ostateczne. Istnienie wzorca lub jego brak jest związane z rodzajem uczenia się SSN, o czym jest mowa nieco dalej.

Rodzaj wyjścia z SSN może być różny, zależny od problemu. Na przykład może to być wyjście zerojedynkowe (Tak-Nie). Może również być oparte na jego klasach (np. duże ryzyko, średnie ryzyko, małe ryzyko udzielenia przez bank kredytu: stopnie ryzyka mogą być wyrażone np. w przedziałach procentowych).

3. Warstwa ukryta (hidden layer) stanowi właściwą SSN. Warstwa ukryta składa się z jednej lub więcej warstw, każda zaś warstwa zawiera określoną ilość sztucznych neuronów. Ilość warstw w praktyce ograniczona jest do kilku (3-5), każda zaś warstwa może zawierać od 10 do 1000 neuronów.

Nie ma ścisłej odpowiedzi na pytanie z ilu neuronów powinna się składać SSN w odniesieniu do konkretnego problemu? W praktyce stosuje się odpowiednie procedury do szacowania tej ilości, ale w takich sytuacjach dojść może albo do niedoszacowania, albo do przeszacowania ilości neuronów. Inne metody pozwalają budować sieć przyrostowo, lub ograniczać już istniejącą sieć w zależności od przebiegu procesu uczenia się. Można też zastosować do tego celu metody hybrydowe przez połączenie SSN z algorytmami genetycznymi.

Warstwa ukryta może wykazywać różną architekturę. Do najczęściej stosowanych, należą:

Zasada ta polega na porównaniu obliczonego wyjścia z neuronu j-go, z wyjściem żądanym (w warstwie wyjściowej) oraz na obliczeniu różnicy, wynikłej z takiego porównania, która wyznacza skalę błędu (Δ). Wartość tą mnoży się przez pochodną funkcji aktywacji neuronu i o tą nową wartość koryguje się pierwotne wagi nadawane każdemu wejściu do neuronu j, w poprzedzającej go warstwie. Jeśli użyjemy funkcji logistycznej, jako funkcji aktywacji neuronu, to oznaczając ją przez jej pierwsza pochodna dg/dx = g(1-g). Stąd korekta wag (φ) dana jest wzorem:

φ = Δ dg/dx = Δ g(1 - g).

Procedura ta powtarza się dopóki wyjście z neuronu nie osiągnie wartości żądanej, bądź wartości minimalizującej błąd;

sieci komórkowe, oparte o zasadę połączeń, zachodzących między neuronami występującymi w sąsiedztwie (Zieliński. 2000).

8.5.5. Algorytm uczenia się neuronu

Algorytm uczenia się neuronu stanowi o sposobie, w jaki neuron przetwarza dochodzące do niego dane. Takich algorytmów jest używanych w praktyce ponad 100. Dają się one ująć w dwie podstawowe grupy:

Przykład działania SSN

Celem ilustracji sposobu działania SSN. przedstawimy prosty przykład, zaczerpnięty z pracy E. Turbana (Turban. 1998. s. 666-669).

„Rozważmy pojedynczy neuron, który uczy się wyłącznie operacji „lub", klasycznej operacji alternatywy w logice symbolicznej. Mamy tu dwa elementy wejściowe: X1 oraz X2. Jeśli oba te elementy, lub jeden z nich jest prawdziwy, wtedy wynik (alternatywa przyp. WF) jest też prawdziwa. Można to przedstawić jak niżej: (0 - fałsz, 1 - prawda. WF)

Wejścia

Stan
1
2
3
4

Neuron musi nauczyć się rozpoznawać wzorce wejściowe i sklasyfikować je w celu otrzymania odpowiedniego wyjścia. Procedura polega na przedstawieniu neuronowi sekwencji czterech wzorców wejściowych tak, że wagi będą dla nich przystosowane przez komputer po każdej iteracji (używając sprzężenia zwrotnego dla powstałego błędu, obliczonego przez porównanie estymowanego wyniku z wynikiem żądanym). Ten krok jest powtarzany dotąd, aż wagi zbiegną się do jednolitego zbioru wartości, który pozwoli neuronowi poprawnie sklasyfikować każdą z czterech wejść.

Wyniki ilustruje poniższa tabela. W tym prostym przykładzie użyta jest funkcja skokowa do oszacowania sumowania wartości wejściowych. Po obliczeniu wyjść, miara błędu (Delta) między wyjściem, a pożądaną wartością użyta jest w celu aktualizacji wag kolejno wzmacniających prawidłowy wynik. W każdym kroku przetwarzania przez neuron zakładamy, że Δ = Zj — Yj, gdzie Z oraz Y oznaczają odpowiednio pożądaną i aktualną wartość wyjścia. Stąd. uaktualnione wagi wyjścia obliczone są wg reguły:

Wi* (końcowe) = Wi-(początkowe) + a Δ Xi (i = 1,2)

gdzie a jest parametrem szybkości uczenia się neuronu. (Zakłada się, że a = 0.2, natomiast wartość progowa neuronu wynosi 0.5 WF)

Jak wynika z powyższej tabeli, każde obliczenie dotyczy jednego elementu z pary X1 i X2 oraz odpowiadających im wartości operacji alternatywy, zgodnie z początkowymi wartościami wag neuronowych W1 i W2. W tym przykładzie wartość wag początkowych określona jest losowo, zaś stopa uczenia (α) ustalona jest na niskim poziomie. Parametr Δ użyty jest do obliczenia końcowych wag, które stają się wagami początkowymi w następnej iteracji (rzędzie).

Początkowe wartości wag dla każdego wejścia podlegają transformacji przy zastosowaniu wyżej podanej reguły, używanej w kolejnym wejściu (rzędzie). Wartość progowa powoduje, że wartość wynosi 1 w następnym rzędzie, jeśli suma ważona wejść jest większa niż 0,5; w przeciwnym wypadku wyjście równa się zeru. W przykładzie, w pierwszym kroku, dwa z czterech wyjść są nieprawidłowe, gdyż Δ = 1 i nie znaleziono prawidłowych wag. W następnych krokach algorytm uczenia usprawnia wyniki, dotąd, aż w końcu utworzy wagi, dające prawidłowy rezultat (0,7 dla obu wag)".

Otrzymane wyniki należy interpretować w następujący sposób: jeśli w konkretnych zastosowaniach, alternatywa określona jest z prawdopodobieństwem większym niż 0,7, wtedy jest ona prawdziwa. Jeśli zaś prawdopodobieństwo to jest mniejsze lub równe 0,7, alternatywa jest fałszywa.

Zastosowania SSN

Zastosowania SSN w dziedzinie ekonomii oraz zarządzania obejmują coraz to nowe dziedziny i problemy. Bezpośrednio SSN stosowane są m.in. do wykrywania stałych wzorców zachowań klientów, prognozowania zapotrzebowania na energię elektryczną, prognozowania cen na rynkach kapitałowych, określania profilu klienta, transakcji na rynkach kapitałowych (np. minimalizacji ryzyka bankowego przy udzielaniu kredytów) czy do rozpoznawania typowych wzorców zachowania rynków.

Systemy ekspertowe

Systemy ekspertowe (SE) (Expert Systems), są to technologie oparte o sztuczną inteligencję, operujące na wyspecjalizowanej wiedzy w zakresie specyficznego obszaru ludzkiej działalności. Wiedza ta zorganizowana jest w ten sposób, że umożliwia SE wejść w interakcyjny dialog z użytkownikiem, w wyniku czego, system może oferować rozsądne rady lub proponować rozsądne decyzje oraz objaśniać sposób rozumowania, leżący u podstaw tych rad i propozycji (Flakiewicz, 1990). Tak więc podstawowym zadaniem SE jest symulowanie procesu wnioskowania, zachodzącego w mózgu człowieka.

Wiedza gromadzona w SE pochodzi z różnego rodzaju ekspertyz. Pojęcie ekspertyzy jest bardzo szerokie. W najogólniejszym rozumieniu jest to badanie specjalistyczne przeprowadzone przez ekspertów (specjalistów w danej dziedzinie), w celu wydania opinii lub orzeczenia w danej sprawie. Ekspertyza może dotyczyć zarówno teorii stosowanych w sferze danego problemu, stojącego do rozwiązania, jak i reguł oraz procedur możliwych do zastosowania w danej sytuacji, heurystyk, odpowiadających na pytanie: co można zrobić w danym, konkretnym wypadku, strategii rozwiązania problemu, czy też faktów istotnych w danej sytuacji. (Turban, 1998). Wyniki takich ekspertyz, dokonanych przez odpowiednio dobranych specjalistów, powinny rozpoznać i zdefiniować problem rozwiązywany przez SE, określić sposób jego rozwiązania, zinterpretować takie rozwiązanie, jak też określić jego istotność dla użytkownika SE:

Z powyższych powodów, dla każdego problemu, rozwiązywanego przez SE należy wyodrębnić:

Stąd w każdym SE możemy wyróżnić:

Ogólną strukturę SE ilustruje Rys. 8.6. Poszczególne części SE omówione będą kolejno.

Rys. Ogólna struktura systemu ekspertowego


  1. On-line Transaction Processing - charakteryzuje się dużą ilością prostych transakcji zapisu i odczytu. Główny nacisk kładziony jest na zachowanie integralności danych w środowisku wielodostępowym oraz na efektywność mierzoną liczbą transakcji w danej jednostce czasu.

  2. On-line Analytical Processing - charakteryzuje się stosunkowo nielicznymi, ale złożonymi transakcjami odczytu. Miarą efektywności jest czas odpowiedzi. Powszechnie wykorzystuje sie go w technikach związanych z Data Mining'iem.


Wyszukiwarka

Podobne podstrony:
Opakowania inteligentne i aktywne, Technologia żywności i żywienia człowieka, Opakowania
Systemy Eksportowe są nurtem badań nad sztuczną inteligencją, Szkoła, penek, Przedmioty, Technologia
Inteligentne opakowania, Technologia żywności i żywienia człowieka, Opakowania
SPRAWOZDANIE literki, POLITECHNIKA ŚLĄSKA Wydział Mechaniczny-Technologiczny - MiBM POLSL, Inżyniers
Opakowania inteligentne i aktywne, Technologia żywności i żywienia człowieka, Opakowania
PORÓWNYWANIE TECHNOLOGII
19 Mikroinżynieria przestrzenna procesy technologiczne,
Technologia informacji i komunikacji w nowoczesnej szkole
Technologia spawania stali wysokostopowych 97 2003
SII 17 Technologie mobilne
W WO 2013 technologia
TECHNOLOGIA PŁYNNYCH POSTACI LEKU Zawiesiny
technologia prefabrykowana
Technology & Iventions
Technologia Maszyn CAD CAM
INTELIGENCJA

więcej podobnych podstron