Problem wstepnego sortowania ruch - PowerPoint PPT Presentation

About This Presentation
Title:

Problem wstepnego sortowania ruch

Description:

Title: PowerPoint Presentation Last modified by: Magdalena Kusiak Created Date: 1/1/1601 12:00:00 AM Document presentation format: Pokaz na ekranie – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 29
Provided by: edup132
Category:

less

Transcript and Presenter's Notes

Title: Problem wstepnego sortowania ruch


1
Problem wstepnego sortowania ruchów w programie
grajacym w gre dwuosobowa
  • Magda Kusiak
  • Karol Waledzik
  • prof. dr hab. Jacek Mandziuk

2
Plan prezentacji
  • Go 9x9
  • Zastosowanie sieci neuronowych
  • Nauka sieci neuronowych
  • Struktury danych
  • Modyfikacje algorytmu alfa-beta

3
Zasady
  • Plansza 9x9
  • Ko
  • Zakaz jedynie cykli o dlugosci 2 (uzupelniony
    limitem ruchów w partii)
  • Zakaz samobójstw
  • Punktacja terytorium wlasne kamienie

4
Konsekwencje
  • Rzad drzewa gry
  • 81 w pierwszym ruchu
  • malejacy w kolejnych
  • Glebokosc drzewa
  • kilkadziesiat ruchów
  • Wniosek
  • Jest nadzieja, ze algorytm alfa-beta z dobrym
    sortowaniem ruchów okaze sie wystarczajacy

5
Nasz wersja AI
  • Dla kazdego rozpatrywanego wezla
  • Przyporzadkowujemy kazdemu ruchowi wartosc
    okreslajaca jego jakosc
  • Algorytm alfa-beta rozpatruje kilkanascie ruchów,
    zaczynajac od najlepszych
  • W lisciach drzewa przeszukiwan uruchamiamy
    heurystyke przewidujaca koncowy podzial planszy

6
Sieci neuronowe
  • Pierwsza siec kazdemu ruchowi mozliwemu w danej
    sytuacji przyporzadkowuje wartosc okreslajaca,
    jak korzystny jest ten ruch
  • Druga siec ocenia pozycje, próbujac przewidziec,
    jaki bedzie podzial planszy po zakonczeniu gry

7
Konstrukcja sieci neuronowych
8
Konstrukcja sieci wariacja podstawowa
  1. 162 neurony wejsciowe po 2 na kazde pole
  2. 9 x 5 neuronów, kazda piatka zbiera informacje z
    jednego regionu planszy 10 neuronów
    zbierajacych kontekst globalny
  3. 9 x 5 neuronów, kazda piatka polaczona z
    odpowiednia piatka z poprzedniej warstwy i 10
    neuronami globalnymi 15 neuronów polaczonych z
    cala poprzednia warstwa
  4. 81 neuronów wyjsciowych

9
Wejscie i wyjscie sieci
  • Wejsciem obu sieci jest pozycja na planszy (dwa
    neurony na kazde pole)
  • Pierwsza siec zwraca dla wszystkich pól wartosci
    z przedzialu 0,1 okreslajace zasadnosc
    wykonania ruchu na danym polu
  • Druga siec zwraca wartosci z przedzialu -1,1
    oznaczajace kolor gracza, do którego dane pole
    bedzie nalezalo po zakonczeniu gry

10
Nauka sieci
  • Algorytm back-propagation
  • Nauka nasladownictwa programu grajacego w Go (np.
    GNUGo) lub gier profesjonalistów
  • Wiele schematów nauki do przetestowania

11
Nauka sieci c.d.
  • Nauka na podstawie gier profesjonalnych pomysl
    najprostszy
  • Wektory wzorcowe skladajace sie z samych zer i
    jednej jedynki w miejscu ruchu profesjonalisty
  • Problem moze istniec kilka dobrych ruchów o
    bardzo podobnej jakosci. Profesjonalista wybral
    tylko jeden z nich reszta zostanie potraktowana
    na równi z ruchami ewidentnie zlymi

12
Nauka sieci c.d.
  • Jeden z pomyslów rozwiazania
  • Wstepna nauka na bazie programu podajacego w
    danej sytuacji ocene wszystkich mozliwych ruchów
  • Program GNU Go
  • Pozycje wykorzystywane do nauki generowane
    poprzez rozegranie fragmentu gry przez GNU Go z
    losowymi ustawieniami jakosci gry
  • GNU Go wykorzystywane takze do predykcji podzialu
    planszy po zakonczeniu gry

13
Nauka sieci c.d.
  • Douczanie z wykorzystaniem gier profesjonalistów
  • Wektor wzorcowy zalezny od odpowiedzi sieci
  • Jesli siec dobrze wskaze najlepszy ruch, jako
    wektor wzorcowy podajemy wynik jej dzialania, ew.
    odsuwajac najlepszy ruch od pozostalych - w ten
    sposób akcentujemy najlepsze rozwiazanie, ale nie
    tracimy pozostalych
  • W p.p. rozsuniecie musi byc silniejsze
    wartosc ruchu profesjonalisty przemnazana jest
    przez wspólczynnik gt1 proporcjonalny do jej
    odleglosci od najwyzej ocenionego ruchu,
    pozostale wartosci sa mnozone przez wspólczynnik
    lt1

14
Heurystyka
  • Siec przewidujaca podzial planszy moze byc albo
  • douczana na podstawie gier profesjonalnych
  • albo
  • uzupelniana funkcja wplywu / algorytmem Bouzyego

15
Algorytm Bouzyego
  • 2 rodzaje operacji dilation i erosion
  • Do wyznaczania terytorium stosuje sie zwykle
    wersje algorytmu 5/21
  • 5 operacji dilation
  • 21 operacji erosion

16
Algorytm Bouzyego c.d.
  • Przypisz wysoka wartosc na pozycjach z kamieniami
    czarnymi i jej odwrotnosc z bialymi oraz 0
    polom pustym
  • Wykonaj n operacji dilation
  • Do kazdego pola o wartosci gt0 (lt0), nie
    sasiadujacego z polem lt0 (gt0) dodaj (odejmij)
    liczbe sasiadów gt0 (lt0)

17
Algorytm Bouzyego c.d.
  • Wykonaj m operacji erosion
  • Od kazdego pola o wartosci gt0 (lt0), odejmij
    (dodaj) liczbe sasiadów lt0
  • Liczba operacji powinna wynosic n/(1n(n-1)), by
    pojedynczy kamien nie generowal terytorium i stad
    wybór 5/21 (4/13 nie zawsze jest wystarczajace)

18
Algorytm Bouzyego - przyklad
128 0 128
Po 2 operacjach dilation
1 1 2 2 3 2 2 1 2 132 4 132 2 1
2 2 3 2 2 1 1
19
Algorytm Bouzyego - przyklad
128 0 128
Po 3 operacjach dilation i 7 erosion
132 8 132
Czyli te 2 kamienie otaczaja 1 pole terytorium
20
Struktury danych
  • Stuktura planszy powinna zawierac
  • informacje o zawartosci dla kazdego pola wraz z
    identyfikatorem grupy (dla niepustych pól)
  • liczbe liberties kazdej z grup
  • historie ruchów

21
Struktury danych
  • Dla celów porównywania sytuacji (z lub bez
    uwzgledniania izomorfizmu), przechowywania ich w
    transposition tables i podawania sieci neuronowej
    wprowadzana jest struktura skompresowana planszy

22
Skompresowany opis sytuacji
23
Skompresowany opis sytuacji
  • Pelen opis planszy to mniej niz 21 bajtów
  • 64 bity na zewnetrzny kwadrat
  • 48 bitów na kolejny
  • 32 bitów na kolejny
  • 16 bitów na przedostatni
  • 2 bity na srodkowe pole

24
Skompresowany opis sytuacji
  • Obrót planszy wymaga jedynie kilku obrotów
    bitowych skladowych opisu
  • Izomorfizm wzgledem obrotów latwo uzyskac
    wprowadzajac funkcje wyznacznika naroznego
    obszaru planszy i obracajac tak, by uzyskac
    maksimum w konkretnym narozniku
  • Analogicznie dokonac mozna odbic

25
Skompresowany opis sytuacji
  • Pomysly na funkcje wyznacznika dla naroznego
    obszaru 4x4
  • Kombinacja liniowa liczb kamieni obu graczy
  • Z wagami przeciwnych znaków (np. 1 i -0.99)
  • Z wagami tych samych znaków (np.. 1 i 0.99)
  • 32 bity, liczba jedynek w kazdej szesnastce
    okreslajaca liczbe kamieni kazdego z kolorów

26
Modyfikacje algorytmu alfa-beta
  • Iterative deepening
  • Transposition tables
  • byc moze przechowujace dla kazdej pozycji
    wszystkie ruchy zaproponowane przez siec wraz z
    ocenami
  • Aspiration search
  • Principal variation
  • History heuristic

27
Modyfikacje algorytmu alfa-beta
  • Aspiration search
  • Kolejne przeszukiwania rozpoczynane sa z oknami
    zawezonymi na podstawie dotychczasowych
    informacji
  • Principal variation
  • Przyjmujac zalozenie, ze sortowanie ruchów do
    przeanalizowania jest wlasciwe, mozna dla
    drugiego i dalszych ruchów wykorzystac
    przeszukiwanie z zerowym oknem, by zweryfikowac
    te hipoteze

28
History heuristic
  • Za kazdym razem, gdy dany ruch okaze sie
    najlepszym jaki mozna wykonac, zwiekszana jest
    jego wartosc
  • Wartosc ta wykorzystywana jest do sortowania
    ruchów do analizy (w naszym przypadku po
    zsumowaniu z ocenami wygenerowanymi przez siec)
  • Wartosc ruchu powinna byc zwiekszana
    proporcjonalnie do glebokosci przeszukiwania,
    które wykazalo, ze jest on najlepszym z mozliwych

29
Dziekujemy za uwageCzas na pytania
Write a Comment
User Comments (0)
About PowerShow.com