Docsity
Docsity

Przygotuj się do egzaminów
Przygotuj się do egzaminów

Studiuj dzięki licznym zasobom udostępnionym na Docsity


Otrzymaj punkty, aby pobrać
Otrzymaj punkty, aby pobrać

Zdobywaj punkty, pomagając innym studentom lub wykup je w ramach planu Premium


Informacje i wskazówki
Informacje i wskazówki

Sztuczna inteligencja - Notatki - Systemy i sieci, Notatki z Informatyka

Informatyka: notatki z zakresu systemów i sieci dotyczące sztucznej inteligencji.

Typologia: Notatki

2012/2013

Załadowany 12.04.2013

Norbert_88
Norbert_88 🇵🇱

4.5

(30)

322 dokumenty

1 / 21

Toggle sidebar

Podgląd częściowego tekstu

Pobierz Sztuczna inteligencja - Notatki - Systemy i sieci i więcej Notatki w PDF z Informatyka tylko na Docsity! Sztuczna inteligencja, metody ekspertowe. Sztuczna inteligencja (ang. Artificial Intelligence – AI) to technologia i kierunek badań na styku informatyki, neurologii i psychologii. Jego zadaniem jest konstruowanie maszyn i oprogramowania zdolnego rozwiązywać problemy nie poddające się algorytmizacji w sposób efektywny, w oparciu o modelowanie wiedzy (inaczej: zajmuje się konstruowaniem maszyn, które robią to, co obecnie ludzie robią lepiej). Problemy takie bywają nazywane AI-trudnymi i zalicza się do nich między innymi: analiza (i synteza) języka naturalnego, rozumowanie logiczne, dowodzenie twierdzeń, gry logiczne szachy, warcaby, go, manipulacja wiedzą, systemy doradcze, diagnostyczne. W badaniach nad sztuczną inteligencją wyróżniamy wiele nurtów. Maksymalny program jaki stawia przed sobą ta dziedzina to stworzenie maszyn o inteligencji dorównującej, a nawet przewyższającej ludzką. Program minimalny to stworzenie algorytmów lub maszyn przejawiających tylko jakiś wąski aspekt inteligencji, np. grających w szachy lub rozpoznających obrazy czy automatycznie tworzących streszczenie jakiegoś tekstu. AI jako dział badań naukowych zaczęła się w latach 50. XX wieku kiedy to powstało pierwsze laboratorium AI na Uniwersytecie Carnegie Mellon, założone przez Allana Newella i Herberta Simona i kilka lat później analogiczne laboratorium w Massachusetts Institute of Technology, założone przez Johna McCarthy'ego. Oba te laboratoria są wciąż wiodącymi ośrodkami AI na świecie. Termin sztuczna inteligencja został po raz pierwszy zaproponowany prawdopodobnie przez Johna McCarthy'ego, który w 1955 r. zdefiniował go jako "konstruowanie maszyn, o których działaniu dałoby się powiedzieć, że są podobne do ludzkich przejawów inteligencji". Natura to bardzo sprytny proces, wykazuje przewagę nad wieloma sztucznymi systemami. Jest zatem oczywiste, że wielu badaczy czerpało inspirację z natury. Tak zrodziła się dziedzina AI, jako część Informatyki. Próby uczynienia komputera działającym 'jak mózg ludzki' to początek AI. Dziś sztuczna inteligencja to bardzo szeroka dziedzina. Istnieją dwa różne podejścia do pracy nad AI. Pierwsze to tworzenie całościowych modeli matematycznych analizowanych problemów i implementowanie ich w formie programów komputerowych, mających realizować konkretne cele. Drugie to próby tworzenia struktur i programów "samouczących się", takich jak modele sieci neuronowych oraz opracowywania procedur rozwiązywania problemów poprzez "uczenie" takich programów, a następnie uzyskiwanie od nich odpowiedzi na "pytania". W trakcie wieloletniej pracy laboratoriów AI stosujących oba podejścia do problemu, okazało się, że postęp w tej dziedzinie jest i będzie bardzo trudny i powolny. Często mimo niepowodzeń w osiąganiu zaplanowanych celów, laboratoria te wypracowywały nowe techniki informatyczne, które okazywały się użyteczne do zupełnie innych celów. Przykładami takich technik są np. języki programowania LISP i Prolog. Laboratoria AI stały się też "rozsadnikiem" kultury hakerskiej, szczególnie laboratorium AI w Massachusetts Institute of Technology. Praca ta przyniosła też konkretne rezultaty, które znalazły już praktyczne i powszechne zastosowania. Współczesne praktyczne zastosowania AI: technologie oparte na logice rozmytej – powszechnie stosowane do np. sterowania przebiegiem procesów technologicznych w fabrykach w warunkach "braku wszystkich danych", System - uporządkowany wewnętrznie układ elementów mający określoną strukturę (całość); zespół zasad organiz., norm i reguł obowiązujących w danej dziedzinie; w metodologii zespół sposobów działania (metoda). System Ekspertowy (skrót ES od ang. nazwy Expert Systems) - komputerowy program konsultacyjny, wspomaga decyzje zastępując eksperta w danej dziedzinie, np. w diagnostyce medycznej. W zakres sztucznej inteligencji wchodzą systemy ekspertowe, sztuczne sieci neuronowe oraz logika rozmyta. Często też zalicza się do AI zagadnienia systemów ewolucyjnych, które stanowią filar sztucznego życia. Rys. 1 Sztuczne organizmy powstałe w drodze ewolucji. a) b) a) celem ewolucji była maksymalizacja średniej prędkości poziomej w wodzie, b) celem ewolucji była maksymalizacja średniej prędkości poziomej na ziemi Źródło: http://www.frams.poznan.pl Nie jest łatwo zdefiniować system ekspertowy ze względu na ciągły rozwój tej dziedziny sztucznej inteligencji. Pierwszą definicję systemu ekspertowego podał Edward Feigenbaum z Uniwersytetu Stanford w 1977 roku brzmiącą: jest to inteligentny program komputerowy używający wiedzy oraz procedur wnioskowania do rozwiązywania problemów o wysokim stopniu złożoności, wskazującym na niezbędność eksperta danej dziedziny do jego rozwiązania. Obecnie można tę definicję uszczegółowić ze względu na znaczny rozwój form komunikacji, przechowywania danych oraz tworzenia procedur. Tak więc system ekspertowy jest systemem komputerowym, który symuluje procesy uczenia się, zapamiętywania, komunikacji, przyczynowości i realizacji działań ludzkiego eksperta w danej dziedzinie wiedzy, dzięki czemu człowiek może być zastąpiony przez komputer z gwarancją sukcesu w rozwiązywaniu problemu. Rys. 2. Struktura systemu ekspertowego. Źródło: Inteligentne systemy w zarządzaniu - Teoria i praktyka , Red. J. S. Zieliński, PWN Warszawa 2000, str. 30. Proces rozwojowy systemów ekspertowych jest bardzo dynamiczny (rys.3) i pomimo problemów socjologicznych trwa nadal. Główne przyczyny rozwoju tej dziedziny sztucznej inteligencji to: podnoszenie jakości i kwalifikacji przez ludzkich ekspertów, przetrwanie wiedzy i procesów wnioskowania w przypadku odejścia ludzkiego eksperta, zwiększenie liczby ekspertów na świecie, co stwarza większy dostęp do wiedzy i podniesie jakość ludzkiego życia, oraz obniży koszty wiedzy. Kolejne, niemniej ważne to: osoby nie będące ekspertami mogą rozwiązywać bardzo złożone problemy za pomocą systemów ekspertowych, czas rozwiązywania problemów jest krótszy, można otrzymać dużo możliwych rozwiązań, niski koszt rozwiązania problemu przy braku ludzkiego eksperta, eliminacja monotonnych i żmudnych operacji, szeroki dostęp do wiedzy. Rys. 3. Historia rozwoju systemów ekspertowych. Źródło: Castillo E., Alvarez E.,Expert System:Uncertainty and Laerning, New York 1991. Systemy ekspertowe można podzielić według wielu kryteriów. Jeden z podziałów systemów ekspertowych przedstawia poniższa tabela. Tabela 1. Rodzaje systemów ekspertowych. Kategoria Zadania realizowane przez systemy ekspertowe Interpretacyjne dedykują opisy sytuacji z obserwacji lub stanu czujników, np. rozpoznawanie mowy, obrazów, struktur danych. Predykcyjne wnioskują o przyszłości na podstawie danej sytuacji, np. prognoza pogody, rozwój choroby. Diagnostyczne określają wady systemu na podstawie obserwacji, np. medycyna, elektronika, mechanika. Kompletowania konfigurują obiekty w warunkach ograniczeń, np. konfigurowanie systemu komputerowego. Planowania podejmują działania, alby osiągnąć cel, np. ruchy robota. Monitorowania porównują obserwacje z ograniczeniami, np. w elektrowniach atomowych, medycynie, w ruchu ulicznym. Sterowania kierują zachowaniem systemu; obejmują interpretowanie, predykcję, naprawę i monitorowanie zachowania się obiektu. Poprawiania podają sposób postępowania w przypadku złego funkcjonowania obiektu, którego te systemy dotyczą. Naprawy harmonogramują czynności przy dokonywaniu napraw uszkodzonych obiektów. Instruowania systemy doskonalenia zawodowego dla studentów. Źródło: Mulawka J.J. Systemy ekspertowe, WNT Warszawa 1996, strona 26 Przewidywany jest dalszy wzrost zainteresowania tymi systemami na świecie. W Polsce, według przedstawiciela jednej z polskich firm dystrybucyjnych, zainteresowanie przedsiębiorców rok temu było bardzo niewielkie, co spowodowało wycofanie się tej firmy z sektora systemów ekspertowych. W naszym kraju nadal praca eksperta jest tańsza niż wdrożenie systemu ekspertowego. Mimo to istnieje szansa, że rynek ten w przyszłości rozwinie się również w Polsce. W życiu codziennym co chwila dokonujemy oceny otoczenia i podejmujemy decyzje na podstawie klasyfikacji obserwowanej sytuacji. Czynimy to w oparciu o obserwację otoczenia, napływającą z różnych źródeł informację oraz posiadaną wiedzę i zdolności. Jest to dla nas czynność całkowicie naturalna. Jeżeli jednak zechcemy podobne zadania zlecić systemowi komputerowemu musimy wykonać wiele kroków, które pozwolą przynajmniej w części odwzorować przy pomocy oprogramowania ludzką zdolność do obserwacji, uczenia się, wyciągania wniosków w oparciu o posiadaną wiedzę i osiągania ostatecznej decyzji. Wzrastający rozmiar i poziom komplikacji informacji jaka otacza nas w codziennym życiu wywołał rosnące zapotrzebowanie na systemy przetwarzania danych zdolne do wyuczenia się wstępne przetwarzanie danych, z których wyniki wykorzystywane są przez operatorów ludzi; pełnią wtedy bardzo istotną rolę pomocniczą dla pracy operatora. Wynika z tego, że nawet tam, gdzie cała wymagana dla sterowania wiedza nie może być zredukowana do postaci reguł czy innej akceptowanej przez ES, stosowanie systemów ekspertowych może okazać się pożądane dla celów odpowiedniej filtracji wiedzy niezbędnej operatorowi. Ułatwia mu to podejmowanie decyzji i może eliminować zmęczenie lub nudę, co może przyczyniać się do lepszej reakcji operatora w ważnych sytuacjach i zapewnić większe bezpieczeństwo. Innym zyskiem zastosowania systemów ekspertowych pracujących w czasie rzeczywistym w sterowaniu procesami jest ich zdolność do wysokiej jakości przetwarzania często zmieniających się danych poprzez pełniejsze monitorowanie i inicjowanie akcji prewencyjnych. Prace nad zwiększeniem możliwości stosowania ES pracujących w czasie rzeczywistym idą w kierunku przyspieszania działania mechanizmu wnioskującego zarówno poprzez lepsze oprogramowanie jak i również poprzez stosowanie odpowiedniej architektury. Zalety systemów ekspertowych: systemy ekspertowe pracujące w czasie rzeczywistym w siłowniach energetycznych, podczas sterowania skomplikowanych urządzeń i maszyn na pokładach statków kosmicznych rozwiązują specjalistyczne problemy lepiej niż człowiek. Człowiek w takich sytuacjach nie mógłby swoimi zmysłami ogarnąć całej sytuacji, a system ekspertowy wyposażony w olbrzymią ilość danych i odpowiednio zaprogramowany szybko podejmuje właściwą decyzję, systemy ekspertowe mogą rozwiązywać problemy NP - zupełne, które mają opracowane teorie, jednak nie można za pomocą algorytmów ogarnąć wszystkich teoretycznie możliwych przypadków w interesującym użytkownika czasie. System ekspertowy potrafi znacznie ograniczyć ten czas, Graficzna ilustracja powyższej zalety systemu ekspertowego: system ekspertowy może tylko prezentować swoje rozwiązania użytkownikowi, do którego należy ocena ich jakości. Rozwiązania te mogą być odrzucone i wtedy system może wygenerować następne. Użytkownik ogranicza się tylko do wyboru najbardziej odpowiedniego z gotowych rozwiązań, system ekspertowy potrafi pracować w ten sposób, iż otrzymuje problem oraz jego rozwiązanie. Do systemu należy przeprowadzenie analizy i wygenerowanie komentarzy do rozwiązania, system ekspertowy może zgromadzić w jednym systemie wiedzę wielu ekspertów i pracować bardziej efektywnie niż dysponujący tylko swoją wiedzą ekspert z danej dziedziny, system ekspertowy ma ściśle wydzielone i nie powiązane ze sobą (w momencie budowy systemu) elementy, umożliwiające jego twórcom łatwy podział zadań przy tworzeniu nowego systemu, Graficzna ilustracja ról twórców systemu ekspertowego: moc systemu ekspertowego nie zależy od schematów wnioskowania, tylko od zakodowanej w nim wiedzy, więc sposób na zbudowanie systemu bliskiego ideałowi jest prosty: należy wyposażyć go w dużą ilość dobrej jakości, specyficznej wiedzy z danej dziedziny, system ekspertowy dysponując zapisaną wiedzą eksperta z jakiejś dziedziny może jej używać wielokrotnie w sposób ekonomicznie efektywny, gdyż nie jest przy tym wymagana obecność eksperta. W ten sposób ekspert nie musi powtarzać wielokrotnie tych samych ekspertyz i może rozwiązywać bardziej twórcze problemy i zadania, porównując wyniki działania systemu ekspertowego z rezultatem uzyskanym przez człowieka, okazuje się, iż w wielu dziedzinach system ekspertowy nie myli się tak często, jak człowiek, systemy transportowe, interpretacja sygnałów radarowych, urządzenia do badania kosmosu – monitorowanie systemu elektrycznego, systemu podtrzymującego życie, monitorowanie i kontrola sieci telekomunikacyjnych, użycie systemu ekspertowego czasu rzeczywistego umożliwia: zmniejszenie potrzeby ciągłej obecności na stanowisku operatorów o wysokich kwalifikacjach, zmniejszenie liczby operatorów, zmniejszenie awaryjności, bardziej spójne monitorowanie o lepszej jakości, zwiększenie przepustowości systemu, zmniejszenie kosztów trenowania operatorów, system ekspertowy czasu rzeczywistego może sprawdzać stan czujnika co ściśle określony, nawet bardzo krótki, czas i w przeciwieństwie do człowieka, nie pominie żadnego pomiaru, system ekspertowy czasu rzeczywistego posiada ważną właściwość: może koncentrować uwagę na jednym problemie, uznanym przez system za najważniejszy w danej chwili. Właściwość ta powoduje, iż system mając obszerną bazę wiedzy, może do rozwiązania problemu używać tylko jej części, co znacznie przyspiesza czas reakcji systemu, system ekspertowy może posiadać mechanizmy dedukcyjne. Umożliwiają one przewidywanie przyszłych stanów systemu na podstawie obserwacji, tworzenie pewnych uogólnień na podstawie zaobserwowanych prawidłowości oraz udowadnianie nowych twierdzeń. Wady systemów ekspertowych: nie wszystkie systemy ekspertowe pracują bez nadzoru człowieka – w większości przypadków system pełni tylko funkcje wspomagające podejmowanie decyzji przez człowieka, utworzenie nowego systemu ekspertowego wymaga wprowadzenia całej wiedzy posiadanej przez eksperta. Jest to proces bardzo czasochłonny, więc wysiłek włożony w utworzenie systemu ekspertowego jest uzasadniony tylko wtedy, gdy system będzie wykorzystywany przez długi okres czasu i przez dużą liczbę użytkowników, człowiek rozwiązując problem nie zawsze używa sztywnego schematu wnioskowania, często opiera się na intuicji. W przypadku systemu ekspertowego takie działanie jest niemożliwe, komunikacja systemu ekspertowego z użytkownikiem jest w dużym stopniu ograniczona przez klawiaturę. Do swobodnej komunikacji konieczna by była komunikacja za pomocą głosu, przy tworzeniu systemu ekspertowego, a konkretnie bazy wiedzy ekspert musi być cały czas obecny, gdyż najczęściej wykorzystywaną metodą pozyskiwania wiedzy jest prowadzenie z nim dialogu, system ekspertowy posiada wiedzę tylko z wąskiej dziedziny i nie potrafi skutecznie rozwiązywać problemów, jeżeli nie dotyczą one specyficznej dla niego dziedziny, niektóre systemy ekspertowe potrzebują długiego czasu na wygenerowanie poprawnego wyniku działania. Jeżeli wymagany jest krótszy czas na odpowiedź, niż potrzebuje go system ekspertowy, wtedy jakość wyniku ulega znacznemu pogorszeniu, nieopłacalne jest tworzenie systemu ekspertowego do rozwiązywania mało skomplikowanego problemu – w takim wypadku lepiej sprawdzają się zwykłe programy, w przypadku istnienia ścisłych algorytmów rozwiązania, tworzenie systemu ekspertowego jest nieekonomiczne - równie dobrze rozwiąże go zwykły program, specjalnie napisany do tego celu, istnieją dziedziny (np. sterowanie procesem technologicznym o nieznanym modelu matematycznym), które bardzo trudno poddają się opisowi i stworzenie systemu ekspertowego wymaga wiele wysiłku, a człowiek radzi sobie z tymi dziedzinami bardzo dobrze, czasem niemożliwy jest dialog systemu ekspertowego z człowiekiem. Szczególnie jest to widoczne w systemach czasu rzeczywistego, które muszą szybko reagować na zmieniające się warunki, ekspert rozszerza swoją wiedzę o nowe fakty i prawa, system ekspertowy musi zostać albo wyposażony w skomplikowane mechanizmy umożliwiające powiększenie bazy wiedzy lub baza wiedzy musi być ręcznie powiększana przez człowieka, tworzenie systemu ekspertowego jest procesem bardzo złożonym i dlatego wymaga dodatkowych programów (redakcyjnych), bez których stworzenie wydajnego systemu ekspertowego jest bardzo trudne, jeżeli w bazie wiedzy zostaną wykryte błędy uniemożliwiające poprawną pracę, muszą być one poprawione. Powoduje to jednak kolejne komplikacje, gdyż usunięcie jednej pomyłki może spowodować następną. W ten sposób niewielki błąd może uniemożliwić korzystanie z bazy wiedzy i spowodować konieczność jej gruntownej przebudowy, proces automatycznego tworzenia bazy wiedzy, mimo, że jest dostępny w niektórych systemach ekspertowych, to jednak przy dużym szumie informacyjnym (błędnych danych) reguły wnioskowania mogą być fałszywie modyfikowane. Spowoduje to niepoprawne działanie całego systemu, tworzenie systemu ekspertowego jest ułatwione przy pomocy narzędzi programowych, jednak narzędzie należy wybrać bardzo starannie, gdyż nie każde można łatwo zastosować w interesującej twórcę dziedzinie. Wybór niewłaściwego narzędzia może znacznie utrudnić i skomplikować tworzenie nowego systemu ekspertowego, najczęściej obecnie używane systemy ekspertowe, czyli systemy ekspertowe czasu rzeczywistego nie mogą być tworzone za pomocą narzędzi programowych, gdyż wielkie znaczenie ma w nich czas reakcji na szybko zmieniające się dane wejściowe, system ekspertowy, aby pracować niezawodnie musi pracować w sposób ciągły. System przetwarza duże ilości danych, więc szybko powstaje problem niedostatecznej ilości pamięci. Twórca systemu musi zawsze rozwiązywać problem jednoczesnej pracy i zwalniania pamięci, systemy ekspertowe nie posiadają idealnego modelu reprezentacji wiedzy w bazie wiedzy. Cały czas podejmowane są próby jak najlepszego zapisu wiedzy w systemie ekspertowym, jednak nie znaleziono jeszcze wystarczająco dobrego sposobu jej zapisu, pomimo ściśle określonych teoretycznych ram zapisu wiedzy w systemach ekspertowych, nie każdą wiedzę można ująć w te ramy, ekspert może pozyskiwać nową wiedzę ze źródeł różnego typu, jak np. literatura, inni eksperci. System ekspertowy jest całkowicie zależny od swojego operatora i jest on jedynym źródłem, z którego system może pozyskiwać nową wiedzę, ekspertowych jest nieopłacalne, gdyż programy algorytmiczne są na ogół szybsze i prowadzą do optymalnego rozwiązania, podczas gdy systemy ekspertowe nie muszą prowadzić do rozwiązań optymalnych a jedynie akceptowalnych przez użytkownika systemu. Niektóre istniejące systemy ekspertowe: MACSYMA – służy do rozwiązywania problemów matematycznych i całkowania; wykorzystywany w MIT przez fizyków plazmy, pozyskiwanie wiedzy przez przeprogramowanie; uznawany za bardzo efektywny, DENDRAL – służy do identyfikacji związków chemicznych, stosowany w USA, pozyskiwanie wiedzy przez przeprogramowanie, uznawany za bardzo efektywny, PROSPECTOR – służy do interpretacji danych dotyczących zasobów geologicznych (poszukiwanie złóż minerałów), mocno rozbudowany system pozyskiwania wiedzy, rezultaty dobre, REACTOR – służy do diagnostyki siłowni jądrowych; uznany za dobry. System ekspertowy może być tworzony przy użyciu dowolnego języka programowania (Basic, Algol, Fortran, Pascal, C, C+ i in.), jednakże tworzenie systemu w tych językach od podstaw może być bardzo czasochłonne, stąd opracowano specjalne języki programowania przeznaczone do tworzenia systemów ekspertowych, np.: LISP – LISt Processing, PROLOG – PROgrammation LOGique, OPS5 – Official Production System, CLIPS – C Language Integrated Production System. Zawierają one w sobie maszynę wnioskującą (z wyjątkiem LISP-u), a także wyspecjalizowane narzędzia ułatwiające tworzenie systemu, zawierające interfejs użytkownika, blok pozyskiwania wiedzy, blok wyjaśnień i inne. Takie narzędzia są nazywane „systemami szkieletowymi” – można je traktować jako systemy ekspertowe z pustą bazą wiedzy, której zapełnienie zmienia je w konkretny system ekspertowy. Takie podejście znakomicie ułatwia i przyśpiesza tworzenie systemów ekspertowych.
Docsity logo


Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved