Wprowadzenie do Sztucznej Inteligencji Wykład 1 Informatyka Studia InŜynierskie ©AM Dlaczego badania nad sztuczną inteligencją? • Próba zrozumienia istot inteligentnych - lepsze poznanie samego siebie (filozofia, psychologia) • Wyzwanie dla badaczy - konstrukcja inteligentnych maszyn • Nieograniczone moŜliwości zastosowań praktycznych ©AM 1 Geneza badań nad sztuczną inteligencją • StaroŜytne początki w badaniach nad logiką formalną • Koniec lat 5050-tych XX w. prawdziwy impuls do rozwoju z chwilą stworzenia pierwszego komputera • Pojawienie się terminu „sztuczna inteligencja” - rok 1956 • Obecnie uwaŜana za jedną z najistotniejszych dziedzin nauki obok biologii molekularnej i inŜynierii genetycznej, informatyki kwantowej ©AM Inteligencja - próba definicji • Czy jest to jakaś pojedyncza własność, cecha, czy raczej zbiór pewnych pewnych umiejętności? • W jakim stopniu jest wyuczona, a w jakim wrodzona? • Co tak naprawdę dzieje się w trakcie uczenia? • Czym w gruncie rzeczy jest kreatywność? Czym intuicja? • Czy inteligencja moŜe być stwierdzona jedynie na podstawie obserwacji zachowania, czy wymaga raczej poznania jakiś „wewnętrznych” mechanizmów? • Jak wiedza jest reprezentowana w systemie nerwowym i czy płyną z tego jakieś wnioski odnośnie budowy inteligentnych maszyn? • Czym jest samoświadomość i czy ma znaczenie dla inteligencji? • Czy w ogóle moŜliwe jest stworzenie inteligentnych maszyn, czy inteligencja wymaga raczej bogactwa doznań i doświadczeń, które są dostępne jedynie w realnie istniejącym świecie? ©AM 2 Definicje sztucznej inteligencji • [Sztuczna inteligencja to automatyzacja] zdolności przypisanych ludzkiemu myśleniu, zdolności taki jak podejmowanie decyzji, rozwiązywanie problemów, uczenie się... [Bellman [Bellman,, 1978] • Sztuczna inteligencja to badania prowadzone w kierunku stworzenia komputerów, które myślą ... maszyn posiadających umysł. [Haugeland [Haugeland,, 1985] • Sztuczna inteligencja to sztuka tworzenia maszyn zdolnych do wykonywania działań, wymagających od człowieka zaangaŜowania inteligencji. [Kurzweil [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 [Rich i Knight, Knight, 1991] ©AM Definicje sztucznej inteligencji c.d. • Sztuczna inteligencja to badanie zdolności umysłowych za pomocą modeli obliczeniowych. [Charniak [Charniak i McDermott, McDermott, 1985] • Sztuczna inteligencja to studia nad modelami obliczeniowymi, które umoŜliwiają percepcję, wnioskowanie i działanie. [Winston [Winston,, 1992] • Sztuczna inteligencja to badania mające na celu opis i symulację inteligentnego zachowania w kategoriach procesów obliczeniowych. [Schalkoff, Schalkoff, 1990] • Sztuczna inteligencja jest gałęzią informatyki, zajmującą się automatyzacją inteligentnego zachowania.[Luger zachowania.[Luger i Stubblefield, Stubblefield, 1993] ©AM 3 Definicje sztucznej inteligencji c.d. myślenie (wnioskowanie) [Kurzweil, Kurzweil, 1990] [Rich i Knight, Knight, 1991] [Charniak i McDermott, McDermott, 1985] [Winston, Winston, 1992] zachowanie (działanie) [Bellman, Bellman, 1978] [Haugeland, Haugeland, 1985] [Schalkoff, Schalkoff, 1990] [Luger i Stubblefield, Stubblefield, 1993] ludzkie racjonalne ©AM Koncepcje sztucznej inteligencji „Silna” sztuczna inteligencja - system inteligentny, to taki, który jest bezpośrednim odzwierciedleniem inteligencji człowieka „Słaba” sztuczna inteligencja - system inteligentny, to taki, który działa racjonalnie (koncepcja systemowa). ©AM 4 Systemowa koncepcja sztucznej inteligencji Idealistyczna koncepcja racjonalności System funkcjonuje racjonalnie, jeśli wykonuje właściwe czynności (akcje, operacje), tzn. działa w sposób gwarantujący osiągnięcie celu, przy przyjętych załoŜeniach. ©AM Działać jak człowiek: Test Turinga ©AM 5 Test Turinga Mechanizmy niezbędne w teście Turinga: Turinga: • zdolność do przetwarzania języka naturalnego • zdolność do reprezentowania wiedzy • zdolność do automatycznego wnioskowania • zdolność uczenia się Mechanizmy niezbędne w „pełnym” teście Turinga: Turinga: • zdolność do rozpoznawania obrazów • zdolność poruszania się i przemieszczania obiektów (zdolności manualne) ©AM Test Turinga - charakterystyka • Badanie porównawcze zachowania 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 maszyny, 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 zdalnej formy wymiany informacji ©AM 6 Test Turinga - charakterystyka • Ograniczenie badań zachowania jedynie do zadań o charakterze symbolicznym; nie są sprawdzane moŜliwości percepcji zmysłowej ani umiejętności manualne, choć uwaŜane są za istotny przejaw ludzkiej inteligencji • Ograniczenie pojęcia inteligencji jedynie do jej ludzkiej postaci; postaci; Czy inteligencja maszynowa lub jakakolwiek inna nie moŜe mieć zupełnie odmiennej formy (inny, nieznany nam rodzaj inteligencji)? ©AM Myśleć jak człowiek: Cognitive science Kognitywistyka (ang. cognitive science) – opis i modelowanie ludzkiego sposobu myślenia, jego procesu poznania i inteligentnego zachowania. Metody: • introspekcja • eksperymenty neurologiczne i psychologiczne ©AM 7 Myśleć racjonalnie: tradycje logiki Język logiki formalnej - precyzyjna notacja/forma wyraŜania opisów wszystkich obiektów i związków między nimi. Zalety: Twierdzenie Gödla - moŜliwe jest zbudowanie programu, który znajdzie rozwiązanie kaŜdego problemu logicznego, o ile ono istnieje istnieje (jeśli nie istnieje, to nie wiemy czy program się zatrzyma!). Wady: Trudno wyrazić wiedzę nieformalną w języku logiki, szczególnie zaś zaś wiedzę niepewną, niepełną i nieprecyzyjną. Praktyczna realizacja programu rozwiązującego realne problemy logiczne jest obecnie niemoŜliwa ze względu na wymagania zasobowe. zasobowe. ©AM Działać racjonalnie: racjonalny system Systemowa sztuczna inteligencja - studiowanie i konstruowanie racjonalnych systemów (agentów) sztucznej inteligencji. Racjonalne działanie to zachowanie prowadzące właściwą drogą do osiągnięcia celu; działanie poprawne przy przyjętych załoŜeniach i postawionym celu. Racjonalne działanie to coś więcej niŜ racjonalne myślenie/wnioskowanie: • logiczne wnioskowanie - warunek dostateczny (ale nie konieczny!) racjonalnego zachowania ©AM • racjonalne działanie bez wnioskowania (np. natychmiastowa reakcja reakcja mistrza gry w szachy) • racjonalne działanie bez moŜliwości prowadzenia wnioskowania (przymus działania bez moŜliwości wnioskowania!) 8 Działać racjonalnie: racjonalny system Wszystkie (sześć) zdolności potrzebnych w teście Turinga to cechy niezbędne równieŜ w osiągnięciu racjonalnego działania. Zalety koncepcji racjonalnego agenta: • większy poziom ogólności - racjonalne myślenie nie jest jednym sposobem osiągnięcia racjonalnego zachowania, • moŜliwa do weryfikacji i realizacji w praktyce ze względu na precyzyjną i kompletną definicję. Obecny poziom technologii uniemoŜliwia pełną realizację systemowej systemowej koncepcji sztucznej inteligencji w skomplikowanych środowiskach stąd koncepcja ograniczonej racjonalności - właściwego działania w sytuacji ograniczonych zasobów obliczeniowych (pamięci i/lub czasu). czasu). ©AM Obszary zastosowań sztucznej inteligencji • Gry • Automatyczne wnioskowanie i dowodzenie twierdzeń • Systemy eksperckie • Przetwarzanie języka naturalnego • Rozpoznawanie obrazów • Planowanie działań i robotyka • Automatyczne (maszynowe) uczenie się ©AM 9 Gry • Reprezentacja wiedzy – Przestrzeń stanów gry • Metody wnioskowania – Algorytmy przeszukiwania grafów przestrzeni stanów – Przeszukiwanie baz danych (np. dla końcówek szachowych) – Maszynowe uczenie się • Uwagi – Przejrzysta struktura formalna problemu – Mała ilość wiedzy formalnej niezbędnej do rozwiązania problemu • Pierwsze zastosowania – Szachy: * Charles Babbage - Analytical Engine * Claude Shannon (1950) - opis algorytmu * Alan Turing - opis algorytmu * Arthur Samuel (1963) program uczący się – Warcaby – Układanka 1616-pozycyjna – Kółko i krzyŜyk ©AM Automatyczne wnioskowanie i dowodzenie twierdzeń • Reprezentacja wiedzy – Rachunek zdań – Rachunek predykatów • Metody wnioskowania – Reguła odrywania (modus ponens) – Unifikacja (uzgadnianie) – Rezolucja (strategie rezolucyjne) • Pierwsze zastosowania – Logic Theorist (Newell&Simon’63) – GPS - General Problem Solver (Newell&Simon’66) – Artificial Matematician • Dziedziny współczesnych zastosowań – Projektowanie i weryfikacja układów techniki cyfrowej (AURA’83, MRS’90) – Synteza i weryfikacja poprawności programów komputerowych (alg. RSA’84) – Sterowanie złoŜonymi systemami ©AM 10 Systemy eksperckie • Reprezentacja wiedzy – Reguły produkcji – Ramy • Metody wnioskowania – Cykl „stimulus „stimulus--response” response” („recognize („recognize--act”) act”) – Dopasowywanie wzorców (ang. pattern matching) matching) – Sterowanie agendą zadań • Pierwsze zastosowania – DENDRAL (Stanford’60) - struktura cząsteczek związków organ. – MYCIN (Stanford’70) - diagnoza i terapia infekcji bakteryjnych krwi – PROSPECTOR - geologia (ocena złóŜ surowców) – XCON - konfiguracja komputerów firmy VAX • Dziedziny współczesnych zastosowań ©AM – Rolnictwo, przemysł, usługi, handel – Nauka, medycyna – Wojskowość Automatyczne (maszynowe) uczenie się • Reprezentacja wiedzy – Drzewa decyzyjne, drzewa probabilistyczne – Reguły decyzyjne, sztuczne sieci neuronowe • Metody wnioskowania – – – – Algorytm ID3 (Quinlan ), C4.5 (Quinlan), Analogia Dopasowanie Uogólnienie i specyfikacja • Pierwsze zastosowania – METAMETA-DENDRAL – TEREZJASZ (współpraca z systemem eksperckim MYCIN) • Zastosowania współczesne – Systemy oparte na bazach wiedzy (syst (syst.. eksperckie, syst. syst. doradcze, robotyka) – Eksploracja i odkrywanie wiedzy z duŜych bazach danych ©AM 11 Automatyczne (maszynowe) uczenie się • Uczenie się to konstruowanie i zmiana reprezentacji doświadczonych faktów [R.Michalski, 1986]. • Uczenie się to wykorzystywanie doświadczeń z przeszłości w celu doskonalenia działania w bieŜącym stanie i rozwiązywania aktualnych problemów [Bolc [Bolc,, 1992]. • Uczeniem się systemu jest kaŜda autonomiczna zmiana w systemie zachodząca na podstawie doświadczeń, która prowadzi do poprawy jakości jego działania [Cichosz, 2000]. ©AM Automatyczne (maszynowe) uczenie się Kryteria podziału systemów uczących się: • forma reprezentacji wiedzy • sposób wykorzystywania wiedzy • źródło postać informacji trenującej • mechanizm nabywania i doskonalenia wiedzy ©AM 12 Automatyczne (maszynowe) uczenie się Podział systemów uczących się ze względu na formę reprezentacji wiedzy: wiedzy: • systemy subsymboliczne, • systemy symboliczne. Podział systemów uczących się ze względu na postać informacji trenującej: trenującej: • uczenie się bez nadzoru (ang. unsupervised learning), learning), • uczenie się z nadzorem (ang. supervised learning), learning), • uczenie się ze wzmocnieniem (ang. reinforcement learning) learning) ©AM Automatyczne (maszynowe) uczenie się Podział systemów uczących się ze względu na sposób wykorzystywania wiedzy: wiedzy: • klasyfikacja, • aproksymacja, • podejmowanie decyzji, • modelowanie środowiska. ©AM 13 Automatyczne (maszynowe) uczenie się Podział systemów uczących się ze względu na mechanizm nabywania wiedzy: wiedzy: • na podstawie instrukcji (ang. from instruction, instruction, by being told), told), • przez analogię (ang. by analogy), analogy), • przez indukcję (ang. inductive learning), learning), – na przykładach (ang. from examples), examples), – przez obserwację i odkrywanie (ang. from observation and discovery), discovery), • przez dedukcję (ang. by deduction), deduction), • przez wyjaśnianie (ang. explanationexplanation-based learning). learning). ©AM Planowanie działań i robotyka • Reprezentacja wiedzy – Logika predykatów – Lista operatorów (akcji) – Tablica trójkątna (ang. triangle table) table) – Makrooperatory • Metody wnioskowania – Strategia „least „least--commitment” commitment” – MeansMeans-Ends Analysis – Procedura regresji operatorów – Przeszukiwanie „wzdłuŜ” (ang. lengthlength-first search) search) • Pierwsze zastosowania – STRIPS (Fikes’71) – ABSTRIPS (Sacerdoti’74) – NONLIN (Nilsson’80) – NOAH (Sacerdoti’75(Sacerdoti’75-77) • Dziedziny współczesnych zastosowań – Systemy planowania podróŜy – Automatyczne linie produkcyjne – Sterowanie robotów – Szeregowanie procesów produkcji ©AM 14 Planowanie działań i robotyka c.d. Planowanie to jest techniką rozwiązywania problemów z dziedziny AI, polegającą na określeniu ciągu akcji (operacji) jakie naleŜy podjąć, aby przejść z zadanego stanu początkowego do stanu końcowego będącego celem. Zbiór operatorów {Oi} Stan początkowy Si System Planowania Działań Stan końcowy Sg Plan ©AM Planowanie działań i robotyka c.d. • Charakterystyka problemów planowania – Bardzo złoŜona reprezentacja stanu problemu – Niepewność i niepełność informacji – Przestrzeń przeszukiwań o znacznym rozmiarze – Występowanie konfliktów w trakcie przeszukiwania na skutek niejawnych interakcji pomiędzy operatorami/akcjami • Wykorzystywane metody – Dekompozycja problemu (częściowa lub całkowita) – Planowanie nieliniowe – Planowanie hierarchiczne – Strategia „least „least--commitment” commitment” ©AM 15 Przetwarzanie języka naturalnego • Reprezentacja wiedzy – Sieci semantyczne – Ramy, scenariusze, skojarzenia • Metody wnioskowania – Przeszukiwanie przekrojowe, ukierunkowane sieci • Pierwsze zastosowania – – – – ELIZA (Weizenbaum’66) - psycholog terapeuta PARRY (Colby’75) - model paranoika STUDENT (Bobrow’86) - znaczenie pojedynczych słów SHRDLU (Winogad’73) - rozmowy o świecie klocków • Dziedziny współczesnych zastosowań – Rozpoznawanie mowy (częściowe) i pisma oraz ich translacja – Robotyka – Sterowanie ©AM Przetwarzanie języka naturalnego Podstawowy problem: Zgromadzenie i zorganizowanie wiedzy kontekstowej (powszechnie dostępnej i potocznej!) w taki sposób, aby mogła zostać uŜyta do automatycznego rozumienia języka naturalnego. Poziomy przetwarzania języka naturalnego: • sygnałowy, • fonetyczny, • fonematyczny, • sylabiczny, • frazeologiczny, • syntaktyczny, • semantyczny, • pragmatyczny. ©AM 16 Rozpoznawanie obrazów • Reprezentacja wiedzy – Rastrowa, dyskretyzacja – Opis kształtu, wektorowa • Metody wnioskowania – Wygładzanie, generacja otoczki – Segmentacja, triangularyzacja • Pierwsze zastosowania – Kontrola jakości wyrobów w ESP (Robotiker (Robotiker,, Portugalia) – ZAPP - ocena tusz wieprzowych • Dziedziny współczesnych zastosowań – Robotyka, zautomatyzowana produkcja – Diagnostyka medyczna (obrazowa) – Nawigacja, kryminalistyka ©AM Podstawowe zagadnienia dotyczące budowy systemów sztucznej inteligencji Reprezentacja wiedzy jest to sposób przedstawienia całego zakresu wiedzy niezbędnej dla inteligentnego zachowania w formalnym języku, to znaczy takim, którym moŜe posługiwać się komputer. Przeszukiwanie jest techniką rozwiązywania problemów, polegającą na systematycznej eksploracji przestrzeni stanów (hipotez rozwiązania) problemu, to znaczy analizie wszystkich kolejnych i alternatywnych (równoległych) kroków pojawiających się w procesie rozwiązywania problemu. ©AM 17 Kognitywizm a konekcjonizm w sztucznej inteligencji Kognitywizm Opis i modelowanie procesów poznawczych jest moŜliwy na poziomie symbolicznym (paradygmat von Neumanna). Konekcjonizm Opis i modelowanie procesów poznawczych za pomocą duŜej liczby maksymalnie uproszczonych jednostek przetwarzających, połączonych w skomplikowane sieci i realizujących przetwarzanie subsymboliczne (przetwarzanie rozproszone i równoległe). ©AM Kognitywizm w sztucznej inteligencji Fizyczny system symboli to zbiór elementów zwanych symbolami, będących fizycznymi wzorcami, które mogą występować jako składniki elementów innego typu zwanych wyraŜeniami (lub strukturami symbolicznymi). Hipoteza Fizycznego Systemu Symboli Fizyczny system symboli ma niezbędne i wystarczające środki do wygenerowania inteligentnego działania (Newell (Newell,, Simon’76). ©AM 18 Literatura 1. Charniak, Charniak, D. McDermott, McDermott, Introduction to Artificial Intelligence, Intelligence, Addison Wesley, Wesley, 1985. 2. G.F. Lugger, Lugger, W.A. Stubblefield, Stubblefield, Artificial Intelligence and the Design of Expert Systems, Systems, The Benjamin/Cummings Benjamin/Cummings Publ. Publ. Comp. Comp. Inc., Inc., 1989. 3. E. Rich, Rich, Artificial Intelligence, Intelligence, McGraw Hill, Hill, 1983. 4. E. Rich, Rich, Knight, Knight, Artificial Intelligence, Intelligence, McGraw Hill, Hill, 1991. 5. S. J. Russell, P. Norvig, Norvig, Artificial Intelligence. Intelligence. A Modern Approach. Approach. Prentice Hall, Upper Saddle River, River, New Yersey, Yersey, 1994. ©AM 19