Metody sztucznej inteligencji Politechnika Śląska Katedra Podstaw Konstrukcji Maszyn Rok akademicki 2007/08 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 [email protected] • Konsultacje (s. 458 Wydz. MT): – Poniedziałek – Czwartek Wykład 1 11:15 - 13:15 11:45 - 13:45 • Kolokwium zaliczeniowe: MSI-w1_2007/08_1 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. 7. Kolokwium. MSI-w1_2007/08_3 Sztuczna inteligencja (AI=Artificial Intelligence) 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 Część I Historia Sztucznej Inteligencji i pojęcia podstawowe MSI-w1_2007/08_4 Dziedziny i zastosowania AI • 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 Ekscytująca próba uczynienia komputerów myślącymi maszynami z pamięcią, w pełnym i dosłownym sensie tego pojęcia (Haugeland, 1985) Automatyzacja działań, które łączymy z ludzkim myśleniem, jak: podejmowanie decyzji, myślenie, uczenie się, ... (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) 4 kierunki rozwoju AI Badanie zdolności umysłowych z zastosowaniem modeli obliczeniowych (Charniak & Mc Dermott, 1985) Badanie algorytmów, które umożliwiają spostrzeganie, rozumowanie i działanie (Winston, 1992) 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 Maszyna Turinga (1937) 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 Test Turinga (1950) 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. 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_9 Test Turinga (1950) MSI-w1_2007/08_10 Warunki, aby komputer przeszedł test Turinga 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. • 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_11 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ą 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_13 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) • 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 • Ujęcie z zastosowaniem agentów (krótki opis zawarto w dalszej części wykładu) • Reprezentacja wiedzy i systemy rozumowania ściśle określone i łatwo zrozumiałe MSI-w1_2007/08_15 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 MSI-w1_2007/08_16 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ą MSI-w1_2007/08_19 czujników) 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 (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 MSI-w1_2007/08_20 są nierozstrzygalne) 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 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, – IMB (1942) – Selective Electronic Calculator MSI-w1_2007/08_23 MSI-w1_2007/08_22 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) MSI-w1_2007/08_24 4 Historia AI (1952-1969) dynamiczny rozwój Entuzjazm (1957) – 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) • 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_25 Historia AI (1966-1974) Dawka realizmu MSI-w1_2007/08_26 Historia AI (1969-1979) Nowe koncepcje • 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) • 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_27 Historia AI (1980-1988) AI staje się przemysłem MSI-w1_2007/08_28 Historia AI (1986-obecnie) • Komercyjny system doradczy R1 (Mc Dermott, 1982) • V generacja komputerów (Japonia, 1981) • Sprzedaż 2 mld $ w 1988 MSI-w1_2007/08_29 • 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_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 Inteligentny agent MSI-w1_2007/08_32 Inteligentny agent - przykłady • Agent postrzega swoje otoczenie poprzez sensory • Agent oddziałuje na otoczenie poprzez efektory • 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 Przykład idealnego racjonalnego agenta: SQRT w kalkulatorze MSI-w1_2007/08_34 Struktura inteligentnego agenta AGENT = ARCHITEKTURA + PROGRAM Środowisko, w którym można realizować program: • komputer 1-układowy • kamera • mikrofon • ... MSI-w1_2007/08_35 • Oprogramowanie umożliwiające realizację programu agenta (np. BIOS) Funkcja, realizująca odwzorowanie od percepcji do akcji MSI-w1_2007/08_36 6 Agent – typ I (działający na zasadzie odruchów) Przykłady Percepcje Symptomy, wyniki, odpowiedzi pacjenta Punkty (pixeSystem le) o zmienanalizy nej intensywobrazów satelitarnych ności, kolor Interaktywny Wpisywane nauczyciel słowa angielskiego Akcje Pytania, testy, terapie Cele Zdrowy pacjent, minimalne koszty Poprawna Drukuj kategoryzację kategoryzacja sceny Drukuj ćwiczenia, sugestie, poprawki Maksymalizuj ocenę studenta z testu Środowisko Pacjent, szpital AGENT Sensory Jaki jest świat w tej chwili ? Obrazy z orbitującego satelity Zbiór studentów Warunki - reguły działania Jakie działania trzeba wykonać? Efektory MSI-w1_2007/08_37 MSI-w1_2007/08_38 Agent – III Agent – typ II (ukierunkowany na cel) (działający na zasadzie odruchów ze stanem wewnętrznym) Jaki jest świat w tej chwili ? Co powoduje moje działanie ? Warunki - reguły działania Jakie działania trzeba wykonać? AGENT Efektory Sensory Stan Jak zmienia sie świat? Co powoduje moje działanie ? Cel AGENT Jaki jest świat w tej chwili ? Co się stanie jeżeli wykonam działanie A ? Jakie działania trzeba wykonać? Efektory MSI-w1_2007/08_39 Agent – typ 4 Jak zmienia sie świat? 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ć? AGENT Efektory Środowisko Co powoduje moje działanie ? MSI-w1_2007/08_40 Podsumowanie (ukierunkowany na użyteczność) Stan Środowisko Jak zmienia sie świat? Środowisko Sensory Stan Środowisko Typ agenta System diagnostyki medycznej MSI-w1_2007/08_41 • Agent • Agent inteligentny • Cztery typy agentów MSI-w1_2007/08_42 7 Kroki konieczne przy rozwiązaniu problemu Część III Rozwiązywanie problemów przez przeszukiwanie • 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 Problem dobrze określony • • • • MSI-w1_2007/08_44 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 3 (gra w szachy) Przykład 2 (Łamigłówka) MSI-w1_2007/08_47 MSI-w1_2007/08_48 8 Problem 5 (Misjonarze i kanibale) 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 • 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 Problemy świata rzeczywistego • • • • • • MSI-w1_2007/08_50 Poszukiwanie rozwiązań • Polega na przeszukiwaniu przestrzeni stanów • Idea polega na odnalezieniu i rozszerzeniu zbioru sekwencji rozwiązań częściowych Znajdowanie drogi Problem komiwojażera Sterowanie robotem Świat klocków Teoria gier Harmonogramowanie MSI-w1_2007/08_51 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) MSI-w1_2007/08_53 MSI-w1_2007/08_52 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_54 9 Ogólny podział strategii przeszukiwania Sposoby przeszukiwania • Przeszukiwanie „ślepe” • Przeszukiwanie heurystyczne – z wykorzystaniem dodatkowej informacji MSI-w1_2007/08_55 Przeszukiwanie wszerz • • • • 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 z jednolitym kosztem MSI-w1_2007/08_57 MSI-w1_2007/08_58 Przeszukiwanie o ograniczonej głębokości Przeszukiwanie w głąb • 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 MSI-w1_2007/08_61 Przeszukiwanie dwukierunkowe 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