• Nie Znaleziono Wyników

Podstawy Sztucznej Inteligencji i

N/A
N/A
Protected

Academic year: 2021

Share "Podstawy Sztucznej Inteligencji i"

Copied!
139
0
0

Pełen tekst

(1)

Podstawy Sztucznej Inteligencji i Systemów Ekspertowych

Agnieszka Nowak - Brzezińska

(2)

Plan wykładów

• Geneza sztucznej inteligencji i systemów ekspertowych, podstawowe definicje. Zastosowanie sztucznej inteligencji i systemów ekspertowych.

Wnioskowanie w systemach ekspertowych: analiza metod wnioskowania.

• Teoria zbiorów przybliżonych. Tablice decyzyjne, redukcja atrybutów.

Generowanie reguł decyzyjnych. Usuwanie niespójności z tablic decyzyjnych.

• Rachunek zdań. Rachunek predykatów, sprawdzanie niezawodności schematów wnioskowania: metoda zerojedynkowa, metoda założeniowa wprost i dowodu nie wprost. Rachunek kwantyfikatorów. Metody reprezentacji wiedzy niepewnej: metoda współczynników CF, Sieci Bayesa.

• Logika rozmyta i zbiory rozmyte. Typy funkcji rozmytych, omówienie procesów rozmywania i wyostrzania. Wnioskowanie rozmyte.

• Podstawy sieci neuronowych. Uczenie się sieci neuronowych. Topologia sieci neuronowych. Klasyfikacja z użyciem sieci neuronowych.

• Algorytmy klasyfikacji danych: naiwny klasyfikator Bayesa, algorytm kNN.

• Metody oceny jakości klasyfikacji.

(3)

Plan laboratoriów

Wprowadzenie do zagadnienia sztucznej inteligencji i systemów ekspertowych.

Tworzenie własnych baz wiedzy: zbioru atrybutów i wartości atrybutów oraz reguł.

Analiza tworzenia baz wiedzy w systemie PC-Shell pakietu Sphinx bądź podobnych narzędzi do tworzenia systemów ekspertowych.

Teoria zbiorów przybliżonych. Tablice decyzyjne, redukcja atrybutów. Generowanie reguł decyzyjnych. Usuwanie niespójności z tablic decyzyjnych. Rozwiązywanie zadań z tablic decyzyjnych: usuwanie niespójności, generowanie reduktu i rdzenia z definicji bądź z macierzy rozróżnialności, generowanie reguł minimalnych. Sprawdzanie wyników w systemie RSES bądź podobnym.

Rachunek zdań. Rachunek predykatów, sprawdzanie niezawodności schematów wnioskowania: metoda zerojedynkowa, metoda założeniowa wprost i dowodu nie wprost. Rachunek kwantyfikatorów. Rozwiązywanie zadań egzaminacyjnych.

Logika rozmyta i zbiory rozmyte. Typy funkcji rozmytych, omówienie procesów rozmywania i wyostrzania. Wnioskowanie rozmyte. Rozwiązywanie zadań dotyczących wnioskowania rozmytego. Dobór funkcji przynależności.

Podstawy sieci neuronowych. Uczenie się sieci neuronowych. Topologia sieci neuronowych. Klasyfikacja z użyciem sieci neuronowych. Budowa sieci neuronowej w narzędziu Statistica (lub podobnym).

(4)

literatura obowiązkowa

1. Cichosz P.: Systemy uczące się, WNT 2001

2. Goldberg D.E., Algorytmy genetyczne i ich zastosowania, WNT Warszawa, 1995 3. Russel S., Norvig P., Artificial Intelligence: A Modern Approach. Prentice

Hall,2010

4. Łęski J., Systemy neuronowo-rozmyte, WNT, 2008

5. Koronacki J., Ćwik J., Statystyczne systemy uczące się, Exit, 2008 6. Tadeusiewicz R., Sieci Neuronowe, AOW, Zbiory biblioteki AGH, 1993

7. Cholewa W., Pedrycz W.: Systemy doradcze. Skrypt. Politechnika Śląska, Gliwice 1987.

8. Jackson P, Introduction to Expert Systems, Addison-Wesley, 1990

9. praca zbiorowa: Wakulicz-Deja A., Nowak-Brzezińska A., Simiński R. „Systemy ekspertowe”, Uniwersytet Śląski, e-book (skrypt), Katowice, 2009

literatura uzupełniająca

1. Kasperski M., Sztuczna inteligencja, Helion, 2003

2. Traczyk W. [red.], Problemy sztucznej inteligencji, Wiedza i Życie, Warszawa 1995 3. Michalewicz Z., Algorytmy genetyczne + struktury danych=programy ewolucyjne.

WNT, Warszawa 2003

4. Rutkowski L., Metody i techniki sztucznej inteligencji, PWN, 2012 5. Stąpor K., Automatyczna klasyfikacja obiektów, Exit, 2005

(5)

literatura

1. Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall 2003, wydanie II, http://aima.cs.berkeley.edu

2. George Luger, Artificial Intelligence: Structures and Strategies for Complex Problem Solving, Addison Wesley 2005, wydanie V, http://www.cs.unm.edu/~luger/ai-final

3. Tom Mitchell, Machine Learning, McGraw Hill

1997, http://www-

2.cs.cmu.edu/~tom/mlbook.html

(6)

Literatura c.d.

1. Reichgelt H. Knowledge Representation: An AI Perspective. Ablex Publishing Corporation, New Jersey, 1991.

2. Mulawka J. Systemy Ekspertowe. WNT, Warszawa, 1996.

3. Cholewa W. and Pedrycz W. Systemy doradcze.

Skrypt Poltechniki Śląskiej nr 1447, Gliwice, Poland, 1987.

4. Pawlak Zdzisław. Systemy informacyjne -

podstawy teoretyczne. WNT, Warszawa, Poland,

1983.

(7)

Słowem wstępu…

• Większość programów komputerowych nie zachowuje sie szczególnie inteligentnie.

• Wszędzie tam, gdzie znamy dokładny algorytm rozwiązania zadania, inteligencja nie jest konieczna.

• Wszędzie tam, gdzie rozwiązanie nie daje się ująć

w ścisłe reguły lub wymaga tak wielkiej liczby

obliczeń, że jest niewykonalne, wymaga się

pewnej dozy inteligencji z naszej strony, a jeśli ma

wykazywać ją program komputerowy, mówimy o

inteligencji sztucznej.

(8)

Sztuczna Inteligencja (Artificial Intelligence, AI)

to dziedzina nauki zajmująca się rozwiązywaniem zagadnień

efektywnie

niealgorytmizowalnych w

oparciu o modelowanie wiedzy .

(9)

CI - numeryczne Dane + Wiedza AI - symboliczne Soft Computing

Sieci neuronowe

Rachunek prawdop.

Uczenie maszynowe Systemy

ekspertowe

Rozpoznawanie Wzorców Logika

rozmyta Algorytmy

ewolucyjne

Wizualizacja Metody

statystyczne

Data mining

Optymalizacja badania operacyjne

(10)

Rys historyczny

• Sztuczna inteligencja to termin

zaproponowany przez John’a McCarthy’ego w

1956 roku, na konferencji w Dartmouth

College poświęconej inteligentnym

maszynom.

(11)

• Okres ciemności: 1965-1970, w którym niewiele się działo, powoli opadał entuzjazm i pojawiły się głosy bardzo

krytyczne.

• Renesans: 1970-1975, gdy zaczęto budować pierwsze systemy doradcze, użyteczne w praktyce.

• Okres partnerstwa: 1975-1980, gdy do badań nad AI

wprowadzono metody kognitywistyki.

• Okres komercjalizacji: 1980-1990, gdy programy AI, a szczególnie systemy doradcze zaczęto sprzedawać komercyjnie

Rys historyczny

(12)

Co to inteligencja ?

• Inteligencja jest umiejętnością przystosowywania się do nowych zadań i warunków życia albo sposobem, w jaki człowiek przetwarza informacje i rozwiązuje problemy .

• Inteligencja to także umiejętność kojarzenia

oraz rozumienia. Wpływ na nią mają zarówno

cechy dziedziczne jak i wychowawcze.

(13)

Definicje AI w literaturze:

• Jest nauką o maszynach realizujących zadania, które wymagają inteligencji, gdy są wykonywane przez człowieka (M.Minsky)

• AI stanowi dziedzinę informatyki dotyczącą metod i technik wnioskowania symbolicznego przez komputer oraz symbolicznej reprezentacji wiedzy stosowanej podczas takiego wnioskowania (E. Feigenbaum)

• AI obejmuje rozwiązywanie problemów sposobami

wzorowanymi na naturalnych działaniach i procesach

poznawczych człowieka za pomocą symulujących je

programów komputerowych (R.J. schalkoff).

(14)

• Sztuczna inteligencja to automatyzacja zdolności przypisanych ludzkiemu myśleniu, zdolności taki jak podejmowanie decyzji ,,rozwiązywanie problemów,, uczenie się... [Bellman, 1978]

• Sztuczna inteligencja to badania prowadzone w kierunku stworzenia komputerów, które myślą ... maszyn posiadających umysł..

[Haugelland,, 1985]

• Sztuczna inteligencja to sztuka tworzenia maszyn zdolnych do wykonywania działań,, wymagających od człowieka zaangażowania inteligencji.. [Kurzweil,, 1990]

• Sztuczna inteligencja to badania mające na celu stworzenie komputerów posiadających umiejętności,, w których człowiek jest obecnie lepszy.. [Rich i Knight,, 1991]

(15)

• Sztuczna inteligencja to badanie zdolności umysłowych za pomocą modeli obliczeniowych.. [Charniak i McDermott, 1985]

• Sztuczna inteligencja to studia nad modelami obliczeniowymi, które umożliwiają percepcjję, wnioskowanie i działanie.. [Winstton, 1992]

• Sztuczna inteligencja to badania mające na celu opis i symulację inteligentnego zachowania w kategoriach procesów obliczeniowych..[Schallkoff, 1990]

• Sztuczna inteligencja jest gałęzią informatyki, zajmującą się automatyzacją inteligentnego zachowania..[Luger i Stublefield, 1993]

(16)

Inne definicje AI:

• „AI to nauka mająca za zadanie nauczyć

maszyny zachowań podobnych do ludzkich”.

• „AI to nauka o tym, jak nauczyć maszyny robić rzeczy które obecnie ludzie robią lepiej”.

• „AI to nauka o komputerowych modelach wiedzy umożliwiających rozumienie,

wnioskowanie i działanie”.

(17)

Definicja

Nie ma efektywnego algorytmu? Drobna zmiana może wymagać całkiem innego programu! Nie można przewidzieć wszystkich zmian. Rozwiązanie wymaga inteligencji.

Sztuczna Inteligencja (Artificial Intelligence, AI) to dziedzina nauki zajmująca się rozwiązywaniem zagadnień efektywnie

niealgorytmizowalnych w oparciu o modelowanie wiedzy.

Inne definicje:

* AI to nauka mająca za zadanie nauczyć maszyny zachowań podobnych do ludzkich.

* AI to nauka o tym, jak nauczyć maszyny robić rzeczy które obecnie ludzie robią lepiej.

* AI to nauka o komputerowych modelach wiedzy umożliwiających rozumienie, wnioskowanie i działanie.

(18)

Dwa rodzaje Sztucznej Inteligencji

• Słaba (Weak AI) - potrafi rozwiązywać trudne zadania w sposób umożliwiający praktyczne zastosowanie,

• Mocna (Strong AI) - oznacza myślenie przybliżające myślenie ludzkie.

(19)

Wersja słaba AI

• Filozofowie (J. Searl) sformułowali następujące rozróżnienie:

• Wersja słaba AI:

Komputer pozwala formułować i sprawdzać hipotezy dotyczące mózgu.

Program = symulacja, ale nie „prawdziwe” myślenie.

W tej wersji AI nie ma wielu oponentów gdyż jest wiele dowodów na jej oczywistą przydatność.

Możliwa jest komputerowa symulacja inteligentnego działania nie- biologicznymi metodami.

(20)

Wersja silna AI

• Wersja silna AI: komputer odpowiednio zaprogramowany jest w istotny sposób równoważny mózgowi i może mieć stany poznawcze.

Wersja często atakowana, ciągłe spory filozoficzne, czy jest to możliwe, ale eksperci się tym martwią.

Symulacja inteligencji to nie „prawdziwa inteligencja”, umysł nie jest programem a mózg nie jest komputerem.

Stąd następująca definicja:

• Sztuczna inteligencja to tylko to, czego jeszcze nie potrafią zrobić sztuczne systemy.

(21)

Najważniejsze procesy i funkcje składające się na ludzką inteligencję:

• Uczenie się i wykorzystywanie wiedzy, zdolność uogólniania, percepcja i zdolności poznawcze, np. zdolność rozpoznawania danego obiektu w dowolnym kontekście.

• Zapamiętywanie, stawianie i realizacja celów, umiejętność współpracy, formułowanie wniosków, zdolność analizy, tworzenie oraz myślenie koncepcyjne i abstrakcyjne.

(22)

Uczenie się

Zdolność do uczenia się jest powszechnie uważana za jeden z najważniejszych przejawów inteligencji. Przez uczenie się rozumiemy, w najprostszym ujęciu, zdobywanie wiedzy lub umiejętności (a także doskonalenie dotychczas posiadanej wiedzy lub umiejętności), na podstawie wspomagających informacji, takich jak doświadczenia czy przykłady.

Rozważając sztuczne systemy uczące się będziemy przez uczenie się rozumieć proces zmiany zachodzącej w systemie na podstawie doświadczeń, która prowadzi do poprawy jego jakości działania rozumianej jako sprawność rozwiązywania stojących przed systemem zadań.

(23)

Systemy Ekspertowe

System ekspertowy to inteligentny program komputerowy stosujący wiedzę i procedury rozumowania (wnioskowania) w celu rozwiązywania problemów, które wymagają doświadczenia ludzkiego (eksperta), nabytego przez wieloletnią działalność w danej dziedzinie.

Ogólna idea SE polega na przeniesieniu wiedzy eksperta z danej dziedziny do bazy wiedzy, zaprojektowaniu maszyny wnioskującej na podstawie posiadanych informacji oraz dodaniu interfejsu użytkownika, służącego do komunikacji.

(24)

Kiedy nasz program lub maszyna jest inteligentna ?

• Na to pytanie w 1950 roku próbował odpowiedzieć Alan Turing.

• Idea „Testu Turinga” polegała na tym, że człowiek za pomocą klawiatury i monitora zadaje te same pytania komputerowi i innej osobie. Jeśli zadający pytania nie potrafi rozróżnić odpowiedzi komputera i człowieka, tzn. że program (maszyna) jest inteligentny.

(25)

• Spory o to, czy test Turinga we właściwy sposób definiuje inteligencję maszynową (lub "myślenie maszynowe"), dotyczyły głównie trzech punktów:

• Maszyna, która przejdzie test Turinga, może być w stanie symulować ludzkie zachowanie konwersacyjne, lecz może to być znacznie mniej niż prawdziwa inteligencja. Maszyna może zwyczajnie używać sprytnie wymyślonych reguł. Częstą ripostą w społeczności zajmującej się badaniami nad sztuczną inteligencją jest zadanie pytania "A skąd wiemy, czy ludzie sami po prostu nie posługują się jakimiś sprytnie wymyślonymi regułami?".

• Maszyna może być inteligentna nie posiadając ludzkiej umiejętności prowadzenia rozmowy.

• Wielu ludzi mogłoby nie być w stanie zaliczyć takiego testu. Z drugiej strony, inteligencję innych ludzi oceniamy zazwyczaj wyłącznie na podstawie tego co i jak mówią.

(26)

Test Turinga

• Test ten został zaproponowany w 1950 roku przez Alana Turinga.

• Turing zaproponował ten test w celu zamiany pełnego emocji i w jego pojęciu bezsensownego pytania "Czy maszyny myślą?" na pytanie lepiej zdefiniowane, w ramach badań nad stworzeniem sztucznej inteligencji.

• Test wygląda następująco:

• 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. Zakłada się, że zarówno człowiek jak i maszyna próbują przejść test zachowując się w sposób możliwie zbliżony do ludzkiego

(27)

Pierwszy algorytm AI dla gier komputerowych

• Pierwszy algorytm AI dla gier komputerowych datuje się na rok 1951. Wtedy to matematyk Alan Turing stworzył pierwszą grę wykorzystującą sztuczną inteligencję.

• Gra Turinga była wzorowana na popularnej wówczas w Anglii zabawie towarzyskiej, która polegała na odgadnięciu płci dwóch osób ukrytych przed zgadującym. Starał się on odgadnąć płeć na podstawie uzyskanych odpowiedzi na zadane przez siebie pytania.

• Turing w swojej grze zamienił jedną z ukrywających się osób na swój algorytm, a odgadujący miał za zadanie wskazać, który z dwójki przepytywanych jest żywym człowiekiem. Ponieważ Turing nie dysponował komputerem, symulował działanie algorytmu na papierze. Jak się okazało, algorytm ten przegrywał nawet z bardzo słabymi graczami, co sprawiło, że krytycy określi grę Turinga jako bezcelową.

(28)

Zalety testu Turinga

- Obiektywne pojęcie inteligencji - zachowanie istoty rozumnej w kontekście pewnego zbioru pytań; standard pozwalający wykryć inteligencję bez odwoływania się do „prawdziwej” Natury inteligencji, wykorzystujący jedyny dostępny ”wzorzec”.

- Zignorowanie wątpliwości dotyczących wewnętrznych procesów komputera towarzyszących inteligentnemu zachowaniu i jego świadomości bądź braku świadomości podejmowanych decyzji.

- Eliminacja jakichkolwiek tendencji do preferowania inteligencji organizmów żywych nad inteligencję maszyn poprzez ograniczenie kontaktu jedynie do przesyłania odpowiedzi na zadane pytanie.

(29)

Wady testu Turinga

- Ograniczenie badań zachowania jedynie do zadań o charakterze symbolicznym; nie są sprawdzane możliwości percepcji zmysłowej ani umiejętności manualne, choć stanowią one istotny przejaw ludzkiej inteligencji.

- Ograniczenie inteligencji jedynie do jej ludzkiej postaci; Czy inteligencja maszynowa lub jakakolwiek inna nie może mieć zupełnie innej formy?

(30)

TestTuringa

• Jerry: my name is jerry.

• ALICE: Hey jerry.

• Jerry: do you know Turing?

• ALICE: A brilliant and tragic figure in the history of computer science.

• Jerry: who else do you know?

• ALICE: Hugh Loebner, Robby Garner, and Steven Spielberg

• Jerry: which film do you like?

• ALICE: My favorite movie is Teknolust. Have you seen it?

• Jerry: no.

• ALICE: I would recommend you check it out.

• Jerry: what is it about?

• ALICE: Science fiction.

• Jerry: do you remember my name?

• ALICE: Your name is jerry, seeker.

http://www.pandorabots.com/pandora/talk?botid=f5d922d97e345aa1

(31)

A.L.I.C.E. talking to ELIZA (circa 2005)

ALICE: Just keep talking to me as long as you can.

ELIZA: Do you wish to as long as me?

ALICE: OK, I will as long as you.

ELIZA: Do you wish to will as long as me?

ALICE: OK, I will will as long as you.

ELIZA: Do you wish to will will as long as me?

ALICE: OK, I will will will as long as you.

ELIZA: Do you wish to will will will as long as me?

ALICE: OK, I will will will will as long as you.

ELIZA: Do you wish to will will will will as long as me?

ALICE: OK, I will will will will will as long as you.

ELIZA: Do you wish to will will will will will as long as me?

http://www-ai.ijs.si/eliza/eliza.html

(32)

Chatboty

• Pierwszy (bardzo prosty) program napisany po to, żeby zaliczyć test Turinga: Eliza, 1966, Weizenbaum.

• Obecnie istnieje wiele chatbotów prowadzących konwersację w języku naturalnym.

• Spis publicznie dostępnych:

http://dmoz.org/Computers/Artificial_Intelligence/

• Natural_Language/Chatterbots/

• Spis polskich: http://www.chatbots.org/pl/

• Ale dotąd żaden komputer nie zaliczył testu Turinga

(33)

Jak działa chatterbot?

• Możliwości jego budowy jest bardzo wiele - od najprostszych po bardzo skomplikowane.

• Różnią się one uzyskiwanymi efektami, jednak

żadne nie pozwalają choćby zbliżyć się do

poziomu reprezentowanego przez człowieka.

(34)

możliwe rozwiązania:

• Rozpoznawanie słów kluczowych na wejściu i w reakcji na nie wypisywanie na wyjście jednej z predefiniowanych odpowiedzi.

• Rozpoznawanie rodzaju wypowiedzi (czy to jest pytanie) poprzez znajdowanie znaku "?" oraz słów takich jak "czy", "kto", "ile" itp.

• Rozpoznawanie emocji wyrażonych w wypowiedzi, np. poprzez znajdowanie wykrzykników i uśmieszków.

• Próba rozpoznania, co jest aktualnym tematem dyskusji (podmiotem).

• Uwzględnianie także poprzednich wypowiedzi, a nie tylko ostatniego pytania (kontekst).

• Zadawanie pytań, a nie tylko udzielanie odpowiedzi.

• Podtrzymywanie rozmowy. Stosowanie różnych trików psychologicznych i odpowiedzi wymijających, ogólnych.

• Wiara w to, że zastosowanie modnych technik, jak sieci neuronowe czy algorytmy genetyczne spowoduje niespodziewanie, że komputer zacznie myśleć, jest naiwna.

• W praktyce lepiej sprawdzają się chyba rozwiązania tradycyjne oraz solidne, skomplikowane algorytmy, ewentualnie systemy ekspertowe.

(35)

dane przechowywane przez bota

np. baza słów kluczowych i odpowiedzi lub ich fragmentów.

Ogólna zasada jest taka, że im bardziej próbuje się stworzyć bota inteligentnego (samodzielnie generującego odpowiedzi z małych fragmentów, uczącego się), tym

mniej sensowne i składne jego wypowiedzi.

Istota problemu jest oczywista.

Chatterbot działa w taki sposób, w jaki działałby np. człowiek nauczony reagować wg pewnego algorytmu na pewne wyrazy jakiegoś języka nie znając go i nie rozumiejąc, o czym mówi.

Aby napisać chatterbota potrafiącego zdać test Turinga, trzeba by chyba zaimplementować takie składniki: Analizę otrzymywanych wypowiedzi i odwrotnie - składanie swoich odpowiedzi z poszczególnych wyrazów. Takie teksty reprezentowane byłyby w pamięci w postaci drzewa, tak jak wygląda rozkład gramatyczny zdania, którego uczą w szkole podstawowej. Bot musiałby znać wszystkie wyrazy i ich formy gramatyczne, co jest szczególnie trudne w przypadku języka polskiego. Rozumienie wypowiedzi i wnioskowanie - bot musiałby oprócz umiejętności posługiwania się językiem także posiadać informacje o świecie lub pewnej dziedzinie wiedzy i prawidłowo z nich korzystać - czyli po prostu myśleć!

(36)

Sposób działania ChatBotów

Najprostsze programy tego typu działają według zasady pytanie - odpowiedź. Tzn. mają przypisaną pewną ilość par pytanie- odpowiedź i na podstawie tekstu 1 zwracają tekst 2.

Kolejnym ulepszeniem jest obsługa wyrażeń regularnych dzięki temu można stworzyć bardziej wyrafinowanego bota, który potrafi rozpoznać np. cześć zdania lub słowo nie poprawnie wpisane. Inną modyfikacją mogą być specjalne algorytmy lingwistyczne, które

obliczają podobieństwo zdań.

Bardziej wyrafinowane techniki tworzenia chatterbotów potrafią tworzyć całe scenariusze, zbieranie informacji o użytkowniku, zbieranie informacji o rozmowie, naukę w trakcie rozmowy, poleganie na poprzednich wypowiedziach itd...

(37)
(38)
(39)
(40)
(41)
(42)
(43)

Deep Blue

• Deep Blue – komputer grający w szachy, stworzony przez IBM.

• Deep Blue był pierwszym systemem komputerowym, który wygrał partię szachów ze światowym mistrzem Garri Kasparowem z regularną kontrolą czasu. Pierwsza wygrana partia odbyła się 10 lutego 1996 roku. Partia ta stała się znana, mimo że Kasparow wygrał trzy kolejne partie i dwie zremisował, ostatecznie wygrywając z Deep Blue wynikiem 4:2.

• Deep Blue został mocno ulepszony i nieoficjalnie nazwany "Deeper Blue". Zagrał ponownie z Kasparowem w maju 1997 roku. Mecz skończył się 11 maja wynikiem 3½ : 2½ dla komputera. W ten sposób Deep Blue stał się pierwszym systemem komputerowym, który wygrał z aktualnym mistrzem świata w meczu ze standardową kontrolą czasu

(44)
(45)
(46)

• 1989r. Kasparow wygrał z Deep Thought (poprzednikiem Deep Blue).

• 1996r. Kasparow pokonał Deep Blue w regulaminowym meczu liczącym sześć partii, rozegranym w Filadelfii z okazji obchodów 50- lecia Towarzystwa Maszyn Liczących (ACM, Association for Computing Machines).

• I oto teraz, po ośmiu latach, Deep Blue jest 1000 razy szybszy od Deep Thought. A Kasparow? Czy jest lepszy niż wtedy?

(47)

• Poprawiono szybkość działania (ponad dwukrotnie).

• W wyspecjalizowanym komputerze szachowym to właśnie ma decydujące znaczenie. Im szybciej myślisz, tym lepiej grasz.

• Maszyna ta potrafi w ciągu sekundy zbadać 200 milionów pozycji na szachownicy; szacuje się, że sam Garri Kasparow potrafi w tym samym czasie przeanalizować jedynie trzy pozycje

• "Wiedza szachowa" komputera Deep Blue została znacząco powiększona w ciągu ostatnich 12 miesięcy, przede wszystkim dzięki zaangażowaniu przez IBM jako "trenera" Joela Benjamina, mającego tytuł arcymistrza międzynarodowego. To on właśnie pomógł zakodować w pamięci maszyny niezliczone partie, jakie kiedykolwiek rozegrali wybitni szachiści. Spędziliśmy mnóstwo czasu, długie miesiące, pracując z arcymistrzem Benjaminem - powiedział Campbell - i niektóre z jego zaleceń były naprawdę czasami trudne do zaprogramowania. Pracowaliśmy bardzo ciężko, aby dowiedzieć się o szachach tak dużo, jak to tylko było możliwe. Zespół zapisał w pamięci maszyny bazę danych z otwarciami szachowymi, jakie kiedykolwiek zostały zagrane przez arcymistrzów szachowych w ciągu ostatnich 100 lat.

(48)

• Tu konieczna jest dygresja: jeśli tak, to czemu rzeczywista przewaga komputera nad człowiekiem okazała się w gruncie rzeczy dość nieznaczna, a walka była zacięta?

• Otóż dlatego, że komputer musi dokonać za każdym razem analizy wszystkich możliwości, natomiast człowiek - dzięki swej intuicji, talentowi i innym cechom, których (być może na razie) nie umiemy zaprogramować ani nawet zalgorytmizować - wybiera tylko te stosunkowo nieliczne, które zapowiadają powodzenie w dalszej grze.

(49)

Człowiek

• Kasparow głęboko rozumie istotę gry w szachy

• intuicja, zdolność do błyskawicznej oceny sytuacji, kolosalne doświadczenie.

deepBlue

• Komputer w żaden sposób nie imituje ludzkiego myślenia

• komputer gra "brute force", całkowicie ignorując intuicję, doświadczenie, selektywność pamięci i perfekcyjną

umiejętność rozpoznawania obrazu

• Komputer po prostu

z niewiarygodną szybkością liczy - i nic ponadto.

• Komputery nie męczą się ani nie peszą

(50)

Gdzie tu inteligencja ?

• Po przegranym meczu Kasparow powiedział, że czasami zauważał głęboką inteligencję i kreatywność w ruchach maszyny, których to ruchów on sam nie rozumiał. Zasugerował także, że ludzie mogli pomagać komputerowi podczas meczu. Szachista zażądał rewanżu, jednak IBM odmówił i nie rozwijał już Deep Blue.

• Po części zarzuty te były prawdziwe. Pomiędzy partiami program Deep Blue był modyfikowany, uwzględniając informacje z poprzednich rozgrywek. Kod był modyfikowany, aby program lepiej rozumiał styl gry Kasparowa. Umożliwiło to uniknięcie pułapki w ostatniej partii, na której sztuczna inteligencja poległa wcześniej dwukrotnie.

(51)

Jeopardy (2011) IBM’s Watson

http://www.youtube.com/watch?v=FC3IryWr4c8

IBM Watson wygrał odcinek Jeopardy, pokonując dwóch mistrzów

(52)

Watson (superkomputer)

• Prezentacja Watsona na targach komputerowych

• Watson – superkomputer stworzony przez IBM do odpowiadania na pytania zadawane w języku naturalnym.

• Jego nazwa honoruje założyciela tej firmy, Thomasa J. Watsona.

Superkomputer jest rozwijany jako część projektu badawczego DeepQA.

Wykorzystuje połączenie algorytmów do przetwarzania języka naturalnego, wyszukiwania informacji, reprezentacji wiedzy, wnioskowania automatycznego i uczenia maszynowego. Posiada 2880 rdzeni, 15 TB pamięci operacyjnej i nie korzysta z połączenia z Internetem.

• W ramach prezentacji swoich możliwości, Watson wystąpił w teleturnieju Jeopardy! (którego polskim odpowiednikiem był Va banque) w trzydniowej rozgrywce 14–16 lutego 2011 roku. Jego przeciwnikami byli: Brad Rutter, który dotychczas wygrał najwięcej pieniędzy w tym teleturnieju, oraz Ken Jennings, który najdłużej był w nim niepokonanym mistrzem. Watson zwyciężył tę rozgrywkę, z wynikiem $77147. Ken Jennings uzyskał wynik

$24000, a Brad Rutter $21600.

(53)

Udział w Jeopardy!

Runda pokazowa

13 stycznia 2011 roku przeprowadzono pokazową rundę Jeopardy! z 15 pytaniami, w której Watson zdobył $4400, pokonując Kena Jenningsa ($3400) i Brada Ruttera ($1200) (choć Ken Jennings miał tę samą liczbę punktów przed ostatnim pytaniem za $1000). Żaden z trzech graczy nie odpowiedział ani razu niepoprawnie.

Pierwotnie Watson zgłaszał odpowiedzi elektronicznie, ale producenci Jeopardy! zażądali, żeby robił to za pomocą przycisku, tak jak pozostali gracze. Jednak nawet po wyposażeniu go w fizyczny "palec", Watson pozostał szybszy niż ludzcy gracze. Jennings stwierdził:

"Jeśli próbujesz wygrać teleturniej, przycisk jest najważniejszy" i że Watson "może trafić z mikrosekundową precyzją we właściwy moment za każdym razem, z niewielkim albo żadnym rozrzutem. Ludzki refleks nie może rywalizować z obwodami komputerowymi w tej kwestii". W Jeopardy! wskazówki są wyświetlane na tablicy i czytane na głos, a gracze mogą zgłosić odpowiedź dopiero wtedy, gdy odczytywanie dobiegnie końca, co zajmuje zwykle 6-8 sekund. Watson nie słucha wskazówek, tylko dostaje je w formie tekstowej i zostaje elektronicznie poinformowany, kiedy można się zgłaszać. Pozwala mu to uniknąć kar za zbyt wczesne zgłoszenie się do odpowiedzi

Pierwsza rozgrywka

W pierwszej rundzie, wyemitowanej 14 lutego 2011 roku, Watson zremisował z Rutterem, zdobywając tak jak on $5000. Jennings zdobył

$2000. Watson nie grał bezbłędnie. W jednym przypadku zgłosił się do odpowiedzi i powtórzył błędną odpowiedź podaną wcześniej przez Jenningsa. Ponieważ Watson nie jest wyposażony w słuch, nie mógł wiedzieć o tej odpowiedzi. W innym pytaniu, dotyczącym George Eysera, po nieprawidłowym pytaniu Jenningsa o "brakującą rękę" podał odpowiedź "noga", która początkowo została uznana za prawidłową. Jednak biorąc pod uwagę, że Watson nie mógł słyszeć odpowiedzi Jenningsa i poprawić go, prowadzący wycofał akceptację tej odpowiedzi, uznając że prawidłowo powinien zapytać o "brakującą nogę”.

Drugą część pierwszej rozgrywki wyemitowano 15 lutego 2011. Watson zwyciężył ją, uzyskując wynik $35734. Rutter uzyskał $10400, a Jennings $4800. Watson jako jedyny nie odpowiedział prawidłowo na finałowe pytanie rozgrywki, z kategorii "Miasta US" ("Największe lotnisko w tym mieście nosi nazwę bohatera II Wojny Światowej, a drugie w kolejności nosi nazwę bitwy w II Wojnie Światowej".

Prawidłową odpowiedzią było Chicago, podczas gry Watson odpowiedział "Toronto?????" (wiele znaków zapytania oznaczało niepewność co do odpowiedzi). Postawił na tę odpowiedź $947.

Druga rozgrywka

Druga rozgrywka została wyemitowana 16 lutego 2011 roku. W pierwszej rundzie Jennings prowadził przed Watsonem, po wygraniu pytania Daily Double (pozwalającego podwoić posiadane punkty). Ostatecznie Watson zwyciężył jednak rozgrywkę, uzyskując w niej wynik $41413 (łącznie $77147). Jennings uzyskał $19200 (łącznie $24000), a Rutter $11200 (łącznie $21600).

Zdobyte pieniądze zostały zamienione na nagrody. Watson wygrał 1 milion dolarów, które w całości zostały przekazane organizacjom charytatywnym: 50% zostało przekazane World Vision i 50% World Community Grid. Jennings za zdobycie drugiego miejsca otrzymał

$300000 (które w 50% przekazał na organizacje charytatywne), a Rutter za zdobycie trzeciego miejsca $200000 (również 50% przekazał na organizacje charytatywne).

(54)

Uproszczony test Turinga

CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) - rodzaj techniki stosowanej jako zabezpieczenie w formularzach na stronach WWW.

Dla przesłania danych konieczne jest przepisanie treści z obrazka (zazwyczaj losowo dobranych znaków bądź krótkiego wyrazu).

Obrazek ten jest prosty do odczytania przez człowieka, jednakże odczytanie go przez komputer jest, przynajmniej w założeniu, bardzo trudne.

(55)

Captcha

(56)

CHIŃSKI POKÓJ

(57)

Kto i Kiedy ?

John Rogers Searle (ur. 31 lipca 1932) -

amerykański filozof. Z badań nad filozofią

języka przeszedł do badań na gruncie filozofii

umysłu. Badania nad umysłem są wg niego

naturalnym krokiem w badaniach nad

językiem, a sama filozofia języka ma być częścią

filozofii umysłu.

(58)

Chiński pokój

Załóżmy, że wiele lat temu skonstruowaliśmy komputer, który zachowuje się jakby rozumiał język chiński. Innymi słowy, komputer bierze chińskie znaki jako podstawę wejściową i śledzi zbiór reguł nimi rządzący (jak wszystkie komputery), koreluje je z innymi chińskimi znakami, które prezentuje jako informację wyjściową.

Załóżmy, że ten komputer wykonuje to zadanie w sposób tak przekonujący, że łatwo przechodzi test Turinga, tzn. przekonuje Chińczyka, że jest Chińczykiem. Na wszystkie pytania, które człowiek zadaje, udziela właściwych odpowiedzi w sposób tak naturalny, że Chińczyk jest przekonany, iż rozmawia z innym Chińczykiem.

Zwolennicy mocnej sztucznej inteligencji wyciągają stąd wniosek, że komputer rozumie chiński, tak jak człowiek.

(59)

Debata nad pokojem

Od opublikowania pracy Searle'a argument chińskiego pokoju był głównym punktem debaty nad możliwością mocnej sztucznej inteligencji. Zwolennicy teorii mocnej sztucznej inteligencji wierzą, że właściwie zaprogramowany komputer nie jest prostą symulacją lub modelem umysłu, lecz liczy w sposób właściwy umysłowi, tzn.

rozumie, ma stany kognitywne i może myśleć.

(60)

Czy można mówić po chińsku nie znając go?

Searl uważa, że ktoś może zapamiętać książkę reguł, a wtedy będzie mógł reagować jakby rozumiał chiński, ale nadal będzie tylko postępował według zbioru reguł, bez rozumienia znaczenia symboli, jakimi manipuluje. To prowadzi do interesującego problemu osoby, która może płynnie rozmawiać po chińsku "nie znając" chińskiego. To jest otwarte, czy taka osoba rozumie chiński nawet jeśli chiński mówca twierdzi inaczej.

(61)

Robotyka

Rozwój robotów dzięki USA, które w latach 50-tych stosowały roboty np.

w fabrykach do składania samochodów – General Motors.

Potem budowa maszyn manipulacyjnych dla przemysłu nuklearnego i poszukiwań oceanograficznych.

Dziś mamy roboty takie, które wykonują banalne czynności typu:

zrobienie kawy, podanie kapci, takie, które zastępują człowieka w trudnych procesach przemysłowych ale i takie, będące dumą współczesnej techniki.

(62)

Roboty wykonujące skomplikowane operacje chirurgiczne

W 2002 roku robot sterowany przez profesora Louisa Kavoussi z odległości tysiąca km, wykonał operację chirurgiczną. Rola lekarzy nadzorujących ograniczyła się jedynie do znieczulenia pacjenta. W ten sposób chory nie musi czekać na przyjazd lekarza, co zmniejsza znacznie koszty i czas zabiegu.

(63)

Przetwarzanie mowy i języka naturalnego

Badania obejmują:

1. Syntezę mowy (nauka języków obcych, odczytywanie informacji dla niewidomych),

2. Rozumienie słowa mówionego (automatic speech recognition) – np. dyktowanie tekstów, wydawanie ustnych poleceń, rozpoznawanie użytkownika po głosie,

3. Rozumienie języka naturalnego – wydobywanie istotnych zdań ze zdań zapisanych w postaci tekstu,

4. Tłumaczenie maszynowe – tłumaczenie tekstów w różnych językach.

(64)

Heurystyki

Heurystyka to twórcze rozwiązywanie problemów, zarówno logicznych jak i matematycznych przez eksperyment, metodą prób i błędów bądź odwołaniem się do analogii. Metody heurystyczne dają się świetnie stosować tam, gdzie rozwiązanie problemu wymaga olbrzymich ilości obliczeń. Heurystyki pozwalają eliminować niektóre obszary analiz, co zmniejszy koszty obliczeniowe i generalnie przyspieszy analizę.

(65)

Kognitywistyka

To dziedzina nauki, która próbuje zrozumieć naturę umysłu i zajmuje się zjawiskami dotyczącymi umysłu. Istotną sprawą jest analiza naszego sposobu postrzegania świata i próba zrozumienia tego, co dzieje się w naszym umyśle, gdy wykonujemy elementarne czynności umysłowe.

Korzysta się tutaj z doświadczeń nauk takich jak neurobiologia i psychologia. Ale na potrzeby tej nauki korzysta się także z zasobów antropologii, psychofizyki, logiki, lingwistyki, neurofizjologii, filozofii, sztucznej inteligencji i wielu innych gałęzi nauki.

(66)

Sztuczne życie (ang. Artificial life)

To młoda dziedzina nauki (1987).

Dziedzina nauki poświęcona zrozumieniu życia poprzez próby wydobycia podstawowych zasad dynamiki, mających wpływ na zjawiska biologiczne. Korzysta się tu z dorobku: biologii, chemii, fizyki, psychologii, robotyki, nauk komputerowych.

Framstick – prowadzony od 97 roku przez polaków. Symulacje prowadzone są w wirtualnym, trójwymiarowych świecie (ze środowiskiem lądowym i wodnym). Organizmy to framsticki, zbudowane z patyczków, mające receptory (zmysły dotyku, równowagi i węchu) oraz narząd ruchu (mięśnie). Tu sterowaniem zajmuje się siec neuronowa. Framsticki rywalizują ze sobą o byt w środowisku poprzez walkę i poszukiwanie pożywienia.

(67)

Boty

Bot to automat, narzędzie softwarowe, program, służący najczęściej do przeszukiwania i pozyskiwania danych. Inteligentne boty dodatkowo mogą podejmować decyzje na bazie zdobytej wcześniej wiedzy.

Obecnie wyróżnia się następujące typy botów:

1. Chatterboty – do pogawędek. Imitują rozmowę w jęz. Naturalnym, pozyskują informacje od rozmówcy.

2. Searchboty – automatyczna obsługa baz danych. Przeszukiwanie, indeksowanie i gromadzenie danych.

3. Shoppingboty – robienie zakupów przez internet.

4. Databoty – przeszukiwanie danych.

5. Updateboty 6. Infoboty

(68)

Szachy

• Umiejętność gry w szachy była dawniej postrzegana jako probierz inteligencji maszynowej - jeśli maszyna potrafi pokonać człowieka w tak wymagającej intelektualnie rozgrywce, to znaczy, że jest (sztucznie) inteligentna. Obecnie komputery górują nad prawie wszystkimi ludzkimi szachistami, choć wielu uznaje to za triumf szybkości maszyn, a nie ich sztucznej inteligencji.

• ok. 1948 – pierwsze programy szachowe.

• 1951 – A. Turing: Nikt nie jest w stanie ułożyć programu lepszego od własnego poziomu gry.

• 1967 – pierwsze zwycięstwo komputera nad "profesjonalnym" szachistą podczas turnieju.

• 1977 – pierwsze zwycięstwo nad mistrzem klasy międzynarodowej (jedna partia w symultanie).

• 1997 – Deep Blue wygrywa pełny mecz z Kasparowem (specjalny superkomputer 418-procesorowy; wynik 3,5:2,5).

• 2003 – Deep Junior remisuje z Kasparowem (8 zwykłych procesorów Intela 1,6 GHz;

wynik 3:3). Mecz odbywał się na warunkach określonych przez Kasparowa: m.in.

mógł on przez dłuższy czas przed rozgrywką trenować z Deep Juniorem, poznając jego słabe strony.

(69)

Warcaby

• W przeciwieństwie do szachów, problem gry w warcaby można uznać za w praktyce rozwiązany. Oznacza to, że w większości przypadków już po kilku posunięciach można podać wynik partii (przy założeniu optymalnej gry). Gra w warcaby na poziomie amatorskim jest, przy możliwościach obecnych komputerów, możliwa do zrealizowania w sposób "siłowy", tzn. poprzez cierpliwe wyliczanie drzewa gry.

Programistycznie jest to zadanie o wiele łatwiejsze niż obsługa robota, który przesuwałby pionki na planszy i rozpoznawał ich pozycję za pomocą kamery (gdyby nie miały specjalnych, kontrastowych kolorów - por. zdjęcie obok).

• Pierwsze udane programy do gry w warcaby z elementami uczenia się (ewolucyjnego) powstawały już w 1952 r. (A. Samuel). W roku 1989 powstał program Chinook z biblioteką wszystkich końcówek 8- pionkowych (6 GB), który w 1992 przegrał (2:4) z mistrzem świata;

kolejna jego wersja w 1996 zwyciężyła w ogólnokrajowym konkursie w USA. Aktualnym mistrzem świata jest program Nemesis.

(70)

Gra w GO

• Gra GO jest z kolei przykładem gry bardzo trudnej (z punktu widzenia komputera). Wiąże się to ze znacznie większym rozmiarem przestrzeni możliwych posunięć (choćby dlatego, że plansza do go ma 361 pól), co ogranicza możliwość wykorzystania czysto

"siłowych" metod obliczeniowych. W efekcie

najlepsze programy grają w go co najwyżej na

poziomie zaawansowanego amatora.

(71)

Techniki symulacji sztucznej inteligencji

• Jest wiele rodzajów algorytmów sztucznej inteligencji wykorzystywanych w grach komputerowych.

• Omówione będą tylko najpopularniejsze algorytmy, z jakimi można się spotkać wśród setek obecnych na rynku gier wykorzystujących sztuczną inteligencję.

(72)

Systemy uczące się

Systemy uczące się to programy komputerowe posiadające zdolność poprawiania jakości swojego działania poprzez zdobywanie nowych doświadczeń, które są następnie wykorzystywane podczas kolejnych interakcji ze środowiskiem. Kolejnym stopniem uczenia się są układy samoadaptacyjne, dobierające parametry pracy w zależności od efektów, a jednocześnie doskonalące strategię dalszego uczenia się (np. strategie ewolucyjne).

Systemy uczące się są obecnie najlepiej rozwijającą się i mającą największe znaczenie praktyczne dziedziną sztucznej inteligencji.

(73)

zastosowania systemów uczących się

• Systemy eksperckie, systemy gromadzące wiedzę wyposażone w mechanizmy rozumowania logicznego.

• Komputerowe widzenie, analiza oraz rekonstrukcja obrazu.

• Rozpoznawanie obrazów, mowy, pisma, struktur chemicznych oraz biologicznych, stanu zdrowia, sensu wyrazów i zdań.

• Wspomaganie decyzji menedżerskich, diagnoz medycznych.

• Modelowanie gier, uczenie się na błędach.

• Sterowanie samochodami, robotami, fabrykami.

• Planowanie, optymalizacja wielokryterialna.

• Oczyszczanie obrazów, separacja sygnałów akustycznych.

• Prognozowanie wskaźników ekonomicznych, wspomaganie decyzji zakupu i sprzedaży.

• Łączenie informacji z wielu baz danych.

• Inteligentne szukanie wiedzy w bazach danych.

(74)

Klasyfikatory

Są to systemy uczące się działające według następującego schematu:

• opatrujemy pewien zbiór obiektów etykietami ("decyzjami") klasyfikującymi te obiekty do dwóch lub więcej grup.

• prezentujemy obiekty wraz z etykietami systemowi klasyfikującemu (jest to tzw. zbiór danych treningowych).

• system klasyfikujący wykrywa różnice między obiektami i uczy się, jak powiązać te różnice z właściwą decyzją (etykietą).

• wiedza ta przechowywana jest w postaci pewnego modelu

danych; wykorzystanie jej polega na tym, że prezentujemy

klasyfikatorowi nowy obiekt i oczekujemy, że zostanie on

automatycznie zaklasyfikowany do właściwej klasy.

(75)

Przykład: nauczyć się odróżniania zdjęcia Marksa od pozostałych. Nauka polega na zaprezentowaniu wielu zdjęć z właściwym przyporządkowaniem:

(76)

Wytrenowany klasyfikator powinien poradzić sobie ze zdjęciem, którego nie było w próbce treningowej

(77)

Drzewa decyzyjne

• Drzewa decyzyjne są popularną techniką sztucznej inteligencji stosowaną przy tworzeniu AI dla komputerowych odpowiedników gier planszowych takich jak szachy, warcaby, czy go. Zadaniem tego algorytmu AI może być rozwiązywanie problemów decyzyjnych, jak również tworzenie planu działania.

• Drzewo decyzyjne przedstawia się w postaci grafu decyzji i ich możliwych konsekwencji, którego węzły są stanem gry, a węzły potomne to położenia uzyskiwane po przeprowadzeniu jednego ruchu. Węzły decyzyjne i węzły konsekwencji występują naprzemiennie, a każda ze ścieżek kończy się węzłem końcowym.

• Agent analizuje drzewo decyzyjne tak daleko, jak potrafi lub uzna za konieczne, rozpatrując wszelkie możliwe posunięcia względem obecnej sytuacji – i wybiera to, które uzna za najlepsze.

(78)

Logika rozmyta

(79)

Proces wnioskowania

Jako regułę wnioskowania dla sterowników rozmytych stosuje sie rozmytą regułę modus ponens. Reguła ta wygląda następująco:

Załóżmy, że mamy regułę

Jeśli prędkość samochodu jest duża, to poziom hałasu jest wysoki.

Niech teraz przesłanka mówi: Prędkość samochodu jest średnia.

Sterownik powinien na podstawie tego wywnioskować, że:

Poziom hałasu jest średnio wysoki.

Przesłanka: x jest A’

Implikacja: If x jest A THEN y jest B Wniosek: y jest B’

(80)
(81)

Logika rozmyta

Logika rozmyta jest powiązana z teorią zbiorów rozmytych i teorią prawdopodobieństwa.

Pomiędzy stanem 0 (fałsz) a stanem 1 (prawda) rozciąga się wiele wartości pośrednich określających stopień przynależności elementu do zbioru.

Technika ta pozwala na prace z koncepcjami, które wymagają podania odpowiedzi na pytania typu „w jakim stopniu?”, „ile?”, np.:

„bardzo”, „mocno”, „dużo”, „mały”, „średni”, „trochę”.

W grach komputerowych logika rozmyta wykorzystywana jest do symulowania emocji agentów (np. „miły”, obojętny”, „nieuprzejmy”,

„wrogi”, „zły”, „wściekły” itp.), dzięki czemu tworzona jest dużo głębsza i bardziej podobna do ludzkiej sfera uczuciowa komputerowych postaci.

Innymi przykładami zastosowania logiki rozmytej jest sterowanie nieograniczonymi zachowaniami.

(82)

Sieci Bayesa

(83)

Sieci bayesowskie – wnioskowanie w sytuacji niepewności

Przykład: jakie są szanse zdania ustnego egzaminu u prof. X, który jest kibicem Wisły i nie lubi deszczu ?

• Z - zaliczony egzamin

• N - dobre przygotowanie

• H - dobry humor egzaminatora

• A - awans Wisły do Ligi Mistrzów

• D - deszcz

Łączny rozkład prawdopodobieństwa (JPD):

P(Z, N, H, A ,D)

wyznaczony przez 25 wartości (32 wartości)

(84)

Sieci bayesowskie (sieci przekonań) - definicja

Acykliczny graf skierowany

Wierzchołki - zmienne losowe

Topologa sieci: krawędzie reprezentują bezpośrednią zależność przyczyna skutek

każda zmienna jest niezależna od nie-potomków (w szczególności dalekich przodków) pod warunkiem rodziców, np.: P(Z|H,D) = P(Z|H)

Dla każdego węzła X zdefiniowana jest tablica prawdopodobieństw warunkowych X pod warunkiem jego rodziców w grafie

(85)

Sieci bayesowskie - definicja, przykład

P (A) 0.20

P (D) 0.30

P (N)

0.20 A D P(H)

T 0.95 F 0.99 T 0.05 F 0.15 T

F

N H P(Z) T 0.90 F 0.55 T 0.45 F 0.05 T

P(Z|H,D) = P(Z|H) F

(86)

Sieci bayesowskie – możliwości wnioskowania: predykcja

Prawdopodobieństwo Zaliczenia 74%

(87)

Sieci bayesowskie – wnioskowanie diagnostyczne, wykluczanie

Egzamin zaliczony, jakie były tego przyczyny ?

Wzrost P(A) z 20% do 40%, przy spadku P(D) - wykluczanie

(88)

Sieci bayesowskie – analiza scenariuszy

Jeśli się przygotowaliśmy, to jaka jest szansa na zaliczenie ?

Spadek P(Z) z 26% do 17%

(89)

Klasyfikatory: kNN i naiwny

klasyfikator Bayesa

(90)

Obiekt klasyfikowany podany jako ostatni : a = 3, b = 6

Teraz obliczmy odległości

poszczególnych obiektów od wskazanego. Dla uproszczenia obliczeń posłużymy sie wzorem:

(91)

Obliczamy odległość każdego punktu do tego nowo

klasyfikowanego

(92)

Funkcja MIN.K Excela

(93)

Drzewa decyzyjne

(94)

106

Pogoda

Drzewo decyzyjne

tak nie

Odległość < 20 km

deszczowo słonecznie

Działanie klasyfikatora wieloetapowego ilustruje drzewo decyzyjne.

Pojęcia: korzeń drzewa, węzeł wewnętrzny, węzeł końcowy (liść), gałąź, ścieżka.

(95)

107

Pogoda

Drzewo decyzyjne

tak nie

Odległość < 20 km

deszczowo

Odległość: 8

Pogoda: deszczowo

słonecznie

(96)

Sieci neuronowe

(97)

Backpropagation

• To jedna z najczęściej stosowanych technik

uczenia się w sieciach neuronowych.

(98)

1. Wybierz losowo jedną z obserwacji

2. Przejdź przez odpowiednie procedury by wyznaczyć wartość

wejścia

3. Porównaj wartość pożądaną

z tą rzeczywiście uzyskaną w sieci

4. Dostosuj wagi obliczając błąd

Schemat uczenia się

(99)
(100)

Klasyfikatory

Są to systemy uczące się działające według następującego schematu:

• opatrujemy pewien zbiór obiektów etykietami ("decyzjami") klasyfikującymi te obiekty do dwóch lub więcej grup.

• prezentujemy obiekty wraz z etykietami systemowi klasyfikującemu (jest to tzw. zbiór danych treningowych).

• system klasyfikujący wykrywa różnice między obiektami i uczy się, jak powiązać te różnice z właściwą decyzją (etykietą).

• wiedza ta przechowywana jest w postaci pewnego modelu

danych; wykorzystanie jej polega na tym, że prezentujemy

klasyfikatorowi nowy obiekt i oczekujemy, że zostanie on

automatycznie zaklasyfikowany do właściwej klasy.

(101)

Zastosowania Systemów Ekspertowych

Obszary zastosowań systemów ekspertowych obejmują w głównej mierze następujące dziedziny:

Interpretacja -- formowanie wniosków następuje na podstawie danych

• Prognozowanie -- przewidywanie możliwych konsekwencji wystąpienia określonych sytuacji

• Diagnostyka -- wykrywanie przyczyn niesprawności w oparciu o zaobserwowane symptomy

• Projektowanie -- określenie konfiguracji składowych systemu, spełniającej określone kryteria działania przy określonych ograniczeniach

• Planowanie -- określanie sekwencji działań prowadzących do celu przy zadanych warunkach startowych

• Monitoring -- porównywanie zaobserwowanego funkcjonowania z oczekiwanymi działaniami

• Serwis -- wykrywanie i usuwanie usterek

• Szkolenie i instruktaż -- wykrywanie i korygowanie błędów w rozumieniu przedmiotu danej dziedziny

• Sterowanie automatyczne -- nadzór nad funkcjonowaniem złożonych systemów

(102)

Zalety i ograniczenia

• Tak szeroki wachlarz zastosowań wynika niewątpliwie z pewnych cech, które jednocześnie są zaletami systemów ekspertowych. Należą do nich:

• - większa dostępność ekspertyzy

• - mniejszy koszt ekspertyzy

• - mniejsze ryzyko w warunkach szkodliwych dla zdrowia ciągłość pracy

• - wyjaśnianie decyzji

• - szybkość uzyskania ekspertyzy

• stała, niewrażliwa na emocje i pełna ekspertyza

• - uczenie metodą prób i błędów

• - inteligentny interfejs człowiek-komputer

(103)

Architektura SE

(104)

Etapy tworzenia systemu ekspertowego:

• analiza problemu, pod kątem, czy kwalifikuje się on do budowy systemu ekspertowego,

• opracowanie specyfikacji systemu, zdefiniowanie jego zadań i oczekiwanych wyników;

• przejęcie wiedzy od ekspertów i jej opracowanie;

• wybór metody reprezentacji wiedzy oraz „narzędzi” do budowy systemu;

• organizacja i kodowanie wiedzy (prototyp, pełna wersja);

• weryfikacja i testowanie systemu.

(105)

Właściwości systemów ekspertowych:

• Są narzędziem kodyfikacji wiedzy;

• Mają zdolność rozwiązywania problemów specjalistycznych, w których dużą rolę odgrywa doświadczenie a wiedza ekspercka jest dobrem rzadkim i kosztownym;

• Zwiększają dostępność ekspertyzy;

• Zapewniają możliwość prowadzenia jednolitej polityki przez centralę firm mających wiele oddziałów;

• Poziom ekspertyzy jest stabilny – jej jakość nie zależy od warunków zewnętrznych i czasu pracy systemu;

• Jawna reprezentacja wiedzy w postaci zrozumiałej dla użytkownika końcowego;

• Zdolność do objaśniania znalezionych przez system rozwiązań;

• Możliwość przyrostowej budowy i pielęgnacji bazy wiedzy.

(106)

System ekspertowy służy do rozwiązywania problemów, które charakteryzują się jedną lub wieloma z następujących cech:

• problem nie da się sformalizować w postaci liczbowej;

• cele nie dadzą się opisać za pomocą matematycznych funkcji celu;

• nie istnieją formalne algorytmy rozwiązywania problemu;

• dane i wiedza systemu są obarczone nieznanym błędem lub są one niepełne, niepewne.

(107)

Przyczyny tworzenia systemu ekspertowego (uogólnione):

• tylko jeden (lub bardzo niewielu) specjalista posiada niezbędną wiedzę, co grozi jej utratą;

• ekspertyza jest wymagana często lub jest niezbędna w wielu miejscach;

• ekspertyza jest niezbędna w miejscach niedostępnych dla człowieka lub szkodliwych dla zdrowia.

(108)

Wnioskowanie

(109)

Typy wnioskowania

• Wnioskowanie w przód (data driven)

• Wnioskowanie wstecz (goal driven)

• Wnioskowanie mieszane

(110)

Prezentacja algorytmy RETE

(111)

Przykład dla regułowej bazy wiedzy z 9 regułami:

Fakty: a1 , b1, d4 R1: a1 & b1 -> c1 R2: a1 & b2 -> c2 R3: a1 & b3 -> c1 R4: b3 & d3 -> e1 R5: b3 & d2 -> e1 R6: b3 -> e2

R7: d4 -> f1

R8: d4 & g1 -> f1 R9: a1 -> d4

(112)

Przykład dla regułowej bazy wiedzy z 9 regułami:

Fakty: a1 , b1, d4 R1: a1 & b1 -> c1 R2: a1 & b2 -> c2 R3: a1 & b3 -> c1 R4: b3 & d3 -> e1 R5: b3 & d2 -> e1 R6: b3 -> e2

R7: d4 -> f1

R8: d4 & g1 -> f1 R9: a1 -> d4

Fakty: a1 , b1, d4 R1: a1 & b1 -> c1 R2: a1 & b2 -> c2 R3: a1 & b3 -> c1 R4: b3 & d3 -> e1 R5: b3 & d2 -> e1 R6: b3 -> e2

R7: d4 -> f1

R8: d4 & g1 -> f1 R9: a1 -> d4

Czyli teoretycznie dla takich faktów jak a1, b1 i d4 można

uaktywnić reguły:

r1,r7 i r9.

(113)

Algorytm RETE (1974 r.)

1. Graf budujemy tak, że od korzenia (root) prowadzimy tyle węzłów ile mamy atrybutów w częściach warunkowych reguł: „a”,”b”,”d”,”g”

2. Następnie od każdego węzła „atrybut” prowadzimy węzły z wartościami

atrybutów z przesłanek reguł…np. od „a” prowadzimy węzeł „1” (czy „a1”) ale od b już prowadzimy „1”,”2” i „3” bo w regułach mamy przesłanki typu b1,b2,b3

3. Gdy jakaś reguła ma więcej niż jedną przesłankę prowadzimy węzeł łączący wartości atrybutów tworzące przesłanki np. a1 & b1

4. Węzły końcowe (terminalne) stanowi numer porządkowy (ID) reguły.

(114)

1

a1 and b1

r1

2

a1 and b2

r2

a1 and b3

d

3

r3

b3 and d3

g

3

r4

d4 and g1

4 1

r7

r6

2 r8

b3 and d2

r5 r9

1 a

b

root

(115)

1

a1 and b1

r1

2

a1 and b2

r2

a1 and b3

d

3

r3

b3 and d3

g

3

r4

d4 and g1

4 1

r7

r6

2 r8

b3 and d2

r5 r9

1 a

b

root

Końcowy Graf RETE

korzeń atrybut

Wartość atrybutu (przesłanka reguły, jedna lub więcej. To tzw. Węzły typu alfa, beta)

Węzeł terminalny – ID reguły

(116)

Pojawia się fakt: a1 …więc zapalamy węzły z a1

Reguła r9 zostaje dodana do „conflict set” i bierzemy kolejne fakty…

1

a1 and b1

r1

2

a1 and b2

r2

a1 and b3

d

3

r3

b3 and d3

g

3

r4

d4 and g1

4 1

r7

r6

2 r8

b3 and d2

r5 r9

1 a

b

root

r9

Conflict set

(117)

Conflict set

1

a1 and b1

r1

2

a1 and b2

r2

a1 and b3

d

3

r3

b3 and d3

g

3

r4

d4 and g1

4 1

r7

r6

2 r8

b3 and d2

r5 r9

1 a

b Pojawia się fakt: b1 …więc zapalamy węzły z b1 root

Reguła r1 zostaje dodana do „conflict set” i bierzemy kolejne fakty…

r9 r1

Cytaty

Powiązane dokumenty

Sam algorytm poszukiwania właściwego algorytmu (sic!) mógłby działać następująco: buduj po kolei różne algorytmy (kandydatów); każdy kolejny testuj, aż uda się znaleźć

• Ogólnie: człowiek umie podejmować decyzje posługując się ograniczoną wiedzą wyrażoną przy użyciu nieprecyzyjnych pojęć. Tego samego chcemy

Kraj Nano, wróg Ameryki, posiada rakiety, które sprzedał mu pułkownik West, będący Amerykaninem. Udowodnić wszelkimi sposobami, że pułkownik West

Jeśli nie jest spełniony warunek stopu, wróć do punktu 2, w przeciwnym razie zwróć najlepszego osobnika z P... Co m-ty krok

• Osobnik czyli fenotyp, kodowany przez pewien projekt - genotyp. • Przedmiotem krzyżowania i mutacji są

- „wszerz” znajduje najkrótsze rozwiązanie zużywając najmniej czasu ale potrzebuje dużo pamięci. - „w głąb” potrzebuje mało pamięci ale nie znajduje

wartości równej tej, która jest przypisana do bieżącego stanu.

• Należy znaleźć wektor parametrów aproksymatora, który minimalizuje wskaźnik jakości.. PSZT, zima 2013, wykład