Sztuczna Inteligencja Szukanie, gry i ludzkie myślenie Włodzisław Duch Katedra Informatyki Stosowanej UMK Google: W.

Download Report

Transcript Sztuczna Inteligencja Szukanie, gry i ludzkie myślenie Włodzisław Duch Katedra Informatyki Stosowanej UMK Google: W.

Sztuczna Inteligencja
Szukanie, gry i ludzkie myślenie
Włodzisław Duch
Katedra Informatyki Stosowanej UMK
Google: W. Duch
Co będzie
• Gry planszowe.
• Szukanie i ludzkie myślenie.
• Paradoksy kognitywne.
• Reprezentacja wiedzy ...
Warcaby
•
1952, Samuel, pierwszy program uczący się gry w warcaby.
•
1992, Chinook (J. Schaeffer, UoA) wygrywa US. Open.
Program używa szukania a-b
•
Mistrzostwa człowiek-maszyna, Londyn 1992
Dr. Marion Tinsley, wygrał z Chinookiem 4-2, 33 remisy.
Użyto 8-proc. stacji Silicon Graphics 4D/480, 256 MB RAM,
baza danych wszystkich końcówek z 1-7 figurami +
prawie połowa wszystkich partii z 8 figurami.
•
•
1994, remis 1-1 i 18 remisów.
1995, wygrana Chinooka 1-0 i 31 remisów.
Użyto komputera SGI z 512 MB RAM.
•
2007, udowodniono, że najnowsza wersja Chinook nie może
przegrać partii, warcaby uznano za w pełni rozwiązane.
Trik-trak, Othello
•
Trik-trak (backgammon), popularny w Japonii.
Zawiera element niepewności (rzut kostką).
•
1980, program BKG wygrał raz z mistrzem świata.
•
1992, program Tesauro, techniki jak dla warcabów + uczenie się
(sieć neuronowa) lepszych ocen, ranking wśród 3 najlepszych
graczy.
•
1995, Logistello zwycięża mistrza świata Takeshi Murakami do 6
do 0!
Program grał parę tygodni sam z sobą poprawiając swoje funkcje
oceny heurystycznej.
Mistrzowskie rezultaty w wielu grach osiągnięto dopiero w latach 1990.
Moc obliczeniowa to warunek konieczny, ale nie wystarczający ...
Szachy – ogólnie
Statyczna ocena sytuacji na planszy: liczba figur, wartość figur,
położenie figur, możliwości ruchów.
Funkcja oceny: suma Wi Fi, dobierz wsp. Wi
Zależność liczba ruchów - siła programu.
Mistrz świata > 2800 punktów.
Przewidywania na:
5 pełnych ruchów (10 poziomów) - 1500 punktów.
Od 5-10 poziomów mamy 200 p/poziom.
Dla 10 ruchów ok. 2500 punktów.
Ok. 35 ruchów/poziom, heurystyki redukują to do 6/poz;
dla 1000 ocen/sek, 150 sek/ruch, b=35, ok. 3-4 ruchy - nowicjusz.
Zależność jakość-szybkość obliczeń.
Szachy - historia.
•
1958, pierwszy program szachowy, Alex Bernstein.
Szkocki międzynarodowy mistrz szachowy funduje nagrodę dla
programu, który ogra go chociaż raz na cztery partie.
W 1985 roku przegrał wszystkie cztery partie.
•
1985, HiTech wśród najlepszych 800 graczy,
oceniał ok. 10 mln pozycji, w 1988 roku wygrał z arcymistrzem.
•
•
•
•
Intel+IBM: szachy to dobra reklama.
1994 Chess Genius na PC Pentium, kilka razy zwyciężył Gary
Kasparova; czas grania ograniczono do 25 minut na zawodnika.
1996 – Deep Blue przegrał z Kasparowem 2:3
1997 – Deep Blue wygrał 3.5:2.5
2002 – program Deep Fritz na PC remisuje z Vladimirem Kramnikiem
Przez dwa miesiące Kramink trenował z programem Deep Fritz.
Deep Thought i Deep Blue
Deep Thought, od 1985 roku, 4 studentów z USA
(T. Hsu, T. Anantharaman, M. Campbell, A. Nowatzyk).
Program Deep Blue (nowsze Deep Thought) + hardware do gry w
szachy: 32 procesory IBM RS6000/SP2 + 256 ASIC.
Ocenia 200-1000 milionów pozycji/sek!
Duża biblioteka otwarć i końcówek.
Deep Thought – szukanie alfa-beta, ok. 10 ruchów w
skomplikowanych sytuacjach.
Deep Blue - ok. 14 ruchów, 3000 punktów, pobił Kasparova.
Reakcja prasy – potworna szybkość i pamięć zwyciężyły.
Mózg: 10.000 razy większa pamięć/szybkość więc to uwagi bez sensu!
Moc już nadchodzi i będzie z nami …
Ostatni mecz ...
Kasparov vs. X3D Deep Fritz junior.
Nowy Jork, listopad 2003.
Mecz zakończył się remisem;
główną atrakcją była gra w
wirtualnej rzeczywistości.
Komputer, na którym zainstalowany
był program Fritz był około 100 razy
wolniejszy niż Deep Blue i do tego zajęty generowaniem obrazu w 3
wymiarach, nic więc dziwnego, że mecz zakończył się remisem.
PC stoi w kącie ... następny taki mecz odbędzie się z programem
działającym na telefonie?
Najwięcej punktów Elo w historii miał Kasaprov, 2851, tylko 4 osoby w
historii miały ponad 2800 punktów.
Program Rybka oceniany jest (4/2011) na 3261 punktów a Houdini
3309 punktów.
Go: większe wyzwanie
Liczba ruchów w Go to średnio 260 (szachy tylko 35).
Liczba partii: 10260 (szachy 10123).
Liczba różnych pozycji na planszy: 10172 (szachy 1046).
Techniki szukania są mało przydatne: obecne programy są kiepskie
na standardowej planszy 19x19, ale na poziomie mistrzowskim na
planszach 9x9.
Pierwszy program w 1968 roku, najlepszy obecnie Go4++ napisał M.
Reiss, program jest znacznie lepszy od swojego twórcy.
Konieczne do dobrego grania w Go jest:
rozpoznawanie struktur (typ lokalnych konfiguracji),
reprezentacja relacji przestrzennych, uczenie maszynowe,
strategie i planowanie, metody reprezentacje wiedzy.
Nagroda 1 mln $ dla programu, który pokona mistrza z Taiwanu!
MoGo (Many Faces of Go, Ver. 12) na komputerze 15Tfl, Monte Carlo
Tree Search (MCTS), wygrał z mistrzem Myungwan Kim (8 Dan), przy
handicapie 9 kamieni. Więcej rezultatów komputerowego go.
Szukanie a ludzkie myślenie
Jak ludzie rozwiązują problemy wymagające myślenia? Intuicja?
Szachy: człowiek stosuje „zmodyfikowane progresywne pogłębianie”,
ograniczone poszukiwanie w głąb, ocena w oparciu o heurystyki z
doświadczenia.
Intuicja = ogromna pamięć, rozpoznawanie wzorców – inne
ograniczenia sprzętowe niż AI.
Liczba pamiętanych „prototypowych” wzorców ~ 50.000.
Mistrz szachowy po 5-sek. ekspozycji układa średnio 23 figury z 25 na
pokazanych pozycjach, nowicjusz 3 lub 4 figury.
Figury ułożone przypadkowo  taka sama liczba błędów.
Szybki test poziomu gry w szachy.
Badania psychologiczne.
Prezentacja 5 sekund, ruchy oczu mistrza i nowicjusza.
Prezentacja dłuższa, od nowicjusza do mistrza.
Największe różnice są w czasach reakcji i liczbie prawidłowo
zapamiętanych figur.
Szukanie a ludzkie myślenie.
Mechanizm „porcjowania” przy pamiętaniu złożonych struktur, mała
pamięć robocza wymaga ciągłego porcjowania.
Działa to trochę jak kompilacja przyrostowa.
Szachy: uczenie + pamięć, rozpoznawanie wzorców, ocena sytuacji
oparta na pamięci.
Uwaga skupiona jest (rozwijana jest gałąź grafu) na obszarach
słabszych, ocena wzrokowa wzorców struktur.
Ekspert lepiej rozpoznaje i lepiej pamięta, ale tylko istotne struktury,
znane z doświadczenia, a nie struktury przypadkowe.
Porcjowanie jest wykorzystywane w mnemotechnice.
Inteligencja jest ściśle związana z sytuacją, domeną wiedzy.
Złudzenia zmysłowe
Zmysły często nas zwodzą, np. na tych obrazkach.
Złudzenia kognitywne
Przeczytaj zdanie:
FINISHED FILES ARE THE RESULT OF YEARS OF SCIENTIFIC STUDY COMBINED WITH
THE EXPERIENCE OF YEARS.
Teraz policz ile jest liter F w tym zdaniu.
Policz je TYLKO RAZ, nie cofaj się i nie powtarzaj liczenia.
Paradoksy ludzkiego myślenia
Myślenie przebiega schematycznie, możliwe są złudzenia
poznawcze.
Przykład wnioskowania łatwy, trudniejszy i b. trudny (niemożliwy?)
Każdy człowiek jest ssakiem.
Sokrates jest człowiekiem.
Wniosek: Sokrates jest ssakiem.
Schemat: A => B, C=>A, więc C=>B
Żaden rolnik nie jest żeglarzem.
Wszyscy Rurytanie to rolnicy.
Wniosek: żaden Rurytanin nie jest żeglarzem.
Schemat: ~A => B, C=>A, więc ~C => B
Niemożliwy ?
Wszyscy członkowie gabinetu to złodzieje.
Żaden muzyk nie jest członkiem gabinetu.
Wniosek: ... muzycy ??? złodzieje
Takie sylogizmy rozważano już w starożytności. Jest
256 możliwości ale tylko 24 poprawne.
http://pl.wikipedia.org/wiki/Sylogizm
Pytanie: czemu jest tak trudno przeprowadzić proste
rozumowanie?
Test karciany (Wason 1960)
Na jednej stronie kart są cyfry, na drugiej litery.
Które karty należy obrócić, by sprawdzić prawdziwość reguły:
•
jeśli jest samogłoska to cyfra jest parzysta
A K 2
Ile minimalnie kart trzeba przewrócić?
7
Martwić się czy nie?
Załóżmy, że w Polsce 1 na 1000 osób ma wirusa HIV.
Nowy test polegający na badaniu śliny, o dokładności 99.5%,
wprowadzono do obowiązkowych badań okresowych.
Test wypadł pozytywnie.
Jakie jest prawdopodobieństwo, że osoba ma HIV?
Obiekty w przestrzeni cech
•
Opis matematyczny reprezentuje obiekty O przy pomocy
pomiarów, jakie na nich przeprowadzono, podając wartości cech
{Oi} => X(Oi), gdzie Xj(Oi) jest wartością j-tej cechy opisującej Oi
•
Atrybut i cecha są często traktowane jako synonimy, chociaż
ściśle ujmując “wiek” jest atrybutem a “młody” cechą, wartością.
•
Typy atrybutów:
kategoryczne: symboliczne, dyskretne – mogą mieć charakter
nominalny (nieuporządkowany), np. “słodki, kwaśny, gorzki”, albo
porządkowy, np. kolory w widmie światła,
albo: mały < średni < duży (drink).
x3
x(O)
ciągłe: wartości numeryczne, np. wiek.
Wektor cech X =(x1,x2,x3 ... xd),
o d-składowych wskazuje na punkt
w przestrzeni cech.
x2
x1
Przykład: ryby
Chapter 1.2, Pattern Classification (2nd ed)
by R. O. Duda, P. E. Hart and D. G. Stork, John Wiley & Sons, 2000
Automatyzacja sortowania dwóch gatunków ryb, łososia i suma
morskiego, które przesuwają się na pasie sortownika.
Czujniki oceniają różne cechy: długość, jasność, szerokość, liczbę płetw
Patrzymy na histogramy.
• Wybieramy liczbę przedziałów, np. n=20 (dyskretne dane)
• obliczamy szerokość przedziału
D=(xmax- xmin)/n,
• obliczamy N(C,ri) = #sztuk C  {łosoś, sum} w każdym przedziale
ri = [xmin+(i-1)D, xmin+iD], i=1...n
• prawdopodobieństwo łączne P(C,ri)=N(C,ri)/N, gdzie N = liczba ryb
Łączne prawdopodobieństwo P(C,ri) = P(ri|C)P(C)
Przykład histogramów
Rozkład liczby ryb w dwóch wymiarach w 20 przedziałach:l
długość i jasność. Zaznaczono optymalne progi podziału.
P(ri|C) przybliża rozkład prawdopodobieństwa dla klasy P(x|C). Możemy
go dokładnie obliczyć tylko w granicy nieskończenie wielu przykładów i
podziału na nieskończenie wiele przedziałów.
W praktyce zawsze dzielimy na niewielką liczbę przedziałów.
Rodzaje prawdopodobieństwa
Tablica współwystępowania klasa-cecha: P(C,ri)=N(C,ri)/N
 P  C1 , r1 

rzędy = klasy, kolumny = cechy ri
 P  C2 , r1 
P(C, ri) – prawdopodobieństwo
 P  C3 , r1 
łączne, P obserwacji obiektu z klasy 
P  C4 , r1 

C dla którego cecha xri
 P C , r 
5 1

N(C, ri) = macierz,
P  C1 , r2 
P  C2 , r2 
P  C3 , r2 
P  C4 , r2 
P  C5 , r2 
P  C1 , r3  

P  C2 , r3  
P C3 , r3  

P  C4 , r3  
P C5 , r3  
P(C) to prawd. a priori pojawienia się obiektów z danej klasy, przed
wykonaniem pomiarów i określeniem, że xri ma jakąś wartość.
To suma w danym rzędzie:
 P C, x  ri   P C 
i
P(xri) to prawd że znajdujemy jakąś obserwację dla które cecha xri
czyli suma dla danej kolumny.
 P C , x  r   P  x  r 
j
j
i
i
Prawdopodobieństwa warunkowe
Jeśli znana jest klasa C (rodzaj obiektu) to jakie jest
prawdopodobieństwo że ma on własność xri ?
P(xri|C) oznacza warunkowe prawdopodobieństwo, że znając C
cecha x będzie leżała w przedziale ri.
Suma po wszystkich wartościach cech:
i dla łącznego
prawdopodobieństwa
Dlatego mamy:
P x  r | C  1
i
i
 P  C, x  r   P  C 
i
i
P  x  ri | C   P C, x  ri  / P C 
PC(x)=P(x|C) rozkład prawd. warunkowego to po prostu przeskalowane
prawdopodobieństwo łączne, trzeba podzielić P(C,x)/P(C)
Formuły probabilistyczne
Relacje probabilistyczne wynikają z prostych reguł sumowania!
Macierz rozkładu łącznych prawdopodobieństw: P(C, x) dla
dyskretnych wartości obserwacji x, liczymy ile razy
zaobserwowano łącznie N(C,x), skalujemy tak by prawdop.
sumowało się do 1, czyli P(C, x) = N(C,x)/N
n
Rząd macierzy P(C, x) sumuje się do:
dlatego P(x|C)=P(C, x)/P(C)
sumuje się do
Kolumna macierzy P(C, x) sumuje się do:
dlatego P(C|x)=P(C, x)/P(x)
sumuje się do
P  C    P  C , xi  ;
i 1
n
Px
i 1
i
| C   1;
P  xi    P  C , xi  ;
C
 P C | x   1;
i
C
Twierdzenie Bayesa
Formuła Bayesa pozwala na obliczenie prawdopodobieństwa
a posteriori P(C|x) (czyli po dokonaniu obserwacji) znając łatwy do
zmierzenia rozkład warunkowy P(x|C).
Sumują się do 1 bo wiemy, że jeśli
obserwujemy xi to musi to być jedna z
C klas, jak też wiemy, że jeśli obiekt
jest z klasy C to x musi mieć jedną z
wartości xi
Obydwa prawdopodobieństwa są
wynikiem podzielenia P(C,xi).
Formułka Bayesa
jest więc oczywista.
 P  C   1;
C
Px  1
i
i
Px
i
i
| C    P  C | x   1;
C
P  xi | C   P  C , xi  / P  C 
P  C | xi   P  C , xi  / P  xi 
P C | xi  P  xi   P  xi | C  P C 
Kwiatki
Mamy dwa rodzaje Irysów:
Irys Setosa oraz Irys Virginica
Długość liści określamy w dwóch przedziałach, r1=[0,3] cm i r2=[3,6] cm.
Dla 100 kwiatów dostajemy następujące rozkłady (Setosa, Virginica):
 36 4 
N (C, r )  

8
52


N  C1   40, N  C2   60
N  r1   44, N  r2   56
Therefore probabilities for finding different types of Iris flowers is:
 0.36 0.04 
P(C, r )  

0.08
0.52


Stąd
P  C1   0.4; P  r1   0.44
P  C2   0.6; P  r2   0.56
 0.82 0.07 
 0.90 0.10 
P(C | r )  
; P( r | C )  


0.18
0.93
0.13
0.87




Martwić się czy nie?
Naiwnie: 1 na 1000 osób ma wirusa HIV, czyli
Test ma dokładność 99.5%, więc na 1000 osób wykaże 5 z HIV,
a ponieważ jest tylko 1 ma wirusa to dokładność ~20%.
Dokładniej: dwie klasy H+, H-, dwie obserwacje T+, TInteresuje nas P(HIV+|T+):
P(HIV+)=0.001 a P(HIV-)=0.999 oraz P(T+|HIV+)=0.995
P(HIV+|T+) P(T+) = P(HIV+,T+) = P(T+|HIV+) P(HIV+)
P(HIV+|T+) P(T+) = 0.995 * 0.001
P(T+)=P(T+|HIV+)+P(T+|HIV-)
P(HIV+|T+)=0.995,
Prawdopodobieństwo, że osoba ma HIV
Paradoks Monty Hall
Monty Hall Paradox, czyli przykład złudzenia kognitywnego.
Stosowany np. w teleturnieju „idź na całość”.
Reguły zabawy:
Mamy 3 kubki i złota monetę.
Wychodzisz z pokoju, ja pod jednym z kubków ukrywam monetę.
Wracasz i wybierasz jeden z kubków.
Ja, wiedząc, pod którym jest moneta, odkrywam jeden z pustych
kubków.
Masz teraz szansę zmienić swoją decyzję i pozostać przy już
wybranym kubku lub wybrać pozostały.
Czy najlepszą strategią jest:
1. zawsze trzymanie się pierwotnego wyboru,
2. zawsze zmiana,
3. czy przypadkowy wybór?
Zajrzyj tu by zagrać samemu.
Swobodny wybór
Eksperymenty psychologiczne:
Wybieramy cukierki różnych kolorów, wydaje się, że kolory R, G, B
wybierane są równie często, zakładamy równe preferencje.
Dajemy do wyboru R i G, wybierane jest np. R
Dajemy do wyboru G i B, wybierane jest zwykle B.
Wnioski psychologów: mamy tu dysonans poznawczy, wybieramy B
bo jak się raz decydujemy że nie chcemy G to później też nie
wybieramy G.
Czy naprawdę? Dopiero w 2008 roku zauważono, że:
Jeśli początkowo były słabe preferencje R > G to są 3 możliwości:
R>G>B, R>B>G, lub B>R>G, czyli 2/3 szans na wybór B zamiast G.
Być może wszystkie podobne psychologiczne eksperymenty
były źle przeanalizowane? Inverse base rates i inne?
Gry komputerowe
Inny rodzaj testu Turinga: czy walczę z człowiekiem czy z programem?
Botprize: sterowane są postaci z Unreal Tournament 2004.
http://botprize.org/
Po 5 latach od rozpoczęcia dwie drużyny w 2012 roku; dwie drużyny
(3 osoby z Univ. of Texas at Austin i Mihai Polceanu, rumunski
student z Brest, Francja) przekonały sędziów, że ich bot jest
człowiekiem.
Wnioski
Myślenie jest rzeczą trudną ...
prościej jest używać schematów.
Tylko w kontekście naturalnych sytuacji myślenie
przychodzi nam łatwo.
Przykładowe pytania
•
•
•
•
•
•
•
•
•
•
•
•
Jak działa Teoretyk Logiki?
Jakie były cele GPS? Czego nas nauczył GPS?
Jaka jest kolejność ocen węzłów grafu w strategii minimaksu?
Podać przykładowe funkcje oceny dla szachów.
Do czego służy technika alfa-beta?
Co umożliwia sprawne działanie w grach pomimo niewielkiej
pojemności pamięci roboczej?
Jaka jest pojemność pamięci roboczej człowieka i jakie inspiracje
dla AI z tego wynikają?
Jaką strategię stosują ludzie w grze w szachy?
Wszyscy A to B. Żaden C nie jest A. Jaki stąd wniosek?
Oszacuj jaka jest szansa choroby mając częstość jej występowania
i dokładność testu, który wypadł pozytywnie.
Oszacuj liczbę operacji wykonywanych przez mózg Kasparowa i
wytłumacz, dlaczego przegrał z systemem Deep Blue.
Narysować zależność stopnia kompetencji programu od szybkości
szukania i wielkości jego bazy wiedzy.