SID Wykład 4 Gry Wydział Matematyki, Informatyki i Mechaniki UW

Podobne dokumenty
Sztuczna Inteligencja i Systemy Doradcze

Gry. wykład 5. dr inż. Joanna Kołodziejczyk. Zakład Sztucznej Inteligencji ISZiMM. ESI - wykład 5 p. 1

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

Algorytmy dla gier dwuosobowych

Wykład 7 i 8. Przeszukiwanie z adwersarzem. w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach

Sztuczna Inteligencja i Systemy Doradcze

Wyznaczanie strategii w grach

Tworzenie gier na urządzenia mobilne

Podstawy sztucznej inteligencji

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

Teoria gier. Wykład7,31III2010,str.1. Gry dzielimy

Teoria gier. Teoria gier. Odróżniać losowość od wiedzy graczy o stanie!

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Algorytmy z powrotami. Algorytm minimax

TEORIA GIER DEFINICJA (VON NEUMANN, MORGENSTERN) GRA. jednostek (graczy) znajdujących się w sytuacji konfliktowej (konflikt interesów),w

Heurystyki. Strategie poszukiwań

Wstęp do Sztucznej Inteligencji

Partition Search i gry z niezupełną informacją

Sztuczna Inteligencja i Systemy Doradcze

Teoria gier. prof. UŚ dr hab. Mariusz Boryczka. Wykład 4 - Gry o sumie zero. Instytut Informatyki Uniwersytetu Śląskiego

MODELOWANIE RZECZYWISTOŚCI

Teoria gier. dr Przemysław Juszczuk. Wykład 2 - Gry o sumie zero. Instytut Informatyki Uniwersytetu Śląskiego

MODELOWANIE RZECZYWISTOŚCI

3. MINIMAX. Rysunek 1: Drzewo obrazujące przebieg gry.

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD III: Problemy agenta

Elementy Modelowania Matematycznego

Porządek symetryczny: right(x)

Kolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego.

Rachunek prawdopodobieństwa w grach losowych.

Metody przeszukiwania

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

Rachunek prawdopodobieństwa- wykład 2

ALGORYTMY I STRUKTURY DANYCH

Podstawy sztucznej inteligencji

Wykład2,24II2010,str.1 Przeszukiwanie przestrzeni stanów powtórka

Adam Meissner. SZTUCZNA INTELIGENCJA Gry dwuosobowe

Wykład 6. Wyszukiwanie wzorca w tekście

Teoria gier. wstęp Teoria gier Zdzisław Dzedzej 1

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

Drzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.

Ćwiczenia: Ukryte procesy Markowa lista 1 kierunek: matematyka, specjalność: analiza danych i modelowanie, studia II

Modelowanie motywów łańcuchami Markowa wyższego rzędu

TEORIA GIER W EKONOMII WYKŁAD 5: GRY DWUOSOBOWE KOOPERACYJNE O SUMIE NIESTAŁEJ

Rozwiązywanie problemów metodą przeszukiwania

Szachy - Samouczek. Maciek Nowak

Wysokość drzewa Głębokość węzła

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Alfa-beta Ulepszenie minimax Liczba wierzchołk ow w drzewie gry. maksymalnie wd. minimalnie wbd/2c + wdd/2e Algorytmy przeszukiwania drzewa gry 5


Przeszukiwanie przestrzeni rozwiązań, szukanie na ślepo, wszerz, wgłąb

CZYM JEST SZTUCZNA INTELIGENCJA? REPREZENTACJA WIEDZY SZTUCZNA INTELIGENCJA PROJEKTOWANIE ALGORYTMÓW I METODY SZTUCZNEJ INTELIGENCJI

Szachy INSTRUKCJA. rekwizyty: 1) Bierki - 32 szt. 2) plansza - 1 szt.

Wykład 2. Drzewa zbalansowane AVL i 2-3-4

TEORIA GIER W EKONOMII WYKŁAD 6: GRY DWUOSOBOWE KOOPERACYJNE O SUMIE DOWOLNEJ

SZACHY mini INSTRUKCJA. rekwizyty: 1) Bierki - 32 szt. 2) plansza - 1 szt.

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

prowadzący dr ADRIAN HORZYK /~horzyk tel.: Konsultacje paw. D-13/325

Drzewa decyzyjne i lasy losowe

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Propozycje tematów zadań

Liczby nadrzeczywiste i gry Hackenbusha

Algorytmy i struktury danych. wykład 5

Problemy Decyzyjne Markowa

10. Wstęp do Teorii Gier

Obliczenia inspirowane Naturą

W którym rozważamy problemy pojawiające się, gdy próbujemy planować z góry w świecie zawierającym wrogiego agenta.

Skowrońska-Szmer. Instytut Organizacji i Zarządzania Politechniki Wrocławskiej Zakład Zarządzania Jakością r.

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

PODEJMOWANIE DECYZJI W WARUNKACH NIEPEŁNEJ INFORMACJI

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

TEORIA GIER W EKONOMII WYKŁAD 2: GRY DWUOSOBOWE O SUMIE ZEROWEJ. dr Robert Kowalczyk Katedra Analizy Nieliniowej Wydział Matematyki i Informatyki UŁ

Struktura danych. Sposób uporządkowania informacji w komputerze.

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

SZTUCZNA INTELIGENCJA

Podstawy Sztucznej Inteligencji (PSZT)

Hyper-resolution. Śmieciarki w Manncheim

ATOLL. Wykonali: Aleksandra Kuchta, Łukasz Wójcik, Sztuczna Inteligencja, Semestr trzeci, Kierunek Informatyka, Wydział Informatyki i Zarządzania,

Teoria gier. Jakub Cisło. Programowanie z pasją maja 2019

Kognitywne podejście do gry w szachy kontynuacja prac

Programowanie dynamiczne

Co to są drzewa decyzji

Szachy, backgammon (tryktrak) i warcaby

Załącznik nr 1 do Regulaminu turnieju Tysiąca Studnia 2018

ZASTOSOWANIE ALGORYTMU GENETYCZNEGO DO KONSTRUKCJI

TEORIA GIER W EKONOMII. dr Robert Kowalczyk Katedra Analizy Nieliniowej Wydział Matematyki i Informatyki UŁ

Sztuczna inteligencja w programowaniu gier

Informatyka Systemów Autonomicznych

Internetowe Ko³o M a t e m a t yc z n e

Uczenie ze wzmocnieniem

Metody klasyfikacji danych - część 1 p.1/24

TEORIA GIER W EKONOMII. dr Robert Kowalczyk Katedra Analizy Nieliniowej Wydział Matematyki i Informatyki UŁ

Heurystyczne metody przeszukiwania

SPOTKANIE 11: Reinforcement learning

Algorytmy i Struktury Danych.

Drzewa podstawowe poj

Metody Kompilacji Wykład 7 Analiza Syntaktyczna

Narzędzia AI. Jakub Wróblewski Pokój SZTUCZNA INTELIGENCJA (ARTIFICIAL INTELLIGENCE)

Podstawowe zasady gry w szachy. Ustawienie bierek na szachownicy w pozycji wyjściowej.

Metody Rozmyte i Algorytmy Ewolucyjne

Transkrypt:

SID Wykład 4 Gry Wydział Matematyki, Informatyki i Mechaniki UW slezak@mimuw.edu.pl

Gry a problemy przeszukiwania Nieprzewidywalny przeciwnik rozwiazanie jest strategia specyfikujac a posunięcie dla każdej możliwej odpowiedzi przeciwnika Ograniczenia czasowe mało prawdopodobne znalezienie celu, trzeba aproksymować Historia: Maszyna rozważa różne scenariusze rozgrywki (Babbage, 1846) Algorytmy dla gier z pełna informacja (Zermelo, 1912; Von Neumann, 1944) Backward-induction algorithm (von Neumann, Morgenstern, 1944) Skończony horyzont, aproksymacyjna ocena stanu gry (Zuse, 1945; Wiener, 1948; Shannon, 1950) Program grajacy w szachy (Turing, 1951) Zastosowanie uczenia maszynowego do poprawy trafności oceny stanu gry (Samuel, 1952 57) Odcięcia umożliwiajace głębsze przeszukiwanie (McCarthy, 1956)

Rodzaje gier Pełna informacja Niepełna informacja deterministyczne szachy, warcaby, go niedeterministyczne backgammon, monopoly bridge, poker, scrabble

Gra deterministyczna: 2 graczy Gracze: MAX i MIN Stan poczatkowy: stan planszy i wskazanie gracza rozpoczynajacego (MAX) Funkcja następnika: zbiór par (posunięcie, stan) opisujacych wszystkie dopuszczalne posunięcia z bieżacego stanu Test końca gry: sprawdza, czy stan gry jest końcowy Funkcja użyteczności (wypłaty): numeryczna wartość dla stanów końcowych, np. wypłaty dla wygranej, porażki i remisu moga być równe odpowiednio +1, -1 i 0.

Drzewo gry deterministycznej: 2 graczy MAX (X) MIN (O) X X X X X X X X X MAX (X) X O X O X O... MIN (O) X O X X O X X O X............... TERMINAL Utility X O X X O X X O X O X O O X X O X X O X O O 1 0 +1...

Strategia minimax: algorytm Dla gier deterministycznych z pełna informacja. Pomysł: wybiera ruch zapewniajacy największa wypłatę tzn. największa wartość minimax (funkcja MINIMAX-VALUE) przy założeniu, że przeciwnik gra optymalnie. function MINIMAX-DECISION(state) returns an action action,state the a,s in SUCCESSORS(state) such that MINIMAX-VALUE(s) is maximized return action end function function MINIMAX-VALUE(state) returns a utility value if TERMINAL-TEST(state) then return UTILITY(state) else if MAX is to move in state then return the highest MINIMAX-VALUE of SUCCESSORS(state) else return the lowest MINIMAX-VALUE of SUCCESSORS(state) end if end function

Strategia minimax: przykład Gracz MAX maksymalizuje funkcję wypłaty (węzły ruch w lewa gałaź drzewa Gracz MIN minimalizuje funkcję wypłaty (węzły do lewego liścia poddrzewa ) wybiera ) wybiera ruch 3 MAX A 1 A 3 A 2 2 MIN 3 2 A 11 A 12 A 13 A 21 A 22 A 23 A 31 A 32 A 33 MAX 3 12 8 2 4 6 14 5 2

Strategia minimax: własności Użyteczność: Gry deterministyczne z pełna informacja z dowolna liczba graczy Pełność: Tak, jeśli drzewo przeszukiwań jest skończone Gry z nieskończonym drzewem przeszukiwań moga mieć strategie skończone! Optymalność: Tak, jeśli przeciwnik gra optymalnie. W ogólności nieoptymalne. Złożoność czasowa: O(b m ), gdzie b - maksymalne rozgałęzienie drzewa przeszukiwań m - maksymalna głębokość drzewa przeszukiwań Złożoność pamięciowa: O(bm) (przeszukiwanie wgłab) Dla szachów, b 35, m 100 dla sensownych rozgrywek dokładne rozwiazanie zupełnie nieosiagalne.

Strategia minimax z odcięciem Problem: brak czasu na pełne przeszukanie przestrzeni stanów, np. 100 sekund na posunięcie, szybkość 10 4 węzłów/sek 10 6 węzłów na ruch Rozwiazanie: przeszukiwanie z odcięciem ograniczajacym głębokość przeszukiwania

Strategia minimax z odcięciem: algorytm function MINIMAX-DECISION(state) returns an action action,state the a,s in SUCCESSORS(state) such that MINIMAX-VALUE(s) is maximized return action end function function MINIMAX-VALUE(state) returns a utility value if TERMINAL-TEST(state) then return UTILITY(state) else if MAX is to move in state then return the highest MINIMAX-VALUE of SUCCESSORS(state) else return the lowest MINIMAX-VALUE of SUCCESSORS(state) end if end function Funkcja oceny UTILITY szacuje wypłatę dla danego stanu gry = rzeczywistej wypłacie dla stanów końcowych

Funkcja oceny: przykład Dla szachów, przeważnie liniowa ważona suma cech UTILITY (s) = w 1 f 1 (s)+w 2 f 2 (s)+...+w n f n (s) Black to move White slightly better np. White to move Black winning f 1 (s) =(liczba białych hetmanów) (liczba czarnych hetmanów) f 2 (s) =(najmniejsza odległość od linii przemiany dla pionów czarnych) (najmniejsza odległość od linii przemiany dla pionów białych) f 3 (s) =(1 jeśli była wykonana lub nadal jest możliwa roszada białych, w przeciwnym przypadku 0) (1 jeśli była wykonana lub nadal jest możliwa roszada czarnych, w przeciwnym przypadku 0))

Przeszukiwanie stabilne Problem: Stany maja taka sama wartość oceny (na korzyść czarnych), ale stan z prawej jest niestabilny kolejny ruch daje duża zmianę oceny stanu gry (na korzyść białych) (a) White to move (b) White to move Rozwiazanie: przeszukiwanie stabilne stany niestabilne sa rozwijane do momentu osiagnięcia stanu stabilnego

Przeszukiwanie z pojedynczym rozwinięciem Efekt horyzontu: gracz wykonuje ruchy odsuwajac nieuniknione posunięcie na korzyść przeciwnika poza horyzont przeszukiwania, np. czarna wieża powtarza szachowanie białego króla Black to move Rozwiazanie: przeszukiwanie z pojedynczym rozwinięciem algorytm wykonuje pogłębione przeszukiwanie dla wybranych posunięć wyraźnie lepszych od pozostałych

Strategia minimax z odcięciem α β α jest najlepsza wartościa dla MAX poza bieżac a ścieżka przeszukiwania MAX Jeśli V jest gorsze niż α, MAX nigdy nie wejdzie do tej gałęzi gałaź z V można odciać. β jest definiowane analogicznie dla MIN MIN...... MAX MIN V

Strategia minimax z odcięciem α β : algorytm function ALPHA-BETA-SEARCH(state) returns an action v MAX-VALUE(state,, + ) return the action in SUCCESSORS(state) with value v end function function MAX-VALUE(state, α, β ) returns a utility value if TERMINAL-TEST(state) then return UTILITY(state) end if for each s in SUCCESSORS(state) do α max(α,min-value(s,α,β)) if α β then return β end if end for end function function MIN-VALUE(state, α, β ) returns a utility value if TERMINAL-TEST(state) then return UTILITY(state) end if for each s in SUCCESSORS(state) do β min(β,max-value(s,α,β)) if β α then return α end if end for end function

Strategia minimax z odcięciem α β : przykład MAX 3 MIN 3 MAX 3 12 8

Strategia minimax z odcięciem α β : przykład MAX 3 MIN 3 2 MAX 3 12 8 2 X X

Strategia minimax z odcięciem α β : przykład MAX 3 MIN 3 2 14 MAX 3 12 8 2 X X 14

Strategia minimax z odcięciem α β : przykład MAX 3 MIN 3 2 14 5 MAX 3 12 8 2 X X 14 5

Strategia minimax z odcięciem α β : przykład MAX 3 3 MIN 3 2 14 5 2 MAX 3 12 8 2 X X 14 5 2

Gry deterministyczne: osiagnięcia Warcaby: Chinook zakończył 40-letnie panowanie mistrza świata Mariona Tinsley w 1994. Użył biblioteki wszystkich zakończeń dla 8 lub mniej pionków na planszy, w sumie 443.748.401.247 pozycji. Chinook - warcaby zostały rozwiazane (Schaeffer et al, 2007). Szachy: Deep Blue pokonał mistrza świata Gary Kasparowa w meczu z 6-ioma partiami w 1997. Deep Blue przeszukiwał 200 milionów pozycji na sekundę, używajac bardzo wyszukanej funkcji oceny i nieznanych metod rozszerzajacych niektóre ścieżki przeszukiwania do głębokości 40. Go: mistrz świata odmówił rozgrywki z komputerami, które sa zbyt słabe. W go, b > 300, więc większość programów używa bazy wiedzy z wzorcami do wyboru dopuszczalnych ruchów.

Gry niedeterministyczne Źródło niedeterminizmu: rzut kostka, tasowanie kart Przykład z rzucaniem moneta: MAX CHANCE 3-1 MIN 2 4 0-2 2 4 7 4 6 0 5-2

Gry niedeterministyczne: backgammon 0 1 2 3 4 5 6 7 8 9 10 11 12 25 24 23 22 21 20 19 18 17 16 15 14 13

Strategia uśrednionego minimax Uogólnienie strategii minimax dla gier niedeterministycznych function EXPECTIMINIMAX-DECISION(state) returns an action action,state the a,s in SUCCESSORS(state) such that EXPECTIMINIMAX-VALUE(s) is maximized return action end function function EXPECTIMINIMAX-VALUE(state) returns a utility value if TERMINAL-TEST(state) then return UTILITY(state) else if state is a MAX node then return the highest EXPECTIMINIMAX-VALUE of SUCCESSORS(state) else if state is a MIN node then return the lowest EXPECTIMINIMAX-VALUE of SUCCESSORS(state) else if state is a chance node then return average of EXPECTIMINIMAX-VALUE of SUCCESSORS(state) end if end function

Strategia uśrednionego minimax z odcięciem α-β [, + ] [, + ] [, + ] [, + ] [, + ] [, + ]

Strategia uśrednionego minimax z odcięciem α-β [, + ] [, 2] [, + ] [, + ] [, + ] [, + ] 2

Strategia uśrednionego minimax z odcięciem α-β [2,2] [, + ] [, + ] [, + ] [, + ] [, + ] 2 2

Strategia uśrednionego minimax z odcięciem α-β [2,2] [, 2] [, 2] [, + ] [, + ] [, + ] 2 2 2

Strategia uśrednionego minimax z odcięciem α-β [2,2] [1.5, 1.5] [1,1] [, + ] [, + ] [, + ] 2 2 2 1

Strategia uśrednionego minimax z odcięciem α-β [2,2] [1.5, 1.5] [1,1] [, + ] [, 0] [, + ] 2 2 2 1 0

Strategia uśrednionego minimax z odcięciem α-β [1.5, 1.5] [, + ] [2,2] [1,1] [0,0] [, + ] 2 2 2 1 0 1

Strategia uśrednionego minimax z odcięciem α-β [1.5, 1.5] [, ] [2,2] [1,1] [0,0] [, 1] 2 2 2 1 0 1 1

Strategia uśrednionego minimax z odcięciem α-β Bardziej efektywna, jeśli wartości wypłaty sa ograniczone. [ 2, 2] [ 2, 2] [ 2, 2] [ 2, 2] [ 2, 2] [ 2, 2]

Gry z niepełna informacja Np. gry karciane, w których poczatkowy zestaw kart przeciwnika jest nieznany. Można policzyć prawdopodobieństwo każdego rozdania wyglada jak jeden duży rzut kostka na poczatku gry. Pomysł: algorytm oblicza wartość minimax dla każdej akcji w każdym możliwym rozdaniu i wybiera akcje z największa wartościa uśredniona po wszystkich rozdaniach. GIB, najlepszy program do brydża, przybliża tę ideę: generuje 100 rozdań zgodnych z informacja z licytacji wybiera akcję, która zbiera średnio najwięcej lew

Wyzwania w modelowaniu gier właściwy dobór strategii, ocena strategii adaptacja do informacji zyskiwanych podczas gry gry zespołowe gry z wieloma graczami modelowanie stylu gry przeciwników - mecze złożone z wielu partii/gier z tym samym przeciwnikiem, np. poker

Dziękuję za uwagę!