10. Inżynieria Wirtualna w Optymalizacji Systemowej i w Inżynierii Systemów

10.1 Technologie informatyczne, sztuczna inteligencja, sztuczne życie
10.2 Systemy ekspertowe i sieci neuronowe
10.3 Zastosowania automatów komórkowych w inżynierii wirtualnej
10.4 Algorytmy genetyczne sztuczne życie i programowanie ewolucyjne
10.5 Podsumowanie - Data Mining
Strona główna

Wpierw pytanie zasadnicze, co to jest ? Inżynieria Wirtualna ? nigdy nie słyszałem odpowie każdy zaskoczony takim pytaniem. Ale potem po chwili zastanowienia, no a może to tak, co robi inżynier w ogóle ?, ano koncypuje, projektuje, wytwarza, użytkuje i kasuje (likwiduje) powołane do życia systemy - to inżynieria. No świetnie, a co oznacza dalej 'wirtualna' - dosłownie pomyślana, nierzeczywista, np. symulowana, znamy już przecież 'wirtualną rzeczywistość' nie tylko z kina ale z usług jakie oddaje np. przy szkoleniu załóg lotniczych, kosmicznych i innych. W przeszłości słyszeliśmy o nowościach typu: komputerowo wspomagane projektowanie - Computer Aided Design (CAD), które obecnie jest faktem dnia codziennego, komputerowym wspomaganiu wytwarzania - Computer Aided Manufacturing (CAM), komputerowym wspomaganiu obsługiwania - Computer Aided Maintenance (CAM), komputerowo zintegrowanym wytwarzaniu - Computer Integrated Manufacturing (CIM), a wreszcie ostatnio mówiono o komputerowo wspomaganej inżynierii - Computer Aided Engineering (CAE), patrz rysunki 10.1 oraz 10.2. Jeśli do tego wspomnieć, że są już dostępne komputerowe programy optymalnej utylizacji likwidowanych obiektów technicznych, (np. samochodów), optymalne z punktu widzenia potrzebnej energii, czasu na demontaż i zanieczyszczenia środowiska, to pozostanie do obsadzenia jeszcze tylko komputerowo wspomagane koncypowanie, czyli synteza, czyli robienie innowacji i wynalazków. Jak zobaczymy później i to zaczyna być zwolna możliwe przy wsparciu technologii informatycznych, a lepiej powiedziawszy sztucznej inteligencji, a więc możemy mówić o pełnym zakresie prac prowadzonych wirtualnie, czyli o Inżynierii Wirtualnej, tak jak na poniższych rysunkach .

Rys. 10.1 Zastosowanie wspomagania komputerowego w cyklu życia produktów i systemów [6].

Rys. 10.2 Przykładowe rozwinięcie wspomagania komputerowego informatycznego wielu czynności inżynierskich w systemie projektowania Pro/Engineer, http://www.ptc.com [6].

10.1 Technologie informatyczne, sztuczna inteligencja, sztuczne życie

To o czym teraz będziemy mówić można przypisać wszystko komputerom, będzie to skrajne uproszczenie, bo sercem każdego komputera jest mikroprocesor, i to on zestawiony w różnych konfiguracjach softwarowych i hardwarowych jest najistotniejszym czynnikiem w technologii informatycznej i w sztucznej inteligencji. Nazewnictwo narzędziowe nie jest zbyt szczęśliwe, dlatego też gdzie się da będę unikał słowa 'komputerowy', bo niektórym się zdaje iż jest to słowo wytrych. A jest to podobnie jak mówił ogniomistrz Kaleń w jednym z polskich wojennych filmów ' chlebak' - jak sama nazwa wskazuje, służy do noszenia granatów. Obecnie komputer też służy do wszystkiego innego a na samym końcu do obliczeń (to compute -ang). Wg. definicji Principia Cybernetica Web (http://pespmc1.vub.ac.be/ASC) , Technologie Informatyczne (a) (Information Technology - IT), to technologie przetwarzania, przechowywania i transmisji informacji. Włącza to w szczególności technologie komputerowe, różne technologie komunikacji, elektroniczną, radiową, optyczną, itd. Teraz wiemy o czym mówimy i nie damy sobie w głowie kręcić przez ludzi niedoinformowanych. A co to takiego sztuczna inteligencja (atrificial inteligence - AI) ? Istnieje wiele kontrowersyjnych definicji, wg tego samego źródła internetowego, sztuczna inteligencja to dział nauk komputerowych studiujących jak programować komputery by wykazywały inteligentne zachowanie, rozpoznawanie obrazów, , wnioskowanie, dowodzenie twierdzeń, tłumaczenie i rozpoznawanie języków, zaawansowane gry, np. szachy, uczenie się i nauczanie, programowanie komputerów, symulacja sztucznego życia, itd. No a co to jest sztuczne życie ? Cytując Chrisa LANGTONA z Trzeciej cywilizacji [ 13 s 478] mamy. 'Trudno nakreślić granicę między życiem i inteligencją. Zarówno sztuczne życie, jak i sztuczna inteligencja zajmują się badaniem układów, które samodzielnie decydują o tym co zrobią w zależności od informacji, jakie w nich ulegają odebraniu i przekształceniom. Przypadek sztucznej inteligencji jest o tyle szczególny, że do tej pory nie znamy żadnych odgórnych zasad, które mogłyby rządzić inteligencją'.

Tyle ogólnie przejdźmy teraz do zastosowań inżynierii wirtualnej, sztucznej inteligencji i sztucznego życia w inżynierii systemów.

10.2 Systemy ekspertowe i sieci neuronowe

Wyobraźmy sobie drzewo decyzji tak jak np. na rysunku 9.11 dotyczącym odbioru projektu technicznego, lub wiercenia w poszukiwaniach ropy, popatrzmy że jeśli sprecyzujemy drogę podejmowania decyzji, to potrafimy dojść do końcowego stanu wypłaty.

Na przykład:

Lub pisząc to ogólnie bez prawdopodobieństw:

GDY(x1 jest Ai ) I (x2 jest Bj ) ....... TO (y jest Ck ). (10.1)

Zauważmy, że w tym ogólnym przypadku nie precyzowaliśmy czy zaczynamy od końca czy od początku. Ważna jest tylko ścieżka decyzji oparta na znanych przesłankach lub zaobserwowanych symptomach. Zauważmy również nie będzie przeszkód by mikroprocesor wykonał tego typu zaprogramowaną ścieżkę lub ścieżki. Proszę zatem wytężyć wyobraźnie i odpowiedzieć gdzie tego typu problemy spotkamy? A więc, diagnostyka medyczna, techniczna, pomoc w skomplikowanym montażu, testowaniu, np. gotowości samolotu rakiety, w kształceniu i dokształcaniu, we wszystkich operacjach opartych na logice JEŚLI(*) - TO (&) , czyli o systemach ekspertowych.

Zwróćmy tu uwagę na jedną zarysowaną już możliwość widoczną silnie w przykładzie nr 2, np. (pedał gazu silnie wciśnięty), co to znaczy, jak jest miara wciśnięcia ? Ano taka - jest to bowiem zmienna lingwistyczna i / lub rozmyta. A więc nasze przesłanki decyzyjne jak i decyzje to zmienne lingwistyczne, lub rozmyte bowiem nie mamy ich dokładnej skali liczbowej, jedynie opis (zmienna lingwistyczna), lub zakres zmienności (zmienna rozmyta). Dla ilustracji weźmy jeszcze raz przykład i proszę odgadnąć jak to zmienna:

GDY(ładna buzia) I(ładne nogi) I(kształtne ciało)...... TO(będzie mi się podobać),

GDY(blacha zbiornika cienka) I (średnica duża) I(ciśnienie duże) TO (możliwość pęknięcia zbiornika).

W tym pierwszym przypadku nie mamy szans zdefiniowania ani skali zmiennej ani zakresów zmienności, natomiast w tym drugim, wszystko może być zdefiniowane, co najwyżej rozmyte. A jak się dokonuje rozmywania zmiennej tzw. fuzzyfikacji i defyzzyfikacji pokazuje rys. 10.3, dla przypadku funkcji przynależności Gaussa, [ 65 ]. Funkcje te bywają zazwyczaj znacznie prostsze, jako prostoliniowe aproksymacje tych pokazanych na rysunku.

Rys. 10.3 Przykład fuzzyfikacji i defazzyfikacji zmiennych metodą funkcji przynależności Gaussa.( Piegat 2.4) [65].

Wiedząc to znamy już zasadę pracy systemów ekspertowych, oczywiście system rzeczywisty musi jeszcze wiedzieć i umieć, tzn. będzie miał co najmniej bazę wiedzy, zbiór reguł GDY(*) .....TO&), i bazę danych jeśli ma połączenie pomiarowe z obiektem o którym ma wydać decyzję o stanie zdatności technicznej lub płynności kredytowej, finansowej, itp. i układ wnioskowania (inference engine).

Jak widać jest to bardzo pięknie, bowiem system ekspertowy potrafi nas wyręczyć, zastąpić w wielu trudnych sytuacjach decyzyjnych. Tak, pod jednym warunkiem, że reguły wnioskowania będą dostępne i jednoznaczne. Nie zawsze tak jest, jest wiele przypadków realnych ekspertów podejmujących wspaniałe decyzje, które nie można wyartykułować w postaci reguły. Ta wiedza jest, lecz jest to wiedza niejawna. W takich przypadkach w sukurs systemom ekspertowym przychodzi następna warstwa sztucznej inteligencji - sieci neuronowe.

Sieci neuronowe, a właściwie sztuczne sieci neuronowe (Artificial Neural Networks -ANN), to softwarowe analogony neuronów i ich połączeń w mózgu ludzkim. Cała idea bazuje na pracy Mc W. Culloch'a i W. Pitt'sa z roku 1943, A logical Calculus of the Ideas Immanent in Nervous Activity, w której po raz pierwszy przedstawili matematyczny opis komórek mózgu. Podstawowym elementem sieci jest sztuczny neuron, element wielowejściowy i jednowyjściowy, który wysyła sygnał (y) bazując na ważonej (wi ) sumie wejść (xi ) jak niżej

, (10.2)

gdzie j (*) jest na ogół funkcją nieliniową: a w szczególnym przypadku liniowym, sygnał wyjścia będzie ważoną sumą wejść. Neuron taki przedstawiony jest na rysunku 10.4 w ślad za [ 63 ], i jak widać może on mieć teoretycznie bardzo dużo wejść, i po przetworzeniu sygnałów wejściowych wysyła swój sygnał y, np. do innego neuronu, i w ten właśnie sposób powstaje sieć neuronowa. Obecnie istnieje wiele odmian sieci neuronowych, na ogół trójwarstwowych, z warstwą wejściową przyjmującą sygnały, warstwą ukrytą, do której nie mają dostępu nieprzetworzone sygnały wejściowe i nie ma w niej połączeń wzajemnych, i warstwą wyjściową podającą wynik obliczeń, tak jak to przedstawia rysunek 10.5.

Rys 10.4 Schemat przetwarzania sygnałów pojedynczego neuronu [63].

 

Rys 10.5 Typowa architektura sztucznej sieci neuronowej [63].

Co takiego szczególnego potrafi sieć neuronowa, potrafi się uczyć czyli wykrywać relacje między wejściem i wyjściem. Jeśli zatem podamy jej znane wzajemnie sobie odpowiednie zbiory wejść i wyjść, to w wyniku takiego treningu sieć nauczy się rozpoznawać następne wejścia dając poprawne wynik. Potrafi zatem to robić czego zabrakło systemom ekspertowym, wykrywać (samodzielnie lub z nauczycielem - zależnie od typu sieci) niejawne relacje miedzy dwoma zbiorami danych. Nie będziemy dalej wnikać w istotę działania sieci, bo nie jest to nam tu potrzebne, wystarczy wiedzieć, iż każdy szanujący się komputerowy system obliczeniowy posiada możliwość symulacji sieci neuronowych, a niektóre nawet specjalne przyborniki (toolbox) z sieciami neuronowymi, jak np. MATLABŽ. Zainteresowanych odsyłamy do specjalistycznej literatury (np. [ 66 ]), tutaj zaś na zakończenie przedstawimy przykładowy zakres problemów możliwych do rozwiązania za pomocą sieci neuronowych i systemów ekspertowych (rys. 10.6) w ślad za [ 46 ], (lista ta wciąż rośnie).

Rys.10.6 Przykładowa lista zadań rozwiązywanych przez systemy ekspertowe i sieci neuronowe [46].

Ja widać lista ta jest bogata ujmująca wszystkie możliwe aspekty zastosowań w nauce, w technologii, gospodarce, zaś warto zauważyć iż jedna trzecia rozwiązywanych zadań nie pokrywa się wzajemnie.

10.3 Zastosowania automatów komórkowych w inżynierii wirtualnej

Do tej pory nasz software potrafi znaleźć logiczne przyporządkowanie (system ekspertowy), a nawet odcyfrować przyporządkowanie niejawne (sieć neuronowa), np. wejścia i wyjścia systemu, nie potrafi natomiast odróżnić największej doliny w zbiorze dolin (minimalizacja), lub dotrzeć samodzielnie na szczyt największego wzniesienia (maksymalizacja). To znaczy nie potrafi objąć całego pejzażu możliwości, ani też wykonać coś nowego, nieistniejącego, choćby odtworzyć samego siebie. Samoreprodukcja lub samoreplikacja to pomysł John'a von NEUMANN'a jednego z twórców softwaru współczesnych komputerów , (obok Alan'a TURING'a). Obmyślił on samoreplikujący się automat, tzn, softwarowego robota zdolnego do samo odtworzenia, wg współczesnych standardów program taki zajmuje 500 kB - tyle samo co pierwszy wirus Internetowy wynaleziony 40 lat później.

Kluczem do samoreprodukcji, co odkrył von Neumann [64], jest złożoność. 'Na niskim jej poziomie następuje degeneracja złożoności, dowolny automat prosty może produkować tylko jeszcze prostszego, jednak po przekroczeniu pewnego poziomu złożoności mogą istnieć automaty zdolne do samoreprodukcji'. Obecnie okazuje się, że po przekroczeniu pewnego poziomu, dalszy wzrost złożoności programów do wykonywania nowych bardziej złożonych zadań nie jest konieczny. Dzięki nieuchronnym mutacjom spowodowanym przez błędy logiczne w działaniu automatu, jego reprodukcja nie jest w pełni przewidywalna i powoduje z biegiem czasu pojawianie się coraz bardziej złożonych automatów czyli sztucznych organizmów. Jeśli zasoby środowiska są ograniczone, np. pamięć komputera i czas dostępu do procesora, to musi się pojawić ciśnienie selekcyjne jak w darwinowskiej ewolucji, co w wielkim skrócie prowadzi do programów genetycznych i programowania ewolucyjnego.

Zanim jednak do tego dojdziemy warto pokazać istotną modyfikację automatów komórkowych zaproponowaną przez Ulama, a wykorzystywaną przy rozwiązywaniu wielu zagadnień technicznych. Jeśli w każdej komórce automatu będą wykonywane podstawowe obliczenia lub operacje logiczne, to taki twór zaproponowany przez Ulama można nazwać automatem komórkowym. Proszę wyobrazić sobie szachownicę i na niej kilka żetonów do gry w ŻYCIE, to gra lub program komputerowy który na szachownicy daje nam potencjał 'stwórcy'. Oto reguły gry. Jeśli pusty kwadrat sąsiaduje z trzema zajętymi kwadratami (licząc również kwadraty sąsiednie po przekątnej) to na tym kwadracie stawiamy nowy żeton - dzięki wsparciu (miłości) sąsiadów kwadrat 'ożywa'. Jeśli kwadrat sąsiaduje z dwoma zajętymi kwadratami, to nic się nie zmienia. Jeśli natomiast zajęty kwadrat ma dowolną inną liczbę sąsiadów, to traci żeton - 'umiera' z powodu tłoku lub braku sąsiedzkiej miłości [64 s 132 ]. Reguły te mogą stanowić odpowiedniki praw fizyki, chemii, biologii, a układy żetonów odpowiedniki rzeczywistych obiektów. Okazuje się z przebiegu wielu wariantów tej gry, iż pewne konfiguracje początkowe mogą dać skomplikowane ewolucje 'żyjących' obiektów, że automat komórkowy równoważny jest maszynie Turing'a i stosuje się je z powodzeniem do symulacji takich złożonych zjawisk jak: rozwój biologiczny, przebieg reakcji chemicznych, wzrost kryształów, struktura płatków śniegu, meandry rzeczne, i generalnie wzrost, agregacja, reprodukcja, konkurencja i ewolucja. W automatach komórkowych obliczenia przebiegają w każdej komórce jednocześnie, były one zatem prekursorami komputerów wieloprocesorowych, ale również do chwili obecnej konstruuje się coraz bardziej złożone elektroniczne (hardwarowe) automaty komórkowe do specjalnych zadań. Jedno z najlepszych zastosowań automatów komórkowych daje predykcję czasu twardnienia betonu o zadanym składzie. Cement w proszku jest znany od czasów Rzymskich, lecz z uwagi na bardzo zróżnicowaną strukturę ziaren od 1m m do 100m m, po zmieszaniu z wodą daje zawiesinę w której zachodzą bardzo różnorodne reakcje chemiczne, jedne dają produkty uwodnienia, inne reagują z wodą i miedzy sobą, a jeszcze inne tworzą kryształy w porach. A ponieważ po zmieszaniu ze żwirem mamy konglomerat z cząstkami rzędu centymetra, to całość tworzy mieszankę o skali wymiarów rzędu 107 . Automat komórkowy doskonale modeluje proces twardnienia betonu, w ten sposób zdefiniowano nawet tzw. punkt perkolacji, w którym następuje twardnienie, bowiem następuje tu mierzalny skok własności mechanicznych betonu, np. możliwość propagacja fal ścinających [64 s145].

Automaty komórkowe to możliwość rozwiązywania pewnych zagadnień należących do klasy niepoliczalnych - NP., np.: + jaki jest najbardziej ekonomiczny schemat obwodu drukowanego w komputerze, + jaka jest najkrótsza droga miedzy zbiorem miast jeśli każde może komiwojażer odwiedzić tylko raz, + jaki powinien być skład cementu by zastygł on w określonej chwili ? Umożliwiają one bowiem zastosowanie tzw. symulowanego wyżarzania (simulated annealing), co w przypadku wielowymiarowej funkcji celu typu krajobrazu o wielu dolinach i wzgórzach pozwala przez tzw. wyżarzanie (podniesienie 'temperatury' i wolne schładzanie) pozwala ominąć kolejne szczyty górskie i znaleźć najniższą dolinę. Dzięki tej metodzie zastosowanej do automatów komórkowych można było rozwiązać problem najlepszego składu 'szkła spinowego', właściwej trasy tankowców, rozchodzenie się fal sejsmicznych w złożu naftowych, wszędzie tam gdzie w problemie optymalizacji mamy pejzaż z wieloma maksimami / minimami.

10.4 Algorytmy genetyczne sztuczne życie i programowanie ewolucyjne

Z podglądania naszej rzeczywistości wynika, że biologiczna ewolucja stanowi bardzo silny paradygmat wskazujący sposoby atakowania praktycznie nierozwiązywalnych problemów za pomocą tzw. algorytmów i programów genetycznych. Technika ta polega na komputerowej symulacji ewolucji, co pozwala na 'wyhodowanie' najlepszej łopatki turbiny samolotowej lub znalezienie najlepszej drogi przesyłania informacji w ogromnej sieci łączności. Są to niezwykle złożone problemy optymalizacji z iście himalajskim pejzażem dostosowania. Cyfrowy darwinizm jest bardzo skuteczną metoda rozwiązywania takich problemów . ... Bowiem sedno darwinowskiej ewolucji polega na znajdywaniu ulepszeń, a nie na rozwiązaniach optymalnych. W ostatnich latach wielu uczonych skorzystało z jej wskazówek, reprodukując struktury ewolucyjne w programie komputerowym do rozpoznawania obrazów, twardnienia cementu, nauki, zapamiętywania, i innych [64 s 158, 160].

John HOLLAND dążył do tego aby komputery, a przynajmniej ich programy, naśladowały żywe organizmy, tzn ewoluowały, dostosowując się do poszukiwania rozwiązania danego problemu. Jak stwierdził: 'Żywe organizmy są najlepsze w rozwiązywaniu problemów. Wykazują elastyczność, która winna zawstydzić najlepsze programy komputerowe'. Wymyślił więc wzorowane na procesie ewolucji darwinowskiej 'algorytmy genetyczne' (GA), które mogą sobie nawet poradzić z problemami typu NP (niepoliczalne), pojawiły się potem prace, których autorzy korzystali z GA do projektowania obwodów scalonych, sieci łączności, turbin samolotowych, oraz dobierania optymalnych portfeli akcji. Znaczy to, że wykorzystując mechanizmy ewolucji można 'hodować programy, które rozwiązują problemy, nawet jeśli nikt w pełni nie rozumie struktury takiego programu.

Do ewolucji, również wirtualnej w pamięci komputera, konieczne są trzy elementy: krzyżówki, dobór i reprodukcja. Krzyżowanie chromosomów rodzicielskich to zasadniczy element różnicowania populacji. Dobór stanowi zaś filtr, bowiem przeżyją najlepiej przystosowani, reprodukcja stwarza zaś przez ewentualne błędy okazję do mutacji (uprzypadkowienie, czynnik losowy) cech genetycznych, co umożliwia między innymi powstawanie coraz lepiej przystosowanych 'osobników'. Obrazowo i bardzo jasno przedstawia algorytm genetyczny rys. 10.7, gdzie przypadkowe mutacje to przechodzenie 0 w 1 w kodzie chromosomu i odwrotnie, reszta rysunku jest samo wyjaśniająca. Do wyliczonych już sukcesów GA warto uszczegółowić poszukiwanie najlepszego projektu turbiny odrzutowej samolotu. W tym problemie występuje 100 zmiennych, a przestrzeń poszukiwań składa się z ponad 10387 punktów. Ocena jednego projektu (jeden punkt) za pomocą stacji roboczej trwa 30s, a zatem czysto przypadkowe przeszukiwanie przestrzeni rozwiązań trwało by dłużej niż wiek wszechświata, natomiast GA w ciągu kilu dni stworzył projekt trzy razy lepszy od istniejącego, [64 s 167].

Rys. 10.7 Cyfrowy darwinizm - algorytm genetyczny (GA). ([64] rys5.1)

Życie na ziemi jest cechą organizmów zbudowanych wyłącznie ze związków węgla, natomiast to co potrafimy wykreować w mikroprocesorze (komputerze) stanowi zbiór logicznych instrukcji maszynowych. Nie ma natomiast dowodów, że ewolucja komputerowa nie może stworzyć układów dorównujących złożonością układom biologicznym. Powstała więc dziedzina badań zwana 'sztuczne życie' (artificial life - AL.), którego prekursorem był samo reprodukujący się automat von Neumanna, a od roku 1983 mamy wszelkiej maści wirusy komputerowe, nawet wzajemnie się zwalczające: jak DenZuk i Brain. Przebadano już problemy sztucznego wzrostu, sztucznego doboru, wyhodowano sztuczne rośliny i zwierzęta, tzw 'biomorfy' (Dawkins). A całkiem niedawno Thomas RAY z Santa Fe Institute stworzył pierwszy program TIERRA symulujący darwinowską ewolucję (1987) [64]. Jak twierdzą niektórzy badacze w pewnych wariantach systemu Tierra można symulować rozwój całego ecosystemu; wirtualne rośliny, pszczoły, ryby i roboty. Zatem twierdzą niektórzy iż weszliśmy już w erę opłacalności ewolucyjnego ulepszania (hodowania) programów komputerowych . Rachunek jest prosty; dobry programista napisze dziś 30 linijek bezbłędnego programu dziennie. Natomiast komputer działający z szybkością 100MIPS (milion operacji na sekundę) potrzebuje w trybie ewolucyjnego hodowania programów na to 10 dni. Ale już przy szybkości działania 3000MIPS komputer osiągnie taki sam wynik w ewolucyjnym programowaniu jak rasowy programista. Zatem hodowla programów w komputerze umożliwi im ewolucję tak by np. same zwalczały wirusy komputerowe. W przyszłości może się okazać, że sztuczna ewolucja jest najlepszą metodą programowania komputerów wieloprocesorowych. Są nawet koncepcje tego samego autora hodowli 'dzikich zwierząt' (organizmy sieciowe) w Internecie, mającym obecnie kilkadziesiąt milionów komputerów. Ponieważ każdy prawowity użytkownik komputera może przegonić organizmy sieciowe gdy sam chce go użytkować, zatem organizmy te będą musiały wypracować nowe strategie zmniejszając do minimum swe rozmiary genów potrzebne do replikacji i ucząc się jak znajdywać niewykorzystane komputery w sieci. Powinny np. nauczyć się rezydować w komputerach po ciemnej stronie globu tam gdzie ludzie śpią [64 s 338].

10.5 Podsumowanie - Data Mining

Inżynieria wirtualna jak widać to narzędzie badania życia systemów w każdej fazie ich życia, koncypowania, projektowania, wytwarzania, użytkowania i kasacji. Dotyczy to nie tylko systemów powoływanych do życia przez człowieka ale i tak samo systemów ożywionych, ecosystemów , a nawet samego człowieka i jego zachowanie. Badania te mogą być bardzo pouczające i wyjaśniające nasze zachowanie w sytuacjach krytycznych, jak np. słynny dylemat więźnia polegający na pytaniu; co się bardziej opłaca - egoizm czy współpraca i stymulacja współpracy. Jak się okazało z symulacji za pomocą teorii gier w wielu przypadkach reguła 'jak ty mnie tak ja tobie' prowadzi do współpracy [64 s 281]. Zainteresowanym dalszym rozwojem tej tematyki wypada jedynie śledzić literaturę przeglądową tej bogatej tematyki. Na zakończenie warto przytoczyć rysunek 10.8 będący częściowym podsumowaniem zaprezentowanych wyżej możliwości. Nosi on tytuł Data Mining, odkopywanie danych dosłownie, a znaczeniowo - kopanie w bazie danych opisujących system celem wyszukiwania relacji miedzy nimi.

Rys. 10.8 Najnowsze technologie wyszukiwania relacji w bazach danych opisujących niejawne relacje systemowe.

Jak widać z rysunku pierwszą metodą jest przyczynowo skutkowe drzewo decyzji, lub drzewo błędów, lub też drzewo uszkodzeń w zależności od dziedziny zastosowań tej metody poszukiwania relacji przyczynowo skutkowych. Drugie w kolei to sieci neuronowe, trzecie to metody wyszukiwania reguł JEŚLI - TO (systemy ekspertowe), czwarte metoda rozpoznawania obrazów, a piąta algorytmy genetyczne i programowanie ewolucyjne. Nie jest to tylko sucha wyliczanka, bo już w tej chwili można kupić oprogramowanie w takim zestawie, które w kolejności będzie poszukiwać relacji między zbiorami danych. Stawiane pytania mogą tu być bardzo różnorodne, zależnie od posiadanych baz danych. Przykładowo jeśli mamy dane o symptomach towarzyszących pracy maszyn i urządzeń możemy zapytać o symptomy stowarzyszone z danym uszkodzeniem i ich sekwencję czasową. O samo może dotyczyć pacjentów ze sztucznym stawem, z rozrusznikiem serca, itp., itd. Jeśli mamy dane charakterystyki klientów i dane sprzedaży możemy zapytać o ich gusty i skierować odpowiednio kampanię promocyjną nowego produktu, bądź też zapytać ich o opinię o nowym produkcie i poszukać w tych opiniach związków i relacji do ulepszenia produktu.