Wprowadzenie do systemów wspomagania decyzji dr hab. inż. Krzysztof Patan, prof. PWSZ Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa w Głogowie [email protected] Podejmowanie decyzji Podejmowanie decyzji to proces analizy zaistniałej sytuacji, której rozwiązaniem są co najmniej dwie drogi dalszego postępowania. Podejmowanie decyzji związane jest z wyborem drogi dalszego postępowania System wspomagania decyzji jest systemem, który pomaga człowiekowi w podjęciu lepszej decyzji Precyzyjna definicja systemu wspomagania decyzji może prowadzić do zawężenia jego możliwości, dlatego definicja takiego systemu zwykle charakteryzowana jest poprzez wyszczególnienie właściwości, które system powinien posiadać działalność racjonalna – oparta na logicznym myśleniu i chłodnej kalkulacji: uczucia i emocje – oznaka słabości odwołania do intuicji – uśmiech politowania rozum – podstawowa baza w podejmowaniu decyzji pomijanie emocji często jest destrukcyjne dla osobowości decydenta działalność racjonalno-emocjonalna: ograniczona racjonalność – wykorzystywanie własnych odczuć, emocji, intuicji życie wewnętrzne człowieka – zyskuje na znaczeniu wykorzystywanie ilorazu inteligencji (IQ) uzupełniane ilorazem emocji (EQ) Podejmowanie decyzji – to proces nie tylko racjonalny. Na ten proces ma wpływ: poznanie problemu motywacje emocje Nowoczesne mechanizmy podejmowania decyzji wprowadzają: mechanizmy pozwalające na ocenę intuicyjną działania na niepewnych i niepełnych danych Inteligencja Inteligencja – umysłowa zdolność do postrzegania, analizy i optymalnej adaptacji do zmian otoczenia. Inteligencja to rodzaj szczególnej sprawności umysłowej Typy inteligencji kognitywna – zdolność do skutecznego myślenia w sytuacjach nieprzewidywanych i niepewnych werbalna – zdolność formułowania wypowiedzi, szybkiego dobierania właściwych do przekazywanych treści słów oraz zdolność rozumienia komunikatów emocjonalna – kompetencje osobiste człowieka w rozumieniu zdolności rozpoznawania stanów emocjonalnych własnych oraz innych osób społeczna – zdolność rozumienia i kierowania ludźmi oraz rozumnego działania w stosunkach międzyludzkich twórcza – zbiór umiejętności i cech wrodzonych, które pozwalają osobie na działania twórcze (np. artystyczne) Test Turinga Test Turinga – Alan Turing 1950 Sędzia – człowiek – prowadzi rozmowę w języku naturalnym z pozostałymi stronami. Jeśli sędzia nie jest w stanie wiarygodnie określić, czy któraś ze stron jest maszyną czy człowiekiem, wtedy mówi się, że maszyna przeszła test Test Turinga to sposób określania zdolności maszyny do posługiwania się językiem naturalnym Pokazanie opanowania przez maszynę umiejętności myślenia w sposób podobny do ludzkiego Zakłada się, że zarówno człowiek jak i maszyna próbują przejść ten test zachowując się w sposób możliwie najbliższy do ludzkiego Programy konwersacyjne (np. Eliza) były w stanie sprawić, że ludzie wierzyli, że rozmawiają z żywym człowiekiem takie ”sukcesy” nie są jednoznaczne z przejściem testu Turinga nie ma podstaw do podejrzeń, że rozmówca nie jest człowiekiem w przypadku czatów rozmówcy często używają gwary, skrótów myślowych lub dodają sformułowania obcojęzyczne We wrześniu 2011 r. program Cleverbot opracowany w roku 1988 i od tego czasu rozwijany, oszukał ponad 59,3% rozmówców myślących, że jest on człowiekiem. Do zaliczenia testu Turinga zabrakło 4%, gdyż człowieka na tych samych zawodach rozpoznało prawidłowo 63,3% osób W czerwcu 2014 r. media podały, że program Eugene Goostman zaliczył test Turinga. Program udawał 13 letniego chłopca i przekonał 33% sędziów że jest człowiekiem. Wielu specjalistów od sztucznej inteligencji kwestionuje jednak ten wynik (mała liczba oszukanych sędziów i mało wiarygodne odpowiedzi jak na 13 latka). Uczenie maszynowe Uczenie maszynowe Głównym celem uczenia maszynowego jest praktyczne zastosowanie dokonań w dziedzinie sztucznej inteligencji do opracowania automatycznego systemu potrafiącego doskonalić się na podstawie zgromadzonych danych i nabywania na ich podstawie nowej wiedzy Nauka interdyscyplinarna obejmująca w szczególności informatykę, robotykę i statystykę Uczenie maszynowe powstało w wyniku rozwoju idei sztucznej inteligencji i metod jej praktycznego wdrażania Uczenie maszynowe dotyczy rozwoju oprogramowania stosowanego w innowacyjnych technologiach i przemyśle Krótka historia rozwoju uczenia maszynowego 1952-1962 – program do szkolenia szachistów (Arthur Samuel, IBM) 1965 – opracowanie systemu eksperckiego Dendral na Uniwersytecie Stanforda (zautomatyzowanie analizy i identyfikacji molekuł związków organicznych) 1977 – program AM – automatyczne poszukiwanie nowych praw matematycznych korzystając z algorytmów heurystycznych początek lat 90 – program TD-Gammon, potrafiący konkurować w grze Backgammon z mistrzami świata (uczenie – milion rozgrywek) 1997 – mecz szachowy Gari Kasparov – komputer Deep Blue koniec lat 90 –zastosowanie algorytmów uczenia maszynowego w rozwoju sieci Internet i wyszukiwarek sieciowych 2006 – program szachowy Fritz 10 pokonał mistrza świata Władimira Kramnika 2011 – superkomputer Watson (IBM) wygrał w teleturnieju Jeopardy, pokonując dwóch najlepszych graczy w historii Problemy decyzyjne Typy problemów Problemy strukturalne – procedury ich rozwiązywania są dobrze znane: metody analityczne metody oparte na klasycznej logice dwuwartościowej Problemy częściowo strukturalne – problemy, które posiadają część dobrze zdefiniowaną, ale także parametry, których nie można określić Problemy niestrukturalne – nie poddają się algorytmizacji, albo do ich rozwiązania brakuje dostatecznej wiedzy lub danych są zbyt skomplikowane do algorytmizacji do ich rozwiązania niezbędna jest intuicja lub uwzględnienie emocji Charakterystyka problemów niestrukturalnych Problemy niestrukturalne – przykłady: modelowanie zjawisk zachodzących w środowisku modelowanie zjawisk ekonomicznych i ich wpływ na rozwój społeczeństwa ocena wpływu inwestycji na środowisko przewidywanie zmian klimatycznych Problemy niestrukturalne, z którymi spotykają sie inżynierowie decydenci: specyfika projektowania nowych rozwiązań tworzenie i implementacja oprogramowania Cechy problemów niestrukturalnych dynamika: powiązanie przeszłości i przyszłości zmienność otoczenia – zmiana warunków podejmowania decyzji dynamika uwzględniana jawnie lub poprzez wprowadzanie odpowiednich ograniczeń okresowość – cykle natury, zmienny czas cyklu przypadkowość – szumy i zakłócenia duża liczba danych Poziomy procesu decyzyjnego Planowanie strategiczne: decyzje na najwyższym szczeblu decyzje długoplanowe dopracowanie zadań niższych szczebli Zarządzanie: połączenie planowania i koordynacji działań dostarczenie i stosowne wykorzystanie zasobów – najważniejsze zadanie danego poziomu Kierownictwo: przewodniczenie grupie ludzi wykonującej zadanie decyzje krótkoterminowe istnieją reguły, algorytmy wspomagające istnieją sytuacje wymagające doświadczenia, bazujące na intuicji i wiedzy praktycznej Etapy procesu podejmowania decyzji analiza: identyfikacja problemu zbieranie danych gromadzenie wiedzy od ekspertów precyzowanie problemu – dokładniejsza definicja - określenie struktury projekt: poszukiwanie lub tworzenie modelu gromadzenie wiedzy o możliwościach rozwiązań, podział na części i etapy realizacji powstaje kilka różnych planów rozwiązania wybór – wskazanie na najlepsze rozwiązanie ze wskazanych kandydatów implementacja – realizacja wybranego rozwiązania System wspomagania decyzji – SWD System wspomagania decyzji to interaktywny system komputerowy pomagający decydentom rozwiązywać problemy niestrukturalne z wykorzystaniem danych i modeli. Wykorzystuje elementy sztucznej inteligencji, które badają problem i wspomagają podejmowanie decyzji w warunkach niepewności, braku danych. Wykorzystuje mechanizmy uczenia lub analogii oraz pozwala na użycie intuicji system interaktywny – wymaga aktywności obu stron, opartej na ciągłym dialogu, umożliwia w dowolnym momencie na: wprowadzanie danych zadawanie pytań o brakujące dane radzenie sobie z niekompletną wiedzą (po uzyskaniu zgody użytkownika), pomagający decydentom: nie podejmuje ostatecznej decyzji gromadzi i wizualizuje dane wskazuje rozwiązanie najlepsze System wspomagania decyzji System komputerowy wspomagający użytkownika w racjonalnej organizacji i kierowaniu procesem decyzyjnym, zawierającym reprezentację wiedzy o sytuacji decyzyjnej w postaci modelu analitycznego (lub logicznego), odpowiednie algorytmy umożliwiające korzystanie z tych modeli oraz dodatkowe moduły (bazę danych, interfejs z użytkownikiem) Użytkownik Jednolita nazwa określająca wszystkich użytkowników systemu w tym decydenta, analityka systemowego, eksperta, grupy o wspólnych celach Zadania SWD System wspomagania decyzji ułatwia rozumienie i modelowanie świata zewnetrznego Wspomaga w procesach decyzyjnych przy rozwiązywaniu problemów niestrukturalnych Skraca czas zbierania i przetwarzania dużej ilości danych Zadawanie pytań o brakujące dane – wzrost efektywności procesu podejmowania decyzji Łączy różne techniki przetwarzania danych – techniki analityczne, zastosowanie modeli uzyskanych różnymi metodami Umożliwia stosowanie elementów intuicyjnych Niekiedy pracuje z niepełną lub niepewną informacją Pozwala na pracę metodą prób i błędów w poszukiwaniu bazy wiedzy Często pracuje w oparciu o reguły wnioskowania Podział SWD ze względu na model sytuacji decyzyjnej 1 2 3 systemy wykorzystujące modele analityczne; dalszy podział ze względu na model matematyczny (modele statystyczne liniowe i nieliniowe, dynamiczne, stochastyczne) systemy wykorzystujące modele logiczne systemy zintegrowane zawierające elementy dwóch poprzednich klas jak również narzędzia typu arkusz kalkulacyjny, bazy danych, itp. Podział SWD ze względu na liczbę użytkowników 1 2 3 systemy z przeznaczeniem dla jednego użytkownika (osoba podejmująca decyzję, analityk systemowy, ekspert) lub grupy o wspólnych celach systemy wspomagania decyzji grupowych; w podjęciu decyzji bierze udział grupa o różnych celach, ale podejmowana jest wspólna decyzja systemy wspomagania decyzji grupowych kooperatywnych i niekooperatywnych Podział SWD ze względu na liczbę użytkowników 1 2 3 systemy z przeznaczeniem dla jednego użytkownika (osoba podejmująca decyzję, analityk systemowy, ekspert) lub grupy o wspólnych celach systemy wspomagania decyzji grupowych; w podjęciu decyzji bierze udział grupa o różnych celach, ale podejmowana jest wspólna decyzja systemy wspomagania decyzji grupowych kooperatywnych i niekooperatywnych Podział SWD ze względu na podejmowane decyzje 1 2 3 strategiczne – decyzje o długim horyzoncie czasowym, np. określenie kierunków działalności firmy, analiza inwestycji, określenie kierunkół badań naukowych taktyczne – decyzje średnioterminowe o zasięgu do 12 miesięcy, stanowiące pomost pomiędzy decyzjami strategicznymi i operacyjnymi operacyjne – szczegółowe, codzienne decyzje związane z bieżącym funkcjonowaniem systemu Schemat funkcjonalny SWD modele fakty reguły bazy danych grafika maszyna wnioskująca system zarządzania bazami danych analiza danych moduł uczący się menu język poleceń Struktura systemu wspomagania decyzji Moduł bazy danych z mechanizmami zarządzania bazą dane dzieli się na dwie grupy: dane pierwotne, dotyczące modelu rzeczowego analizowanego problemu decyzyjnego (dostarczone z zewnątrz) i dane wygenerowane przez system bądź dane dostarczane przez użytkownika (w przypadku systemów interaktywnych) korzysta się z istniejących systemów baz danych: DBase, Oracle, Paradox, Informix, itp. podsystem powinien posiadać funkcje dostępu do rozproszonych lub zewnętrznych baz danych Moduł bazy modeli i funkcji do ich projektowania podczas procesu modelowania powstają różne wersje modeli procesu decyzyjnego wiedza wciąż jest wzbogacana co skutkuje możliwością budowy nowego, lepszego modelu niezbędne jest dostarczenie narzędzi do budowy, sprawdzania poprawności oraz zapamiętywania modeli należy zapisywać modele w odpowiednich standardach, np. MPS (ze względu na przenaszalność), niestety brak jest takich standardów dla modeli nieliniowych Moduł algorytmów i funkcje selekcji algorytmów w przypadku stosowania modeli analitycznych, niezbędną są algorytmy, które będą korzystały z takich modeli takimi algorytmami mogą być algorytmy optymalizacji Moduł zarządzania dialogiem z użytkownikiem zadanie modułu – prezentacja informacji użytkownikowi i tłumaczenie poleceń z języka naturalnego na język systemu interakcja może odbywać się w trybie tekstowym lub graficznym Zarządzanie systemem koordynacja pracy całego systemu zapewnienie komunikacji między modułami dostarczanie informacji o zadaniach wykonywanych w systemie