Wprowadzenie do systemów wspomagania decyzji

Transkrypt

Wprowadzenie do systemów wspomagania decyzji
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