Metody sztucznej inteligencji Politechnika Śląska Katedra Podstaw Konstrukcji Maszyn Rok akademicki 2007/08 Wykład 1 MSI-w1_2007/08_1 Informacje o przedmiocie Strona KPKM: http://kpkm.polsl.pl Informacje dydaktyczne/semestr IV/ Metody Sztucznej Inteligencji/Strona przedmiotu (ZiIP) Hasło: msiziip36 Kontakt: Anna Timofiejczuk anna.timofiejczuk@kpkm.polsl.pl Konsultacje (s. 458 Wydz. MT): Poniedziałek 11:15-13:15 Czwartek 11:45-13:45 Kolokwium zaliczeniowe: 03.06.2008 MSI-w1_2007/08_2 Program wykładu 1. Historia sztucznej inteligencji i podstawowe pojęcia. Ujęcie z zastosowaniem inteligentnych agentów. Rozwiązywanie problemów przez przeszukiwanie. 2. Logika pierwszego rzędu. Wnioskowanie w logice pierwszego rzędu. 3. Sposoby reprezentacji wiedzy. Podstawy systemów ekspertowych. 4. Wnioskowanie w warunkach niepewności. Sieci przekonań (Bayesa). Wnioskowanie rozmyte. 5. Sieci neuronowe. Algorytmy genetyczne i ewolucyjne. 6. Inżynieria wiedzy i odkrywanie wiedzy. Rozpoznawanie obrazów. Podstawy robotyki. Część I Historia Sztucznej Inteligencji i pojęcia podstawowe 7. Kolokwium. MSI-w1_2007/08_3 MSI-w1_2007/08_4 Sztuczna inteligencja (AI=Artificial Intelligence) Dziedziny i zastosowania AI Dziedzina wiedzy, która postawiła sobie za cel i przedmiot badań maszyny, które potrafiłyby rozwiązywać zadania, przy zachowaniu których człowiek korzysta ze swojej inteligencji (Marvin Minsky) A.M. Turing Computing Machinery and Intelligence Mind 49, 1950, s.433-460 MSI-w1_2007/08_5 Percepcja rozumowanie logiczne rozpoznawanie obrazów rozumienie mowy uczenie maszynowe odkrywanie nowej wiedzy Sztuczne sieci neuronowe teoria gier tłumaczenie tekstów automatyczne dowodzenie twierdzeń malowanie obrazów pisanie poezji MSI-w1_2007/08_6 1
Inne definicje AI 4 kierunki rozwoju AI Ekscytująca próba uczynienia Badanie zdolności umysłowych z komputerów myślącymi maszynami z zastosowaniem modeli obliczeniowych pamięcią, w pełnym i dosłownym sensie (Charniak & Mc Dermott, 1985) tego pojęcia (Haugeland, 1985) Automatyzacja działań, które łączymy z Badanie algorytmów, które umożliwiają ludzkim myśleniem, jak: podejmowanie spostrzeganie, rozumowanie i działanie decyzji, myślenie, uczenie się,... (Winston, 1992) (Bellman, 1978) Sztuka tworzenia maszyn, które wykonują działania wymagające inteligencji wtedy, gdy są wykonywane przez człowieka (Kurzweil, 1990) Badanie, jak można umożliwić komputerom wykonywanie zadań, w których jak dotychczas ludzie są lepsi (Rich & Knigth, 1991) Dziedzina badań, poszukująca wyjaśnienia i sposobu emulowania zachowań inteligentnych za pomocą pojęć dotyczących procesów obliczeniowych (Schalkoff, 1990) Dziedzina informatyki dotycząca automatyzacji inteligentnego zachowania (Luger & Stubblefield, 1993) MSI-w1_2007/08_7 Systemy Systemy myślące w myślące sposób racjonalnie podobny do ludzi Systemy działające podobnie jak ludzie Systemy działające racjonalnie Wiersze: górny - procesy myślenia dolny - sposób działania Kolumny: lewa - odnosi się do właściwości człowieka prawa -określenia z zastosowaniem terminu racjonalny MSI-w1_2007/08_8 Maszyna Turinga (1937) Maszyna Turinga nie jest obiektem fizycznym. Jest to abstrakcyjny schemat działania według zadanego algorytmu. Jego istotę oddaje angielskie określenie discrete-state machine, co odpowiada polskiemu terminowi maszyna stanów dyskretnych. Maszyna Turinga była odpowiedzią na problem liczb nieobliczalnych. MSI-w1_2007/08_9 Test Turinga (1950) Test Turinga jest wzorowany na grze retro w naśladownictwo (imitation game). W grze uczestniczyły cztery osoby: A (kobieta), B (mężczyzna), C (goniec) i D (sędzia). Zadaniem sędziego było odgadnąć kto jest kim na podstawie zadawanych pytań. Turing zastąpił A maszyną. Celem testu jest odgadnięcie tego czy sędzia rozmawia z maszyną czy człowiekiem. MSI-w1_2007/08_10 Test Turinga (1950) Test Turinga podaje: operacyjną definicję inteligencji Test określa: Zachowanie inteligentne maszyny na poziomie człowieka we wszystkich zadaniach poznawczych, wystarczających do porozumiewania się z człowiekiem, w taki sposób jak robi to człowiek. MSI-w1_2007/08_11 Warunki, aby komputer przeszedł test Turinga przetwarzanie języka naturalnego (komunikacja z rozmówcą) reprezentacja wiedzy automatyczne wnioskowanie z wykorzystaniem zgromadzonych informacji: do zadawania pytań do wyciągania wniosków (konkluzji) uczenie się, adaptacja do nowych okoliczności MSI-w1_2007/08_12 2
Naśladowanie myślenia człowieka (1) przedmiot modelowania poznawczego konieczna znajomość sposobu działania ludzkiego mózgu: przez introspekcję przez eksperymenty psychologiczne Gdyby istniała precyzyjna teoria ludzkiego umysłu, byłoby możliwe opracowanie programu działającego zgodnie z tą teorią MSI-w1_2007/08_13 Naśladowanie myślenia człowieka (2) Ujęcie z zastosowaniem praw rozumowania Pierwowzór: sylogizm Arystotelesa (wzorzec struktur argumentowania, które dają zawsze poprawną konkluzję, pod warunkiem zastosowania poprawnych przesłanek) Przykład: Sokrates jest człowiekiem; wszyscy ludzie sąśmiertelni; dlatego Sokrates jest śmiertelny. MSI-w1_2007/08_14 Dwa główne ujęcia AI Ujęcie logicystyczne Ujęcie logicystyczne bazujące na logice formalnej (będzie przedmiotem większej części wykładów) Ujęcie z zastosowaniem agentów (krótki opis zawarto w dalszej części wykładu) MSI-w1_2007/08_15 Zbudowanie programu logicznego, działającego jak system inteligentny Problemy: nie jest łatwe ujęcie nieformalnej wiedzy w wyrażenia rachunku zdań i rach. Predykatów rozwiązanie praktycznych problemów może wymagać niedostępnych mocy obliczeniowych Reprezentacja wiedzy i systemy rozumowania ściśle określone i łatwo zrozumiałe MSI-w1_2007/08_16 Ujęcie z zastosowaniem agentów Działaćracjonalnie = osiągnąć cel, gdy są dane przekonania Agent: jednostka, która spostrzega i działa Zalety: ujęcie bardziej ogólne niż stosowanie praw myślenia bardziej podatne na rozwój naukowy Ograniczona racjonalność MSI-w1_2007/08_17 Sztuczna inteligencja Sztuczna inteligencja jest nauką kognitywną. Jest połączeniem wiedzy i metod z zakresu: - filozofii, - matematyki, - psychologii, - lingwistyki, - informatyki. MSI-w1_2007/08_18 3
Podstawy AI (1) Filozofia (428 pne. - obecnie) Platon - pytanie o algorytm rozróżniania pojęć Arystoteles - system sylogizmów Leibnitz (materializm) 1646-1716 - mechaniczny układ do przeprowadzania operacji mentalnych Hume (empirycyzm) - zasada indukcji Russel (1872-1970) - logiczny pozytywizm: cała wiedza może być przedstawiona za pomocą teorii logicznych, połączonych ze zdaniami obserwacyjnymi (obserwacje dokonane za pomocą czujników) MSI-w1_2007/08_19 Podstawy AI (2) Matematyka (ok. 800 - obecnie) al-khowarazmi: wprowadził algorytm Boole (1847): formalny język rozumowania logicznego Frege (1879): logika 1. Rzędu Tarski (1902-1983): teoria referencji (jak obiekty logiczne odnoszą się do obiektów świata) Gödel (1931): twierdzenie o niezupełności (w każdym języku umożliwiającym opis własności liczb naturalnych istnieją zdania prawdziwe, które są nierozstrzygalne) MSI-w1_2007/08_20 Podstawy AI (3) Psychologia (1879 - obecnie) behawioryzm (istotne są obiektywne związki: bodziec-odpowiedź; wiedza, przekonania, cele i rozumowanie są nienaukowe) psychologia poznania (cognitive psychology): Craik (1943) - podstawy agentów bazujących na wiedzy Podstawy AI (4) Informatyka (1940 - obecnie) - rozwój środowisk sprzętowych i programowych koniecznych do badań w zakresie AI Lingwistyka (1957 - obecnie) - rozwój wspólnie z AI: lingwistyka obliczeniowa przetwarzanie języka naturalnego MSI-w1_2007/08_21 MSI-w1_2007/08_22 Historia (1933-1942) która zapoczątkowała AI Konrad Zuse (1933) maszyna wykorzystująca potencjał elektryczny komputer zerowej generacji John Atanasoft i Clifford Berry (1937-1942) komputer ABC; zasada działania oparta na arytmetyce binarnej Howard M. Aiken (1939-1944) maszyna Mark I z przekaźników elektromagnetycznych. John Mauchly i Presper Eckert (1940) ENIAC (Electronic Numerical Integrator and Computer) George Stibitz (1940) The Complex Number Calculator; cztery podstawowe działania w systemie dwójkowym, Historia AI (1943-1956) Początki AI Mc Culloch & Pitts (1943) - model sztucznego neuronu Turing (1950) test Turinga Shannon, Turing (ok. 1950) - programy do gry w szachy Minsky (1951) - pierwszy komputer neuronowy (3000 lamp + autopilot z B-24; 40 neuronów!!!) Newell & Simon - LT=Logic Theorist (program komputerowy zdolny do myślenia nienumerycznego) IMB (1942) Selective Electronic Calculator MSI-w1_2007/08_23 MSI-w1_2007/08_24 4
Historia AI (1952-1969) dynamiczny rozwój Newell & Simon - GPS (General Problem Solver) - pierwszy program myślący po ludzku McCarthy (1958) - LISP (LISt Processing) Minsky (ok. 1963) - mikroświaty (np. świat klocków) Rosenblatt (1962) - perceptron (sieć neuronów, która się uczy) MSI-w1_2007/08_25 Entuzjazm (1957) H. Simon: It is not my aim to surprise or shock you - but the simplest way I can summarize is to say that there are now in the world machines that think, that learn and that create. Moreover, their ability to do these things is going to increase rapidly until - in a visible future - the range of problems they can handle will be coextensive with the range to which human mind has been applied. MSI-w1_2007/08_26 Historia AI (1966-1974) Dawka realizmu Programy początkowo nie zawierały wiedzy i działały stosując jedynie pewne manipulacje na tekstach (ELIZA) Wiele problemów okazało się zbyt trudnych lub NP-zupełnych Stwierdzono fundamentalne ograniczenia związane z podstawowymi strukturami AI (np. neuronów) MSI-w1_2007/08_27 Historia AI (1969-1979) Nowe koncepcje Wąskie dziedziny problemowe Systemy doradcze MYCIN: diagnostyka chorób krwi i płynu mózgowo-rdzeniowego (450 reguł, uwzględnienie niepewności i sprzecznych opinii ekspertów) PROSPECTOR: wspomaganie prac wiertniczych inne skuteczne wdrożenia Minsky (1975): reprezentacja wiedzy - ramy MSI-w1_2007/08_28 Historia AI (1980-1988) AI staje się przemysłem Komercyjny system doradczy R1 (Mc Dermott, 1982) V generacja komputerów (Japonia, 1981) Sprzedaż 2 mld $ w 1988 Historia AI (1986-obecnie) Powrót sieci neuronowych Algorytmy genetyczne i programy ewolucyjne Systemy szkieletowe Sieci przekonań Inżynieria wiedzy Uczenie maszynowe i odkrycia w bazach danych... MSI-w1_2007/08_29 MSI-w1_2007/08_30 5
Podsumowanie Filozofia: myśl jest pod pewnym względem jak maszyna, która działa na wiedzy zakodowanej w określonym języku, Matematyka: dostarczyła narzędzi do opisu procesu myślenia, Psychologia: teoria, że ludzie i zwierzęta mogą być postrzegani jako maszyny przetwarzające informacje, Technologia komputerowa: pozwala na implementację algorytmów, Część II Ujęcie AI z zastosowaniem agentów MSI-w1_2007/08_31 MSI-w1_2007/08_32 Inteligentny agent Agent postrzega swoje otoczenie poprzez sensory Agent oddziałuje na otoczenie poprzez efektory Inteligentny agent - przykłady Człowiek: sensory: oczy, uszy, nos,... Efektory: ręce, nogi, usta,... Robot: sensory: kamera TV, czujniki IR, sonar,... Efektory: chwytaki, głośnik, wyświetlacz,... Agent programowy: sensory i efektory: ciągi bitów MSI-w1_2007/08_33 MSI-w1_2007/08_34 Przykład idealnego racjonalnego agenta: SQRT w kalkulatorze Struktura inteligentnego agenta AGENT = ARCHITEKTURA + PROGRAM MSI-w1_2007/08_35 Środowisko, w którym można realizować program: komputer 1-układowy kamera mikrofon... Oprogramowanie umożliwiające realizację programu agenta (np. BIOS) Funkcja, realizująca odwzorowanie od percepcji do akcji MSI-w1_2007/08_36 6
Przykłady Typ agenta Percepcje Akcje Cele Środowisko System diagnostyki medycznej Symptomy, wyniki, odpowiedzi pacjenta Pytania, testy, terapie Zdrowy pacjent, minimalne koszty Pacjent, szpital System analizy obrazów satelitarnych Interaktywny nauczyciel angielskiego Punkty (pixele) o zmiennej intensywności, kolor Wpisywane słowa Drukuj kategoryzację sceny Drukuj ćwiczenia, sugestie, poprawki Poprawna kategoryzacja Maksymalizuj ocenę studenta z testu Obrazy z orbitującego satelity Zbiór studentów Agent typ I (działający na zasadzie odruchów) AGENT Warunki - reguły działania Sensory Jaki jest świat w tej chwili? Jakie działania trzeba wykonać? Efektory Środowisko MSI-w1_2007/08_37 MSI-w1_2007/08_38 Agent typ II (działający na zasadzie odruchów ze stanem wewnętrznym) Agent III (ukierunkowany na cel) Stan Jak zmienia sie świat? Co powoduje moje działanie? Warunki - reguły działania Sensory Jaki jest świat w tej chwili? Jakie działania trzeba wykonać? Środowisko Stan Jak zmienia sie świat? Co powoduje moje działanie? Cel Sensory Jaki jest świat w tej chwili? Co się stanie jeżeli wykonam działanie A? Jakie działania trzeba wykonać? Środowisko AGENT Efektory AGENT Efektory MSI-w1_2007/08_39 MSI-w1_2007/08_40 Agent typ 4 (ukierunkowany na użyteczność) Stan Jak zmienia sie świat? Co powoduje moje działanie? Użyteczność Sensory Jaki jest świat w tej chwili? Co się stanie jeżeli wykonam działanie A? Jak szczęśliwy będę w tym nowym stanie? Jakie działania trzeba wykonać? Środowisko Podsumowanie Agent Agent inteligentny Cztery typy agentów AGENT Efektory MSI-w1_2007/08_41 MSI-w1_2007/08_42 7
Część III Rozwiązywanie problemów przez przeszukiwanie Kroki konieczne przy rozwiązaniu problemu Sformułowanie celu Określenie reguł powodujących przejście pomiędzy poszczególnymi stanami Sformułowanie problemu Poszukiwanie rozwiązania Wykonanie sekwencji działań będącej rozwiązaniem problemu MSI-w1_2007/08_43 MSI-w1_2007/08_44 Problem dobrze określony Przykład 1 (problem komiwojażera) Posiada stan początkowy Ma określony zbiór możliwych akcji Potrafi wykonać test osiągnięcia celu Ma sformułowany sposób wyboru rozwiązań bardziej preferowanych MSI-w1_2007/08_45 MSI-w1_2007/08_46 Przykład 2 (Łamigłówka) Przykład 3 (gra w szachy) MSI-w1_2007/08_47 MSI-w1_2007/08_48 8
Przykład 4 (kryptoarytmetyka) Stany: układanka w której niektóre litery zastąpiono cyframi Operatory: zastąp wszystkie wystąpienia danej litery cyfrą jeszcze nie występującą w układance Test celu: same cyfry, suma poprawna Koszt ścieżki: 0 FORTY + TEN + TEN ----- SIXTY Problem 5 (Misjonarze i kanibale) Stany: trzech misjonarzy, trzech kanibali, łódka (3,3,1) Operatory: z jednego brzegu można zabrać: dwóch misjonarzy, dwóch kanibali, jednego kanibala i jednego misjonarza, jednego kanibala, jednego misjonarza, MSI-w1_2007/08_49 MSI-w1_2007/08_50 Problemy świata rzeczywistego Znajdowanie drogi Problem komiwojażera Sterowanie robotem Świat klocków Teoria gier Harmonogramowanie Poszukiwanie rozwiązań Polega na przeszukiwaniu przestrzeni stanów Idea polega na odnalezieniu i rozszerzeniu zbioru sekwencji rozwiązań częściowych MSI-w1_2007/08_51 MSI-w1_2007/08_52 Generowanie sekwencji działań Zbadaj, czy stan wyjściowy nie jest docelowy Wygeneruj nowy zbiór stanów, stosując operatory do bieżącego stanu ( rozwijanie stanu ) Wybierz, który stan należy rozwijać jako następny (określa to STRATEGIA PRZESZUKIWANIA) Drzewo przeszukiwania węzeł przeszukiwania odpowiada danemu stanowi liść drzewa odpowiada stanowi, który: albo nie został jeszcze rozwinięty albo w wyniku rozwinięcia daje pusty zbiór stanów MSI-w1_2007/08_53 MSI-w1_2007/08_54 9
Ogólny podział strategii przeszukiwania Przeszukiwanie ślepe Przeszukiwanie heurystyczne z wykorzystaniem dodatkowej informacji MSI-w1_2007/08_55 Sposoby przeszukiwania Wszerz (breadth-first search) Z jednolitym kosztem (uniform cost search) W głąb (depth-first search) O ograniczonej głębokości (depth-limited search) Z iteracyjnym pogłębianiem (iterative deepening search) Dwukierunkowe (bidirectional search) MSI-w1_2007/08_56 Przeszukiwanie wszerz Przeszukiwanie z jednolitym kosztem MSI-w1_2007/08_57 MSI-w1_2007/08_58 Przeszukiwanie w głąb Przeszukiwanie o ograniczonej głębokości Modyfikacja przeszukiwania w głąb (narzucenie ograniczenia na maksymalną głębokość ścieżki): specjalny algorytm o ograniczonej głębokości szukania zmodyfikowane operatory szukania MSI-w1_2007/08_59 MSI-w1_2007/08_60 10
Przeszukiwanie z iteracyjnym pogłębianiem Przeszukiwanie dwukierunkowe MSI-w1_2007/08_61 MSI-w1_2007/08_62 Podsumowanie Problem składa się ze: stanu początkowego, operatorów, celu, przestrzeni stanów i ścieżek przeszukiwania Problem dobrze określony Poszukiwanie rozwiązań Strategie przeszukiwania: wszerz, wszerz z jednolitym kosztem, w głąb, o ograniczonej głębokości, z iteracyjnym pogłębianiem, dwukierunkowe, ze spełnianiem ograniczeń MSI-w1_2007/08_63 11