Sztuczna Inteligencja Definicje, rozwój, dziedziny SI, praktyczne realizacje Anna Matysek IBiIN UŚ 2008
Definicja Obiektem zainteresowań sztucznej inteligencji jest umysł ludzki traktowany jako system przetwarzania informacji. Termin sztuczna inteligencja został po raz pierwszy zaproponowany prawdopodobnie przez Johna McCarthy'ego, który w 1955 r. zdefiniował go w następujący sposób: "konstruowanie maszyn, o których działaniu dałoby się powiedzieć, że są podobne do ludzkich przejawów inteligencji".
Definicja cd. Inne definicje sztucznej inteligencji: Jest to gałąź informatyki dotycząca symbolicznych i nie algorytmicznych metod rozwiązywania problemów; Polega na studiowaniu zdolności umysłowych człowieka przy użyciu modeli obliczeniowych; Nauka o maszynach realizujących zadania, które wymagają inteligencji, gdy są wykonywane przez człowieka; Nauka o komputerowych modelach wiedzy umożliwiających rozumienie, wnioskowanie i działanie.
Sztuczna a naturalna inteligencja Komputery są tanie i szybkie, mają potężne i niezawodne pamięci, a przy tym są dokładne, nie mylą się(zazwyczaj), i nie meczą się, zachowując swoją dokładność przez wiele godzin pracy. W czym wiec problem, co jest takiego w inteligencji człowieka, z czym mają trudności komputery? Ludzie rozwiązują trudne problemy stosując abstrakcję, wielopoziomową analizę problemu, i wielokierunkowe myślenie. Są zdolni do efektywnego rozpoznawania wzorców i kojarzenia faktów. Komputery natomiast mają trudności z rozpoznawaniem odmiennych sytuacji, zmianą sposobu myślenia, i dostosowaniem go do sytuacji. Algorytmy rozpoznawania wzorców mogą być efektywne jeśli są bardzo wyspecjalizowane, ale wtedy przestają działać gdy tylko zmienia się sytuacja.
Zwolennicy i przeciwnicy SI Sztuczna inteligencja ma swoich zwolenników i oponentów. Oponenci AI twierdzą , że sztucznej inteligencji nie da się skonstruować, ponieważ inteligencja ma charakter nieobliczeniowy, i jest wyłączną domeną ludzkiego umysłu. Zaś istniejące systemy praktyczne najwyraźniej nie mają nic wspólnego z prawdziwą inteligencją , skoro są oparte na programach komputerowych, a te jedynie wykonują operacje na liczbach i symbolach. Przydatny byłby obiektywny test, pozwalający stwierdzić, czy stworzono sztuczną inteligencję.
Test Turinga (1950) Należy skonstruować system zamknięty w odizolowanym pomieszczeniu i połączony z niezależnym obserwatorem terminalem komunikacyjnym (typu teletype). Operator może komunikować sięz systemem w języku naturalnym, zadawać pytania, itp. Jednocześnie drugi terminal łączy operatora z drugim pomieszczeniem, gdzie przy terminalu siedzi człowiek. Jeśli operator nie będzie mógł na podstawie odpowiedzi uzyskiwanych od obu partnerów definitywnie stwierdzić który z nich jest systemem komputerowym, a który żywym człowiekiem, to system komputerowy należy uznać za inteligentny. Pomimo upływu czasu test zachowuje aktualność, tzn. nie stworzono systemu, który by ten test bezdyskusyjnie zaliczył.
Skąd się to wzięło? idee XIX-wieczne (i wcześniejsze): filozofia, logika, prawdopodobieństwo, badania nad funkcjonowaniem mózgu ludzkiego • lata 50-te XX wieku: powstanie AI związane jest z powstaniem informatyki, język programowania LISP (McCarthy) • rozwiązywanie łamigłówek, gry, klasyczne problemy typu: ”małpa i banany”, ”misjonarze i ludożercy,” i inne • wczesne systemy: GPS (Newell, Shaw, Simon), program do gry w warcaby (Samuel) • modele teoretyczne: perceptron (Minsky)
Skąd się to wzięło? trzeci kwartał XX wieku pojawienie się metod sformalizowanych opartych na logice • związek z rozwojem robotyki: metody percepcji, planowanie działań, uczenie się • po początkowym wybuchu entuzjazmu związanym z powstaniem wielu metod i nadziejach na szybkie osiągnięcie celów AI nadeszło zrozumienie problemów złożoności i bariery kombinatorycznej • niedostatki logiki klasycznej: potrzeba rozumowania przybliżonego i robienia założeń w braku pewnej informacji • rozumowanie oparte na zdrowym rozsądku
Skąd się to wzięło? zastosowania praktyczne, również komercyjne • dowodzenie twierdzeń i obliczenia symboliczne • rozumienie języka naturalnego, automatyczne tłumaczenie tekstów, rozumienie mowy • automatyczne programowanie: konstrukcja i weryfikacja programów • analiza informacji wizyjnej i sterowanie robotami (pojazdami) autonomicznymi • eksperckie systemy doradcze dla wielu dziedzin: medycyna, geologia, projektowanie inżynierskie, ekonomia, finanse, itp. • uczenie si,
Słaba i silna SI słaba sztuczna inteligencja polega na budowie systemów wspomagających człowieka w trudnych zadaniach w wielu dziedzinach przemysłu, budownictwa, projektowania, w rolnictwie, ochronie środowiska, usługach komercyjnych takich jak ekonomia, bankowość i finanse, techniki informacyjne, w medycynie, edukacji, badaniach naukowych, badaniach kosmosu, w technice wojskowej, i innych silna sztuczna inteligencja postuluje możliwość zbudowania systemu rzeczywiście inteligentnego, zdolnego komunikować się z ludźmi bezpośrednio w języku naturalnym, rozumieć różne niuanse i subtelności, przyjmować polecenia i planować ich samodzielną realizację, i przede wszystkim zdolnego do racjonalnego myślenia w warunkach pełnej złożoności naszego świata
Zastosowania praktyczne SI Technologie oparte na logice rozmytej – powszechnie stosowane do np. sterowania przebiegiem procesów technologicznych w fabrykach w warunkach "braku wszystkich danych„. Systemy ekspertowe – systemy wykorzystujące bazę wiedzy (zapisaną w sposób deklaratywny) i mechanizmy wnioskowania do rozwiązywania problemów. Maszynowe tłumaczenie tekstów – systemy takie jak SYSTRANS, jakkolwiek wciąż bardzo ułomne, robią szybkie postępy i zaczynają się nadawać do tłumaczenia tekstów technicznych. Sieci neuronowe – stosowane z powodzeniem w wielu zastosowaniach łącznie z programowaniem "inteligentnych przeciwników" w grach komputerowych. Uczenie się maszyn – dział sztucznej inteligencji zajmujący się algorytmami potrafiącymi uczyć się podejmować decyzje bądź nabywać wiedzę. Eksploracja danych – omawia obszary, powiązanie z potrzebami informacyjnymi, pozyskiwaniem wiedzy, stosowane techniki analizy, oczekiwane rezultaty.
Zastosowania praktyczne SI cd. Rozpoznawanie obrazów – stosowane są już programy rozpoznające osoby na podstawie zdjęcia twarzy lub rozpoznające automatycznie zadane obiekty na zdjęciach satelitarnych. Rozpoznawanie mowy i rozpoznawanie mówców – stosowane już powszechnie na skalę komercyjną. Rozpoznawanie pisma (OCR) – stosowane już masowo np. do automatycznego sortowania listów, oraz w elektronicznych notatnikach. Sztuczna twórczość – istnieją programy automatycznie generujące krótkie formy poetyckie, komponujące, aranżujące i interpretujące utwory muzyczne, które są w stanie skutecznie "zmylić" nawet profesjonalnych artystów, w sensie, że nie rozpoznają oni tych utworów jako sztucznie wygenerowanych. W ekonomii, powszechnie stosuje się systemy automatycznie oceniające m.in. zdolność kredytową, profil najlepszych klientów, czy planujące kampanie reklamowe. Systemy te poddawane są wcześniej automatycznemu uczeniu na podstawie posiadanych danych (np. klientów banku, którzy regularnie spłacali kredyt i klientów, którzy mieli z tym problemy).
Czego dotychczas nie udało się osiągnąć… Programów skutecznie wygrywających w niektórych grach. Jak dotąd nie ma programów skutecznie wygrywających w go, brydża sportowego, i polskie warcaby, mimo że podejmowano próby ich pisania. Trzeba jednak przyznać, że programy do gry w szachy, w które zainwestowano jak dotąd najwięcej wysiłku i czasu spośród wszystkich tego rodzaju programów, osiągnęły bardzo wysoki poziom, ogrywając nawet mistrza świata Garriego Kasparowa w maju 1997. Programu, który by umiał idealnie naśladować człowieka, rozmawiając przy użyciu tekstu i potrafiłby przejść test Turinga. Istnieją programy do konwersacji z komputerem, ale każdy człowiek, który miał z nimi wcześniej do czynienia, w krótkim czasie jest w stanie zorientować się, że rozmawia z maszyną, a nie innym człowiekiem.
Czego dotychczas nie udało się osiągnąć… Programu, który potrafiłby skutecznie generować zysk, grając na giełdzie. Problemem jest masa informacji, którą taki program musiałby przetworzyć i sposób jej kodowania przy wprowadzaniu do komputera. Mimo wielu prób podejmowanych w tym kierunku (zarówno w Polsce jak i na całym świecie), z użyciem sztucznej inteligencji nie da się nawet odpowiedzieć na pytanie, czy jest możliwe zarabianie na giełdzie, bez podawania samego przepisu jak to zrobić. Prawdziwym problemem w tym przypadku może być fakt, że nie istnieje żadna zależność między danymi historycznymi, a przyszłymi cenami na giełdzie (taką tezę stawia hipoteza rynku efektywnego). Gdyby hipoteza ta była prawdziwa, wtedy nawet najlepiej przetworzone dane wejściowe nie byłyby w stanie wygenerować skutecznych i powtarzalnych zysków. Programu skutecznie tłumaczącego teksty literackie i mowę potoczną. Istnieją programy do automatycznego tłumaczenia, ale sprawdzają się one tylko w bardzo ograniczonym stopniu. Podstawową trudnością jest tu złożoność i niejasność języków naturalnych, a w szczególności brak zrozumienia przez program znaczenia tekstu.
Przykładowe realizacje Chatbot, czyli wirtualny asystent, zadaniem którego jest rozmowa z internautą przebywającym na stronie internetowej. W rzeczywistości jest to program komputerowy działający on-line, pewien system, zbiór alogorytmów odpowiadających za prowadzenie konwersacji i wszystkie działania z nią związane. Tribot http://www.chatbot.pl/ Snikers http://www.snikers.pl/
Przykładowe realizacje Gra 20 pytań http://www.20q.net/ Systemy odpowiadające na pytania (w j. angielskim) http://start.csail.mit.edu/ http://tangra.si.umich.edu/clair/NSIR/html/nsir.cgi
Przykładowe realizacje Wirtualne zwierzęta domowe: http://www.virtualpet.com/vp/vpindex2.htm Korektor językowy: http://morfologik.blogspot.com/ Prognozowanie pogody: http://home.agh.edu.pl/~vlsi/AI/ex02/pogoda.html Rozpoznawanie znaków pisanych myszką: http://www.epokay.net/artur/download.php?ppath=rozpoznawanie_tzn.rar