Trzeci oddech informatyki

IT does matter

Kilka lat temu Nicholas G. Carr na łamach Harvard Business Review, w głośnym artykule ogłosił, że informatyka nie jest elementem przewagi konkurencyjnej, a oczywistym elementem infrastruktury, dostępnym u wszystkich jednakowo. "IT nie ma znaczenia" - tak brzmiał tytuł artykułu i bardzo wielu menedżerów naprawdę w to uwierzyło.

Być może zresztą w niektórych organizacjach rzeczywiście należało ograniczyć innowacyjność i inwestycje w technologię na rzecz "dobrej informatycznej roboty", tj. optymalnego wykorzystania istniejących zasobów. Rzecz w tym, że pokazana w tym artykule informatyka trzeciego modelu da nieocenione narzędzie przewagi konkurencyjnej przedsiębiorstwom, które zrozumieją ją odpowiednio wcześnie i innowacyjnie zastosują.

<hr size=1 noshade>Przykłady systemów DSS

Badania operacyjne i programowanie liniowe

Historycznie badania operacyjne wywodzą się z zagadnień wojskowych. Ich pierwsze zastosowanie to wyznaczanie tablic celowniczych dla alianckiej artylerii przeciwlotniczej broniącej Wysp Brytyjskich przed niemieckimi nalotami. Dziś w praktyce biznesu najpopularniejsze jest programowanie liniowe. Mówiąc matematycznie: programowanie liniowe zajmuje się wyznaczaniem takiej kombinacji parametrów pewnej funkcji, aby jej wynik był maksymalny, minimalny bądź po prostu na oczekiwanym poziomie.

Dzięki badaniom operacyjnym potrafimy np. tak dopasować parametry produktu (np. rozmiar, materiały, rodzaj użytej farby itd.), żeby zminimalizować koszt wytworzenia jednej sztuki. To badania operacyjne pozwalają nam tak zaprojektować plany sprzedażowe, żeby maksymalizować marżę na produkcie. Siła badań operacyjnych bierze się z rosnącej mocy obliczeniowej komputerów. Przy funkcji mającej kilkanaście zmiennych wejściowych znalezienie ich optymalnej kombinacji jeszcze 10 lat temu wymagało komputerów midrange, specjalistycznego oprogramowania za dziesiątki tysięcy dolarów i tygodni obliczeń.

Dziś to samo można zrobić w pakiecie Microsoft Excel na przeciętnej stacji roboczej w ciągu jednej nocy. Słabość programowania liniowego polega na bezradności wobec problemów, których nie da się zamknąć w funkcji. W problemach związanych z działalnością przedsiębiorstw nie wszystkie problemy można opisać wzorami matematycznymi. Wszystko to, co wiąże się z rynkiem (którego cechą jest zmienność w czasie, cykliczność popytu, gwałtowne zjawiska itd.), nie da się w prosty sposób zapisać za pomocą formuł w arkuszu kalkulacyjnym. Niepewność związana ze stosowaniem prostego, liniowego modelu do realiów ekonomicznych przedsiębiorstwa wynika z faktu, że klient i konkurencja nie zachowują się zgodnie z modelami numerycznymi. Z tą niepewnością system typu DSS musi się liczyć i ona właśnie może być źródłem błędu. Błędu, który - pamiętajmy! - jest immanentną cechą systemów trzeciego modelu.

Metody statystyczne, data mining, knowledge discovery

Racjonalne podstawy do podejmowania decyzji wyznacza nam statystyka, w szczególności kombinacja statystyki i technologii hurtowni danych: eksploracja danych (znana lepiej pod angielskimi terminami data mining lub knowledge discovery). Pozwala na odkrycie zależności pomiędzy pewnymi zachowaniami lub cechami reprezentowanymi przez dane. Najbardziej oczywista zależność to korelacja dwóch czynników - np. czasu przyjścia do sklepu oraz asortymentu wybieranych towarów.

Eksploracja danych pozwala określić zależności, które z czysto "zdroworozsądkowego" punktu widzenia wydają się bezsensowne. W pewnej hurtowni materiałów budowlanych w ten sposób zaobserwowano mechanizm "feralnej transakcji". Okazywało się, że czwarta transakcja z każdym klientem była najbardziej narażona na nieterminową lub niekompletną spłatę. Dlaczego? Nikt nigdy nie próbował wyjaśnić tego fenomenu. Nieważne! Statystyczna korelacja została udowodniona i system informatyczny przy czwartej transakcji żądał przelewu przed wydaniem towaru, a jeśli było to niemożliwe - ograniczał wielkość transakcji.

Najprostszym bodaj zastosowaniem statystyki do budowy modeli służących do podejmowania decyzji jest regresja liniowa. Mechanizm prosty, znany każdemu absolwentowi politechniki oraz zaimplementowany w każdym arkuszu kalkulacyjnym, pozwala na podstawie danych pomiarowych (np. o sprzedaży) sformułować równanie przekształcające zestaw parametrów w wynik. Należy pamiętać, że statystyka nigdy nie daje nam jednoznacznych odpowiedzi. A jeżeli żądamy odpowiedzi binarnej ("czy klienci przychodzący do sklepu po osiemnastej chętniej kupują proszek do prania?") musimy określić tzw. poziom ufności. W każdym przypadku decyzja obarczona jest pewnym błędem. Jeżeli np. dojdziemy do wniosku, że podane powyżej zdanie jest prawdziwe (wieczorni klienci rzeczywiście chętniej kupują detergenty) i podejmiemy na tej podstawie decyzję o przemieszczaniu palet z proszkami w pobliże kas, nie powinniśmy się zdziwić, jeśli okaże się, że sprzedaż pozostanie na stałym poziomie. Decydując się na statystykę, na zawsze straciliśmy pewność związaną z algorytmem i maszyną dyskretną.

Teoria gier, symulacja

Jeśli technologia eksploracji danych i statystyka pozwalają na znalezienie zależności pomiędzy różnymi wielkościami (odpowiadają na pytanie "co z czym"), to teoria gier i symulacja odpowiadają na pytanie "co by było gdyby". Zdecydowanie najbardziej obiecującym kierunkiem rozwoju informatyki w systemach wspomagania decyzji jest teoria gier. W odróżnieniu od programowania liniowego pojawia się w nim jednak element niepewności. Teorię gier zastosujemy np. w sytuacji, gdy podejmujemy decyzję inwestycyjną. Załóżmy, że posiadane środki finansowe możemy skierować na ekspansję na nowy rynek, zainwestować w rozwój produktów albo przejąć za nie konkurenta. Co powinniśmy zrobić, jeśli znamy prawdopodobieństwo sukcesu każdego z wariantów? Zagadnienie można także postawić inaczej: jaka musiałaby być szansa na dany scenariusz, by był on opłacalny pod względem inwestycyjnym?

Powyższa decyzja oczywiście jest rozłożona w czasie i dlatego może podjąć ją człowiek za pomocą arkusza kalkulacyjnego. Jednak są zagadnienia, przede wszystkim w sterowaniu urządzeniami oraz decyzjach inwestycyjnych (np. na rynkach kapitałowych), gdzie błyskawicznie trzeba przeprowadzić złożone obliczenia, by wyznaczyć tzw. wypłatę powiązaną z decyzją i na jej podstawie - wartość oczekiwaną całej strategii. Może to zrobić tylko komputer z odpowiednim oprogramowaniem i dilerzy rynków kapitałowych oraz inwestorzy, którzy już stosują takie narzędzia - i to zarówno w trybie offline, jak i online. Można przewidywać, że tego rodzaju systemy będą rozpowszechniać się do innych zastosowań. Dobór cen albo poziomu produkcji w warunkach niepewności rynkowej wydaje się idealnym kandydatem do tego, by systemy informatyczne przejęły od ludzi część decyzji zarządczych.

Ekonomiści stosunkowo często posługują się symulacjami; coraz częściej robią to także menedżerowie. Symulując posunięcia naszej firmy, konkurencji, kształtowanie się cen surowców, pracy itd. można analizować przyszłą sytuację na rynku, wspomagając bieżące decyzje operacyjne, taktyczne i strategiczne. Istnieją stosunkowo niedrogie pakiety, które pozwalają zbudować model obliczeniowy, potraktować pewne jego zmienne jako probabilistyczne o zadanym rozkładzie (np. normalnym, Poissona) i następnie wykonać serię prób i obserwować zachowanie zmiennej wynikowej.

Logika rozmyta

Tam gdzie modele dyskretne zawodzą, można zastosować kolejne narzędzie informatyki trzeciego modelu: logikę rozmytą. Aby ją zrozumieć, trzeba wprowadzić pojęcie zbioru rozmytego. Klasyczny zbiór albo zawiera dany element, albo go nie zawiera. Zbiór rozmyty (fuzzy set) może je zawierać "trochę", a miara tego "trochę" wyznaczona jest przez liczbę od 0 do 1.

W praktyce biznesu decyzje podejmowane przez ludzi zawsze mają charakter rozmyty. "Jeśli dobrze będziemy radzić sobie z nowymi zamówieniami, odrobinę zwiększymy liczbę oddziałów" - to typowy przykład decyzji rozmytej. Inny: "Jeśli sprzedaż zacznie mocno spadać, będziemy musieli ostro wziąć się za cięcie kosztów". Takie zdania można usłyszeć podczas narad w gronie zarządu przedsiębiorstwa. Każde z nich bazuje na niedookreślonym kryterium: "mocno", "trochę", "odrobinę" - to właśnie pojęcia z logiki rozmytej. Oczywiście możemy takie kryterium dyskretyzować - np. przyjąć, że zaczniemy cięcie kosztów przy spadku sprzedaży od 20% i będziemy musieli ograniczyć koszty o 20%. Ale posługując się dyskretnym kryterium, jeśli sprzedaż spadnie o 20,1% przeprowadzimy kosztowny plan naprawczy (choć prawdopodobnie nie powinniśmy), a jeśli o 19,9% - nie zrobimy nic (choć być może należałoby zacząć).

Rozwiązanie IT wspomagające decyzje zarządcze na bazie logiki rozmytej "wygładza" zachowania firmy, a jednocześnie może być "zaprogramowane" bazą reguł pochodzącą z języka, jakim posługuje się menedżer. Łączy bliskość ludzkiej sfery pojęciowej z zaletami systemu informatycznego: pozostaje szybkie, pojemne, potrafi działać online i jest tanie w utrzymaniu.

Sieci neuronowe

Wszystkie inne przykłady bazują na zagadnieniach, w których istnieje zadany i znany opis algorytmu podejmowania decyzji. Czy to w przypadku systemu data mining, czy programowania liniowego lub teorii gier, czy wreszcie w logice rozmytej - zawsze istnieje znany zestaw kroków prowadzący do rozwiązania.

Tymczasem w sieciach neuronowych, które są równie obiecującym elementem informatyki trzeciego modelu, algorytm nie jest znany albo nie warto go szukać. Sieć neuronowa działa na zasadzie uczenia się - jedyne, czego potrzebujemy, to zestaw parametrów (wejście) oraz wynik (wyjście). Poprzez kilka, kilkadziesiąt, kilkaset przykładów można sieć nauczyć podejmowania decyzji nie tylko w okolicznościach identycznych z wcześniej podanymi, ale i całkowicie nowych. Sieć - jak zresztą jej nazwa mówi - działa podobnie do ludzkiego mózgu. Tak jak człowiek potrafi na podstawie doświadczeń przejawiać inteligentne zachowania w sytuacjach, w których nigdy nie był, tak samo sieć neuronowa - jeśli została dobrze nauczona - ma szansę zachować się poprawnie przy parametrach, których nigdy przedtem nie "spotkała".

Systemy informatyczne oparte na sieciach neuronowych m.in. oczyszczają transmisję głosową w sieciach z szumów i echa, potrafią wyprowadzać samolot z korkociągu, analizują zdjęcia rentgenowskie i tomograficzne, rozpoznają ruch w systemach ochrony budynku i diagnozują uszkodzenia sieci elektrycznej. Bardzo ciekawe przykłady zastosowań sieci neuronowych wiążą się z interakcją między człowiekiem a komputerem (HCI) - np. odczytywanie ruchów ust, tzw. elektroniczny kamerzysta (oprogramowanie pozwalające wydobyć sylwetkę i twarz człowieka z niekontrastowego tła). W bankowości wykorzystywane są w analizie zdolności kredytowej, w ochronie przyrody - do oceniania ryzyka skażeń, zaś w wojskowości do identyfikacji swój - obcy. Szerokie wprzęgnięcie modułów neuronowych w aplikacje dla przedsiębiorstw wydaje się tylko kwestią czasu.


TOP 200