POLITECHNIKA KRAKOWSKA WIEiK KATEDRA AUTOMATYKI I TECHNIK INFORMACYJNYCH Sztuczna inteligencja www.pk.edu.pl/~zk/si_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl
Wykład 1: Wprowadzenie do sztucznej inteligencji Definicje inteligencji i sztucznej inteligencji Inteligentne programy komputerowe Test Turinga Systemy sztucznej inteligencji - Systemy ekspertowe - Robotyka - Przetwarzanie mowy i języka naturalnego - Przetwarzanie obrazów - Wyszukiwanie wzorców i strategie wyszukiwani - Gry (szachy, go) - Optymalizacja i metaheurystyki - Kognitywistyka - Sztuczne życie
Definicja inteligencji
System autonomiczny
Definicja sztucznej inteligencji
Komputery w służbie sztucznej inteligencji Charles Babbage (1791-1871) koncepcja komputera mechanicznego - maszyny analitycznej Ada Lovelace (1815-1852) pierwszy program komputerowy - obliczanie liczb Bernoulliego w maszynie Babbage a
Model komputera von Neumanna John von Neumann (1903-1957) W modelu komputera von Neumanna komunikacja pomiędzy pamiecią danych a wejściem i wyjściem komputera zachodzi przy pomocy (wąskie gardło). Tymczasem w systemach sztucznej inteligencji wiele obliczeń może mieć charakter równoległy lub współbieżny, np. w sieciach neuronowych, przetwarzaniu obrazów, równoległych metaheurystykach itp.
Dualizm programowo-sprzętowy Systemy komputerowe składają się ze sprzętu (hardware) i oprogramowania (software). Komputery ogólnego przeznaczenia posiadają procesory z ustaloną listą rozkazów. W procesorach RISC (Reduced Instruction Set) lista rozkazów jest uproszczona do minimum. Powoduje to w konsekwencji konieczność budowy bardziej złożonych programów. W procesorach CISC (Complex Instruction Set) lista rozkazów jest rozbudowana. Powoduje to w konsekwencji skrócenie i uproszczenie programów. To, co w komputerach ogólnego przeznaczenia może być zrealizowane programowo, może też być zrealizowane sprzętowo (np. przez szybkie procesory grafiki, procesory równoległe, akceleratory sprzętowe itp.). Dotyczy to również SI, np. sztucznych sieci neuronowych implementowanych programowo i w układach FPGA.
Test Turinga i krytyka Searla Alan Turing zaproponował w 1950 r. test, polegający na serii pytań zadawanych komputerowi i innemu człowiekowi. Jeżeli w tej komunikacji za pomocą klawiatury i monitora udzielone odpowiedzi nie pozwolą na rozróżnienie partnerów rozmowy, to znaczy, że program komputerowy jest inteligentny. Komentarz: podejście Turinga jest naiwne w tym sensie, że inteligentny człowiek ma nieporównanie większy bagaż kulturowy niż jakikolwiek komputer i możliwość nieprzewidywalnych skojarzeń posiadanych informacji, które może przetwarzać w sposób niepowtarzalny (poczucie humoru, ironia, gry słów, zdrobnienia, archaizmy, synonimy, przedrzeźnianie, cytowanie, przysłowia, półsłówka, wzorce językowe dominujące w danym okresie czasu). John Searl stwierdził, że komputery nie mogą być inteligentne, bo przetwarzając słowa (symbole) według pewnych zasad nie rozumieją ich znaczenia (przykład: chiński pokój). Istnieje zatem różnica między myśleniem a symulowaniem procesów myślowych.
Systemy sztucznej inteligencji Systemy ekspertowe (systemy z niepełną lub niepewną informacją) Robotyka (imitacja zachowania) Przetwarzanie mowy i języka naturalnego Przetwarzanie obrazów Wyszukiwanie wzorców i strategie wyszukiwań Gry (szachy, go) Optymalizacja i metaheurystyki Kognitywistyka Sztuczne życie
Systemy ekspertowe systemy z niepełną lub niepewną informacją wspierają proces decyzyjny wskazują najbardziej prawdopodobne rozwiązanie/ rozwiązania (diagnozę, prognozę, zalecenie itp.) w oparciu o dostępną wiedzę i reguły wnioskowania umożliwiają pozyskanie nowej wiedzy system ekspertowy = baza wiedzy (fakty i reguły) + maszyna wnioskująca + interfejs użytkownika szkieletowy system ekspertowy : pusta baza wiedzy + interfejs z edytorem reguł konstruowanie s.e. należy do inżynierii wiedzy problem minimalnego zbioru atrybutów
Robotyka manipulatory, roboty autonomiczne, roboty humanoidalne itp. systemy robotów : automatyzacja produkcji samochodów (automotive), elektroniki, montaż z części, obróbka mechaniczna, paletyzacja, gry kolektywne turniej RoboCup itp. roboty humanoidalne (Asimo f-my Honda) - złożone zagadnienia komunikacji, kinematyki, ekspresji (wyrażanie uczuć ) serwis, konsultacje, pomoc w domu, opieka nad chorymi/starszymi osobami roboty specjalistyczne: nanorobotyka, wykonywanie operacji medycznych itp.
Przetwarzanie mowy i języka naturalnego synteza mowy (tekst -> mowa) rozumienie słowa mówionego (np. zapis mowy, przyjmowanie poleceń, rozpoznawanie nadawcy) przykład : Dragon Dictate, Angora rozumienie języka naturalnego (analiza tekstu, rozkład zdań, badanie części mowy i relacji pomiędzy nimi, wydobywanie wiedzy z danej dziadziny nauki/techniki) tłumaczenie maszynowe tekstów i mowy T. Higuchi, 1994 komputer IMX2 do translacji rozmów telefonicznych on-line (równoległa architektura asocjacyjna)
Optymalizacja problemy decyzyjne klasy złożoności P i NP teorie NP-zupełności i P-zupełności problemy optymalizacyjne i ich rozwiązywanie dokładne i przybliżone teoria aproksymowalności kompromis : dokładność czas obliczeń klasy złożoności PO, NPO, APX, PTAS, FPTAS nieaproksymowalność problemów dowodzenie za pomocą techniki szczeliny problem komiwojażera (TSP) jako najtrudniejszy w klasie NPO
Metaheurystyki klasa algorytmów iteracyjnych ogólne metody dokładnego lub przybliżonego rozwiązywania problemów Podstawowe metody: Genetic Programming (EA) (Smith 1980, Koza 1988) SA (Kickpatrick 1983), TS (Glover 1986, użycie słowa metaheurystyka), ACO (Dorigo 1995) GA (Holland 1995) PSO (Kennedy, Eberhardt 1995) https://en.m.wikipedia.org/wiki/ Talk:Metaheuristic/List_of_MetaheuristicsKennedy
Literatura