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

©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 działania, tzn. działa tak, aby osiągnąć cel, przy aktualnie 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 przetwarzanie 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 - zalety • 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 - wady • 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 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 zachowanie/działanie to takie zachowanie, które prowadzi do osiągnięcia celu przy aktualnie przyjętych założeniach. założeniach. Racjonalne działanie to coś więcej niż racjonalne myślenie/wnioskowanie: • logiczne wnioskowanie - warunek dostateczny (ale nie konieczny!) racjonalnego zachowania • 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!) ©AM

8

Działać racjonalnie: racjonalny system Wszystkie (sześć) zdolności potrzebnych do testu 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 • Metody wnioskowania – Algorytmy przeszukiwania przestrzeni stanów – Przeszukiwanie baz danych (np. dla końcówek szachowych) – Systemy uczące 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 – Go – Układanka 1616-pozycyjna – Kółko i krzyżyk

©AM

Automatyczne wnioskowanie i dowodzenie twierdzeń

©AM

• Reprezentacja wiedzy – Rachunek zdań – Rachunek predykatów • Metody wnioskowania – Reguła odrywania (modus ponens) – Unifikacja (uzgadnianie) – Rezolucja (strategie rezolucyjne) rezolucyjne) • Pierwsze zastosowania – Logic Theorist (Newell&Simon’63) Newell&Simon’63) – GPS - General Problem Solver (Newell&Simon’66) 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

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 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 [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 (intersection (intersection search) search)

• 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 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 – Segmentacja

• 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). 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/ 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, Russell, P. Norvig, Norvig, Artificial Intelligence. Intelligence. A Modern Approach. Approach. Prentice Hall, Hall, Upper Saddle River, River, New Yersey, Yersey, 1994. ©AM

19