280 likes | 428 Views
Warcaby Samuela. Systemy uczące się. Andrzej Fałkowski. Arthur Lee Samuel (1901–1990). pionier nauczania maszynowego twórca pierwszego samouczącego się programu MIT, IBM, Stanford. Warcaby Samuela - założenia. początek lat 50.
E N D
Warcaby Samuela Systemy uczące się Andrzej Fałkowski
Arthur Lee Samuel (1901–1990) • pionier nauczania maszynowego • twórca pierwszego samouczącego się programu • MIT, IBM, Stanford
Warcaby Samuela - założenia • początek lat 50. • stworzenie programu komputerowego realizującego proces uczenia przypominający ten wystepujący w naturze • “Write a program to play checkers [...] challenge theworld champion and beat him.”
Warcaby angielskie (ang. checkers) • dwóch graczy wykonujących ruchy naprzemiennie • plansza 8x8 pól • dwa typy figur – pionki i króle
Warcaby angielskie - cechy • brak algorytmu gwarantującego wygraną lub remis (przynajmniej w 1959) • ok. 5 × 1020 możliwych pozycji • ok. 1040 możliwych przebiegów gry • zdefiniowany cel gry – zbicie wszystkich figur przeciwnika • stan gry jawny dla wszystkich graczy • brak czynnika losowego • istniejący prosty program – Strachey, 1952
The Basic Checker-Playing Program • reprezentacja stanu gry – pozycje pionów na planszy jako odpowiednie wartości w ciągu odpowiadającym liście wszystkich pól • konieczność podjęcia decyzji odnośnie wykonania następnego ruchu
The Basic Checker-Playing Program • looking-ahead – rozważenie wszystkich możliwych ruchów wychodzących z aktualnego stanu gry i uzyskanie nowych możliwych stanów gry.
The Basic Checker-Playing Program • looking-ahead – zbyt duży rozrost drzewa, by móc rozważyć wszystkie możliwe kombinacje aż do zakończenia gry • konieczność ograniczenia poziomów drzewa • idea oceny stanów gry – liści, i wyznaczenie pożądanej sekwencji ruchów
Ocena stanu gry • S(s,w) = w1 * x1(s) + w2 * x2(s) + … + wn * xn(s) • xi – heurystyki Samuela • wi – wagi funkcji oceniającej • uczenie polega na doborze wag
Ocena stanu gry • Sztywna – ustalana przez programistę – przykład: • Wartość piona należacego do gracza: 1 pkt • x2 jeśli jest królem • x0.4 jeśli pion zagrożony przez pion przecwinika • x0.8 jeśli pion na linii bocznej • x1.3 jeśli pion zagraża pionowi przeciwnika • x1.2 jeśli pion jest broniony • +0.05 za każdą linię odległości od naszej linii końcowej • piony przeciwnika liczone ujemnie • Czas oceny – liniowy
Ocena stanu gry • Doświadczenie pokazuje, że dobranie odpowiednich parametrów funkcji ewaluującej jest czasochłonne i podatne na błędy. • „A number of schemes of an abstract sort were tried forevaluating board positions without regard to the usualchecker concepts, but none of these was successfuI.” • idea dobrania parametrów korzystając z narzędzi dostarczonych przez sztuczną inteligencję
Ocena stanu gry • dynamiczna – wagi poszczególnych parametrów funkcji ewaluującej stan gry dobierane na podstawie uczenia • arbitralne dobranie poczatkowych wartości parametrów • proces uczący – wielokrotne gry z klonami jak i zewnętrznymi przeciwnikami
Temporal-difference learning • nauka na błędach – wsteczna rewaluacja pozycji na podstawie następującego stanu gry (dobrze oceniany ruch w dalszej perpektywie mógł okazać się katastrofalny) • cel – zmniejszenie różnicy ocen między kolejnymi ruchami gracza (błąd funkcji oceniającej) • problem – dobór odległości wpływania ocen dwóch stanów – czy faktycznie dany ruch był gorszy niż wynikałoby z funkcji oceny, czy może błąd został popełniony w innym miejscu?
Temporal-difference learning • Metoda Samuela • α << 1
Temporal-difference learning • Metoda Widrowa-Hoffa • = <0,1>
Rote-learning • zapamiętywanie pozycji na planszy wraz z obliczoną wartością oceny • brak potrzeby ponownej rewaluacji – zyskana moc obliczeniowa może posłużyć do pogłębienia pozostałych poddrzew
Uczenie ze wzmocnieniem • gra między kopią dynamiczną i statyczną • zmiana parametrów funkcji w sposób zbliżający wartość oceny danej pozycji, do wartości pozycji osiągniętej kilka ruchów później • gra klonów z różnymi parametrami – zwyciężca przekazuje swoje parametry do kolejnych rozgrywek
Wybór najlepszego ruchu • trudno oczekiwać, by przeciwnik pozwolił nam osiągnąć najlepszą możliwą sytuację z dostępnych (prawdopodobnie będzie dążył do jak najgorszej dla nas) • minimax na drzewie możliwych stanów gry • wybieramy ruch gwarantujący od końca uzyskanie największego minimum
Dodatkowe techniki usprawniające • księga otwarć • alpha-beta pruning
Księga otwarć • początkowy stan gry wynika z jej zasad i jest gwarantowany • węższy zbiór możliwych ruchów na poczatku partii • niektóre sekwencje otwarć mogą być ocenione jako „lepsze” na podstawie wiedzy opartej o obserwację historycznych przebiegów gry • np. szachy - otwarcie e4 e5
Księga otwarć • roszerzona księga otwarć (np. Deep Blue – 700 000 partii arcymistrzowskich) – ocena uwzględniająca stosunek gier wygranych i przegranych z danej pozycji, częstość ruchu, klasę graczy i szereg innych czynników • konieczność przechowywania i przeszukiwania ogromnego zbioru danych • problem pozyskania • analogicznie: księga zamknięć dla końcowej fazy rozgrywki
Alpha-beta pruning • Możliwość pominięcia węzła o bardzo niskiej ocenie
Rezultaty • 1962 – Robert Nealy przegrywa z programem; kontrowersje • spadek zainteresowania problemem – warcaby zostają niesłusznie uznane za „rozwiązane” • 1963 – rewanż – program nie wygrywa z Nealym żadnej gry, podobnie w 1965 przeciwko Hellmanowi i Oldbury’emu – 8 przegranych • program Samuela rozwijany do 1967 roku bez spektakularnych sukcesów • wiele opracowanych technik używa się w sztucznej inteligencji do dziś
Chinook • kolejny program grający w warcaby, oparty o techniki sztucznej inteligencji • 1987, Uniwersytet Alberty, zespół pod przewodnictwem Jonathana Schaeffera • cechy: algorytm przeszukiwania drzewa, własna funkcja ewaluacji (wagi dobrane przez programistów, nie sztuczną inteligencję), księga otwarć i zamknięć
Chinook • 1992 – mistrz świata Marion Tinsley vs. Chinook – 4/2/33 • 1994 – Chinook zdobywa tytuł Man-Machine World Champion • 2007, lipiec, Science – Checkers is Solved - warcaby zostają uznane za rozwiązane „słabo” • „Artificial intelligence technology has been used to generate strong heuristic-based game-playing programs, such as Deep Blue for chess. Solving a game takes this to the next level by replacing the heuristics with perfection.”
Bibliografia • Furnkranz, J.; Machine Learning in Games: A Survey • Samuel, A. L.; Some Studies in Machine LearningUsing the Game of Checkers, IBM Journal 3 (3): 210–229, 1959 • Sardag, A.; Learning to Predict by the Methods of TD, www.cmpe.boun.edu.tr/~akin/robsem/alp/webindex/ppt/Learning_to_Predict_by_the_Methods_of_TD.ppt • Schaeffer, J.;Lake, R.; Solving the Game of Checkers - Games of No Chance, MSRI Publications, Volume 29, 1996 • Osman, D.; Zastosowanie metody Samuela doboru współczynników funkcji oceniającej w programie grającym w anty-warcaby, www.mini.pw.edu.pl/~mandziuk/15-10-03.pdf