WYŻSZA SZKOŁA ZARZĄDZANIA
I ADMINISTRACJI
W OPOLU
Tomasz Widenka
Piotr Smarsly
Systemy eksperckie i sztucznej inteligencji.
Zajęcia: Procesy informacyjne w zarządzaniu (ćw).
Opole 2010
System ekspercki
Ogólna charakterystyka
Systemy eksperckie (ekspertowe) mają na celu rozwiązanie skomplikowanych problemów wymagających obszernej wiedzy eksperta1. Systemy te wykształciły się w ramach systemów wspomagania decyzji na początku lat 80 ubiegłego wieku.
Powstanie tych systemów było wynikiem wykorzystania osiągnięć sztucznej inteligencji, połączonych z wiedzą w obszarze zastosowania i metodami wnioskowania, które umożliwiają porównanie systemu ekspertowego z wysokiej klasy ekspertem – człowiekiem. Systemy ekspertowe wykonują skomplikowane zadania przy wykorzystaniu wiedzy, którą ma człowiek będący ekspertem w danej dziedzinie. Mogą samodzielnie tworzyć różnorodne modele sytuacji decyzyjnych, prezentować decydentom uzyskane rozwiązanie i objaśnić je2.
Współczesne systemy ekspertowe posiadają charakterystyczne cechy:
Działanie w szczególnych, niestandardowych dziedzinach typu: medycyna, meteorologia, badania kosmiczne,
Brak możliwości zastosowania oprogramowania standardowego,
Tworzenie pakietów specyficznych opartych na unikalnych rozwiązaniach,
Wysokie wymagania wobec sprzętu i dokładności, niezawodności i bezpieczeństwa użytkownika oprogramowania,
Integracja poprzez mechanizmy sieciowe, pozwalające np. na korzystanie z zasobów zgromadzonych do obsługi innych systemów3.
Podstawowymi właściwościami systemu ekspertowego są;
Zgromadzenie w systemie kompletnej wiedzy z danej dziedziny oraz możliwość jej ciągłej aktualizacji,
Umiejętność naśladowania sposobu rozumowania człowieka eksperta a co za tym idzie oferowanie rad i wariantowanie decyzji,
Zdolność wyjaśniania przeprowadzonego toku rozumowania dla przyjętych rozwiązań,
Zdolność porozumienia się z użytkownikiem w wygodnym dla niego języku, zbliżonym do naturalnego4.
Architektura systemu ekspertowego została przedstawiona na rysunku 1 jak widzimy w skład typowego systemu eksperckiego wchodzą nie tylko wymienione wcześniej moduły bazy wiedzy i podsystemu wnioskującego ale również podsystem objaśniający oraz podsystem gromadzenia wiedzy.
Rysunek 1. Ogólna charakterystyka systemu ekspertowego.
Źródło: W. J. Jabłoński. W. Bartkiewicz. Systemy informatyczne zarządzania. Klasyfikacja i charakterystyka systemów. wyd. KPSW. Bydgoszcz 2006. s. 88.
Budowa systemu ekspertowego
Systemy eksperckie można podzielić na trzy rodzaje:
Doradcze – prezentują rozwiązania użytkownikowi,
Krytykujące – oceniają i komentują problem oraz jego rozwiązanie podane przez użytkownika,
Podejmujące decyzje – podejmują decyzję bez udziału człowieka, stosowane są tam, gdzie dostęp człowieka jest utrudniony niemożliwy.
Rysunek poniżej przedstawia schemat budowy większości systemów ekspertowych:
Rysunek 2. Schemat budowy systemu ekspertowego.
Źródło: http://pl.wikipedia.org/wiki/System_ekspertowy , 5.01.2010. godz. 15:57.
Z powyższego rysunku można wywnioskować iż składnikami systemu ekspertowego są:
Szkielet systemu ekspertowego (w skład którego wchodzą):
- interfejs użytkownika – użytkownik korzysta z systemu komunikując się z nim za pomocą interfejsu użytkownika. Sprowadza się to najczęściej do zadawania pytań, udzielania informacji systemowi, oraz odbierania od systemu odpowiedzi i wyjaśnień.
- edytor baz wiedzy – dzięki edytorowi możliwa jest modyfikacja wiedzy zawartej w systemie, co pozwala na rozbudowę systemu.
- 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.
- mechanizm wyjaśniający – mechanizm ten 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.
Baza wiedzy – jest to drugi pod względem ważności składnik systemu. W bazie wiedzy zawarta jest wyekstrahowana od ludzkich ekspertów wiedza dotycząca określonej dziedziny. Wiedza ta zwykle zapisana jest za pomocą wybranego sposobu reprezentacji wiedzy, na przykład za pomocą reguł lub ram.
Baza danych zmiennych – jest to pomocnicza baza danych w której przechowywane są wnioski uzyskane przez system podczas jego działania. Baza ta umożliwia odtworzenie sposobu wnioskowania systemu i przedstawianie go za pomocą mechanizmu wyjaśniającego.
Znane systemy eksperckie
Poniższa tabela zawiera najbardziej znane systemy ekspertowe:
Nazwa systemu | Opis systemu |
---|---|
DENDRALl | System opracowany w połowie lat sześćdziesiątych, miał za zadanie ustalanie struktury molekularnej nieznacznych chemicznych związków organicznych na podstawie widm spektroskopowych. |
PROSPECTOR | Nad systemem pracowano w latach 1974-1983, wykorzystywano go do wspomagania prac geologów, nie stał się jednak systemem w pełni komercyjnym, osiągnął jedynie status prototypu produkcyjnego. |
MACSYMA | problemów matematycznych i całkowania; wykorzystywany w MIT przez fizyków plazmy, pozyskiwanie wiedzy przez przeprogramowanie; uznawany za bardzo efektywny |
REACTOR | służy do diagnostyki siłowni jądrowych; uznany za dobry |
MYCIN | To system regułowy opracowany w latach siedemdziesiątych, jego zadaniem było zdiagnozowanie bakteryjnej choroby krwi i zaproponowanie odpowiedniej terapii. |
Źródło: http://pl.wikipedia.org/wiki/System_ekspertowy , 5.01.2010. godz. 16:40. http://aragorn.pb.bialystok.pl/~radev/ai/se/zal/ready/yes1.htm , 6.01.2010. godz. 14:00
System sztucznej inteligencji
Ogólne zagadnienie
Systemem sztucznej inteligencji nazywamy system informatyczny, który wykazuje zachowania inteligentne.5 Sztuczna inteligencja jako dział informatyki zajmuje się konstruowaniem maszyn i algorytmów, których działanie posiada znamiona inteligencji. Rozumie się przez to zdolność do samoistnego przystosowywania się do zmiennych warunków, podejmowania decyzji, i uczenia się.
W badaniach nad sztuczną inteligencją da się wyodrębnić wiele nurtów. Celem jaki stawia przed sobą ta dziedzina to skonstruowanie maszyny o inteligencji dorównującej, a nawet przewyższającej ludzką. Plany są tak opracowane, że co najmniej zamierza się stworzyć algorytmy lub maszyny przejawiające tylko jakiś niewielki aspekt inteligencji, np. rozpoznawanie obrazów czy umiejętność gry w szachy. Sztuczna inteligencja jest dziedziną badaną przez wiele firm. Badacze tej dziedziny, natknęli się jednak na szereg problemów. Najistotniejszym problemem jest to, że komputer to maszyna, która nie potrafi niczego sama z siebie wymyślić. Powodem tego jest to, iż komputer nie myśli w dosłownym tego słowa znaczeniu. Nie posiada podświadomości, intuicji, stanów emocjonalnych. Komputer jednak ma szereg bardzo poważnych zalet dających mu przewagę nad człowiekiem. Jedną z ważniejszych zalet jest, szybkość i precyzja dokonywania obliczeń. Pod tym względem, ludzie nigdy nie dorównają komputerom. Natomiast obliczenia maszyny są tylko przetwarzane z kodu programu, który został zainstalowany przez człowieka. Bowiem program pośredniczy w komunikowaniu się pomiędzy użytkownikiem maszyny a komputerem. Obsługujący wprowadza dane, maszyna wykonuje operacje i odpowiada. Wygląda to jak dialog. Komputer sprawia wrażenie jakby myślał. To właśnie zachowanie nazywane jest sztuczną inteligencją.
W obrębie sztucznej inteligencji tworzy się programy obrazujące myśli człowieka.6 Autorzy tych programów, sami nie wiedzą dokładnie w jaki sposób będą zastosowane ich programy w przyszłości. Chcąc przetestować inteligencję programu, poddaje się go testowi nie rozróżnialności. Inna nazwa tego testu to, test Turinga. Metoda testowania polega na tym, że bezstronny obserwator zadający pytania systemowi, nie będzie w stanie odróżnić, kto odpowiadał na pytania człowiek czy maszyna.
Tabela 1. Porównanie naturalnej i sztucznej inteligencji
Zdolność | Inteligencja naturalna (ludzka) |
Inteligencja sztuczna (maszynowa) |
---|---|---|
Użycie zmysłów | wysoka | niska |
Tworzenie i wyobraźnia | wysoka | niska |
Uczenie się na doświadczeniu | wysoka | niska |
Adaptowalność | wysoka | niska |
Poniesienie kosztów pozyskania wiedzy | wysoka | niska |
Wykorzystanie różnych źródeł informacji | wysoka | wysoka |
Pozyskiwanie informacji z zewnątrz | wysoka | wysoka |
Wykonywanie złożonych obliczeń | niska | wysoka |
Zdolność przekazu informacji | niska | wysoka |
Szybkie i dokładne wykonywanie obliczeń | niska | wysoka |
Źródło: R.M. Stair, G.W. Reynolds (2003) Principles of Information … Op. cit., s. 465.
Zadania systemu sztucznej inteligencji:
Rozwiązywanie zadań w warunkach niepełnej lub sprzecznej informacji.
Rozpoznawanie obrazów (klasyfikowanie obiektów).
Gry, w tym gry ekonomiczne, strategiczne, podejmowanie decyzji.
Rozpoznawanie mowy i interpretacja języka naturalnego.
Jak komputer ma to rozumieć:
„Mama ma nas troje – Mama ma nastroje – Mama ma na stroje”.
„Umyj głowę i ręce – Umyj głowę Irence”.
Budowa systemów samoorganizujących się.
Budowa robotów przemysłowych.
Wyszukiwanie informacji w dużych bazach danych na podstawie skojarzeń kontekstowych i eksploracja danych w bazach i hurtowniach danych.
Automatyczne dowodzenie twierdzeń.
Automatyczne programowanie komputerów.
Rozwiązywanie zadań kombinatorycznych.
Rozwiązywanie zadań z zakresu wzrokowego odbioru sygnałów.
Budowa sieci neuronowych.
Budowa algorytmów genetycznych.
Budowa systemów eksperckich.
Zarządzanie wiedzą.7
Przez zastosowanie SSI w robotyce rozumie się mechaniczne i komputerowe urządzenia, które wykonują zadania wymagające wysokiej precyzji lub są żmudne albo niebezpieczne do wykonania przez człowieka. Współczesne roboty są sterowane precyzyjnie, dzięki wyrafinowanemu oprogramowaniu. Podłączone do komputera lub zawierające komputer w sobie. Maszyny prócz stałej roboty są zdolne jeszcze do rozpoznawania swojego położenia i interakcji z otoczeniem. Potrafią tego dokonać przy pomocy kamer, czujników i aparatów umożliwiających rozpoznawanie sygnałów płynących z otoczenia. Główne znaczenie mają tu urządzenia umożliwiające tzw. sztuczne widzenie, są w stanie rozpoznać otoczenie i podjąć właściwą akcję. Niektóre z robotów posiadają systemy rozpoznawania mowy i przetwarzania języka naturalnego. Jedną z pierwszych branż, która wykorzystała roboty jest motoryzacja. Praca robotów polega w niej na wytłaczaniu i obróbce części, malowaniu, instalacji wyposażenia, przenoszeniu części składanych pomiędzy poszczególne stanowiska pracy. Systemy robotyki wspomagają działanie podsystemu wykonawczego w przedsiębiorstwie.8
Inspiracją do stworzenia systemów sieci neuronowych i systemów uczących się była budowa ludzkiego mózgu. W działaniu sieci neuronowej wyodrębnić można dwie fazy: treningową oraz reakcji na zaistniały bodziec zewnętrzny. Model odpowiedzi nie musi być znany od razu, lecz może być kreowany przez sieć uczącą się na podstawie dostarczonych danych treningowych. Sytuacja ta z kolei jest przyczyną różnic w budowie systemu sztucznej sieci neuronowej i jej projektowaniu. Ze względu na sposób prowadzenia treningu występują dwa rodzaje algorytmów uczących:
uczenie nadzorowane. Dane treningowe zawierają zestaw sygnałów wejściowych sieci oraz poprawnych na nie reakcji. Uczenie polega na takiej modyfikacji wag, aby rzeczywiste wyjścia były jak najbliższe wartościom pożądanym. Jeżeli w czasie treningu nie prezentujemy sieci dokładnej wartości pożądanego wyjścia, a jedynie informację czy reaguje ona prawidłowo, to mamy do czynienia z wyjątkowym przypadkiem uczenia nadzorowanego tzw. uczeniem ze wzmocnieniem.
uczenie bez nadzoru. W procesie uczenia sieć nie otrzymuję żadnych informacji o pożądanych reakcjach. Dane treningowe obejmują zbiór sygnałów wejściowych. Sieć ma za zadanie sama zanalizować zależności i korelacje w zbiorze treningowym. Tego typu sieci nazywamy samoorganizującymi lub autoasocjacyjnymi.
Sieci neuronowej nadaje się pewną strukturę. Jej jednostki grupowane są w warstwy. Struktura wewnętrzna oraz określenie sposobu propagacji sygnału pomiędzy neuronami tworzą architekturę sieci neuronowej. Podstawowe rodzaje architektury są trzy:
sieci jednokierunkowe.
sieci rekurencyjne.
sieci komórkowe.
Sieć neuronowa próbuje imitować sposoby myślenia człowieka przy:
łączeniu faktów,
wyciąganiu wniosków,
uczeniu się na doświadczeniu i popełnionych błędach,
rozumieniu, jak nowe fakty odnoszą się do faktów wcześniej znanych.9
Systemy oparte na wykorzystaniu algorytmów genetycznych, działają w sposób doboru przypadkowych prostych funkcji, przy pomocy których można rozwiązać pewne części konkretnego problemu. Następstwem połączenia funkcji, są odpowiednie programy. Najlepsze z uruchomionych programów zostają zaakceptowane przez selekcję, a reszta z nich dekomponowana do funkcji. Wybrane programy poddaje się testom na tyle długim, do momentu kiedy nie otrzyma się satysfakcjonującego rozwiązania. Technikę tą stosuje się w skomplikowanych systemach ekspertowych.
Przykładem sztucznej inteligencji, z którą na co dzień każdy internauta się styka jest tak zwany inteligentny agent. Program ten ma za zadanie, przeszukiwanie dużych zasobów danych. Wykonuje on tą czynność aby dostarczyć użytkownikowi informacji, które spełniają podane przez niego kryteria. W większości właśnie inteligentni agenci przeszukują sieć Internet. Przeszukiwanie za ich pomocą jest szybkie i bardziej efektywne niż byłby w stanie wykonać to człowiek. Od bardziej zaawansowanych programów oczekuje się także wykonania pewnych operacji, jak np: sporządzenia listy cen dla określonych towarów, skopiowania artykułów na pewien temat lub złożenia zamówienia na dany towar. Co do oczekiwań pod ich adresem, to mają one potrafić automatycznie łączyć się z różnymi stronami internetowymi oraz wycinać z nich informacje które mogą być wartościowe dla użytkownika poszukującego wiadomości.
Systemy z logiką rozmytą a konkretnie zbiory rozmyte wykorzystywane są w różnych systemach informatycznych wspomagających zarządzanie. Najważniejszą właśnie kwestią związaną z wykorzystaniem logiki rozmytej jest fakt, że umożliwia ona budowę i działanie modelu, nawet jeśli wiedz leżąca u jego podstawy jest zbyt mało precyzyjna dokładna, aby można ją było sformalizować w inny sposób.10 W odróżnieniu od typowego systemu ekspertowego uaktywnione są wszelkie reguły. Skutki działania pojedynczych reguł zbierane są w jeden rozmyty zbiór wyjściowy.
Jak na obecny czas nie napisano programu który by skutecznie wygrywał w takich grach jak chińska gra go, brydża sportowego czy polskie warcaby. Mimo wszelakich prób napisania owego programu. Następnym nie osiągniętym celem jest program, potrafiący naśladować człowieka w perfekcyjny sposób. Mianowicie używać słów podczas rozmowy i przejście pomyślnie testu Turinga. Nie ma także systemu skutecznie tłumaczącego tekst i mowę potoczną. Przydał by się program który potrafiłby skutecznie generować zysk, grając na giełdzie. Przeszkodą jest masa informacji, jaką taki program musiałby przetworzyć i sposób jej kodowania przy wprowadzaniu do komputera.
Sztuczna Inteligencja jako dział badań naukowych zaczęła się w latach 50. XX wieku kiedy to stworzone zostało pierwsze laboratorium SI na Uniwersytecie Carnegie Mellon, założone przez Allena Newella i Herberta Simona i kilka lat później takie samo laboratorium w Massachusetts Institute of Technology, stworzone przez Johna McCarthy’ego. Oba te laboratoria są ciągle przodującymi ośrodkami SI na świecie.
Bibliografia:
W. J. Jabłoński. W. Bartkiewicz. Systemy informatyczne zarządzania. Klasyfikacja i charakterystyka systemów. Wyd. KPSW. Bydgoszcz 2006.
Arkadiusz Januszewski. Funkcjonalność informatycznych systemów zarządzania. Tom 1. Zintegrowane systemy transakcyjne. wyd. Naukowe PWN. Warszawa 2008.
Bogdan Stefanowicz. Sztuczna inteligencja i systemy eksperckie. Przewodnik. Oficyna Wydawnicza Szkoły Głównej Handlowej. Warszawa 2002.
http://aragorn.pb.bialystok.pl/~radev/ai/sosn/bakun.htm, 11.10.2010r. godz. 12:50
http://aragorn.pb.bialystok.pl/~radev/ai/se/zal/ready/yes1.htm , 6.01.2010. godz. 14:00
http://pl.wikipedia.org/wiki/System_ekspertowy , 5.01.2010. godz. 16:40.
http://pl.wikipedia.org/wiki/System_ekspertowy , 5.01.2010. godz. 15:57.
R.M. Stair, G.W. Reynolds (2003) Principles of Information … Op. cit.
W. J. Jabłoński. W. Bartkiewicz. Systemy informatyczne zarządzania. Klasyfikacja i charakterystyka systemów. wyd. KPSW. Bydgoszcz 2006. s. 87.↩
A. Lenart. Zintegrowane systemy informatyczne klasy ERP. Teoria i praktyka na przykładzie systemu BAAN IV. Wydawnictwo Uniwersytetu Gdańskiego. s. 16↩
A. Adamczyk, W. Chmielarz. Zintegrowane systemy informatycznego wspomagania zarządzania. Wyd. WSE-I. Warszawa 2005. s. 21-22.↩
W. J. Jabłoński. W. Bartkiewicz. Systemy informatyczne zarządzania. Klasyfikacja i charakterystyka systemów. wyd. KPSW. Bydgoszcz 2006. s. 87.↩
Arkadiusz Januszewski. Funkcjonalność informatycznych systemów zarządzania. Tom 1. Zintegrowane systemy transakcyjne. wyd. Naukowe PWN. Warszawa 2008. s.61.↩
http://aragorn.pb.bialystok.pl/~radev/ai/sosn/bakun.htm, 11.10.2010r. godz. 12:50↩
Bogdan Stefanowicz. Sztuczna inteligencja i systemy eksperckie. Przewodnik. Oficyna Wydawnicza Szkoły Głównej Handlowej. Warszawa 2002.s.9.↩
Arkadiusz Januszewski. Funkcjonalność informatycznych systemów zarządzania. Tom 1. Zintegrowane systemy transakcyjne. wyd. Naukowe PWN. Warszawa 2008.s.63.↩
Arkadiusz Januszewski. Funkcjonalność informatycznych systemów zarządzania. Tom 1. Zintegrowane systemy transakcyjne. wyd. Naukowe PWN. Warszawa 2008.s64.↩
W. J. Jabłoński. W. Bartkiewicz. Systemy informatyczne zarządzania. Klasyfikacja i charakterystyka systemów. Wyd. KPSW. Bydgoszcz 2006. S. 98.↩