Warcaby Samuela
description
Transcript of Warcaby Samuela
WARCABY SAMUELA
Andrzej Fałkowski
SYSTEMY UCZĄCE SIĘ
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 the world 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 for evaluating board positions without regard to the usual checker 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 Learning Using 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
Dziękuję za uwagę