1 / 41

Zastosowanie metod neuroewolucyjnych do wyznaczania funkcji oceniającej w grach dwuosobowych

Zastosowanie metod neuroewolucyjnych do wyznaczania funkcji oceniającej w grach dwuosobowych. Autor: Rafał Grodzicki Promotor: Dr Jan Bródka. Założenia. Brak wiedzy eksperckiej dotyczącej rozpatrywanych gier: Dysponujemy jedynie informacją umożliwiającą sterowanie przebiegiem rozgrywek:

airlia
Télécharger la présentation

Zastosowanie metod neuroewolucyjnych do wyznaczania funkcji oceniającej w grach dwuosobowych

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Zastosowanie metod neuroewolucyjnych do wyznaczania funkcji oceniającej w grach dwuosobowych Autor: Rafał Grodzicki Promotor: Dr Jan Bródka

  2. Założenia • Brak wiedzy eksperckiej dotyczącej rozpatrywanych gier: • Dysponujemy jedynie informacją umożliwiającą sterowanie przebiegiem rozgrywek: • legalne ruchy • charakterystyka stanów końcowych (wygrana, przegrana, remis) • „wiedza” dotycząca strategii umożliwiającej optymalną grę musi być wygenerowana za pomocą algorytmu ewolucyjnego (reinforcement learning – uczenie ze wzmocnieniem) • Ogólny charakter: • Możliwość zastosowania do wielu gier • Implementacja: abstrakcyjne klasy bazowe, po których dziedziczą klasy implementujące konkretne gry

  3. Gra • Charakterystyka rozważanych gier: • Dwuosobowa • Pełna, jawna informacja na temat stanu gry (dla obydwu graczy) • Każdy stan gry daje się opisać za pomocą wektora: • ustalonego, skończonego wymiaru • o współrzędnych rzeczywistych • Dla każdego stanu gry istnieje skończona liczba ruchów umożliwiających przejście do kolejnego stanu • Każda rozgrywka kończy się jednym ze stanów: • wygrana pierwszego gracza i przegrana drugiego • wygrana drugiego gracza i przegrana pierwszego • remis

  4. Gra • Przeszukiwanie drzewa gry z wykorzystaniem metody alfa-beta obcięć • Funkcja oceniająca – jednokierunkowa sieć neuronowa: • Wejście: wektor reprezentujący stan gry • Wyjście: wartość funkcji oceniającej dla wejściowego stanu gry • Sigmoidalne funkcje przejścia • Bias – możliwość regulacji progu funkcji przejścia

  5. Neuroewolucyjne metody uczenia • Metody z ustaloną topologią sieci • Metody ze zmienną topologią (TWEANNs – Topology and Weight Evolving Artificial Neural Networks): • NEAT (NeuroEvolution of Augmenting Topologies)

  6. Metody z ustaloną topologią sieci • Ustalona struktura sieci: • Liczba warstw i neuronów w poszczególnych warstwach • Struktura połączeń – zwykle pełne • Ewolucji podlegają wagi sieci • Populacja początkowa składa się z sieci o losowo zainicjowanych wagach

  7. Metody z ustaloną topologią sieci • Zalety: • Proste kodowanie rozwiązań: • Genotyp – wektor ustalonego wymiaru • Klasyczne operacje genetyczne (krzyżowania i mutacje) • Wady: • Z góry ustalona struktura sieci: • Algorytm ewolucyjny przeszukuje przestrzeń o stałym wymiarze: • Wymiar zbyt mały – rozwiązanie optymalne istnieje w przestrzeni o większym wymiarze niż ustalony • Wymiar zbyt duży – rozwiązanie optymalne istnieje w przestrzeni o mniejszym wymiarze niż ustalony – utrata wydajności

  8. Metoda NEAT (NeuroEvolution of Augmenting Topologies) • Twórca: • Dr. Kenneth O. Stanley • University of Central Florida School of Electrical Engineering and Computer Science • http://www.cs.ucf.edu/~kstanley/neat.html • Brak ustalonej struktury sieci (za wyjątkiem liczby wejść i wyjść) • Ewolucji podlega zarówno struktura sieci jak i wagi połączeń • Populacja początkowa składa się z możliwie najprostszych sieci (jednakowych pod względem struktury) o losowo zainicjowanych wagach:

  9. Metoda NEAT (NeuroEvolution of Augmenting Topologies) • Cel: • Znajdowanie optymalnych rozwiązań o możliwie minimalnej strukturze • Środki: • Startowanie z możliwie najprostszych rozwiązań • Kompleksyfikacja rozwiązań • Wprowadzanie i zachowywanie różnorodności w populacji sieci neuronowych

  10. Metoda NEAT (NeuroEvolution of Augmenting Topologies) • Genotyp: • 1. chromosom: geny określające węzły: • Identyfikator • Rodzaj (wejściowy, wyjściowy, ukryty) • 2. chromosom: geny określające połączenia: • Identyfikatory węzłów • Waga • Stan: włączony (enabled), wyłączony (disabled) • Innovation number

  11. Metoda NEAT (NeuroEvolution of Augmenting Topologies) • Operacje genetyczne: • Mutacja: • Wag (zmiana wartości wagi połączenia) • Struktury: • Dodawanie połączeń • Dodawanie węzłów • Krzyżowanie

  12. Metoda NEAT (NeuroEvolution of Augmenting Topologies) • Mutacja wag: • nowa_waga = stara_waga * (1 + d) • d – wartość losowa z przedziału [-b, b] • b – współczynnik zmiany wagi • Parametr sterujący: • Prawdopodobieństwo mutacji (odnoszące się do każdego genu połączenia)

  13. Metoda NEAT (NeuroEvolution of Augmenting Topologies) • Mutacja struktury – dodawanie węzła

  14. Metoda NEAT (NeuroEvolution of Augmenting Topologies) • Mutacja struktury – dodawanie połączenia

  15. Metoda NEAT (NeuroEvolution of Augmenting Topologies) • Mutacja struktury • Parametry sterujące: • Prawdopodobieństwo mutacji: • Odnoszące się do każdego genotypu • pw – p-stwo mutacji struktury – dodanie węzła • pp – p-stwo mutacji struktury – dodanie połączenia • lw – liczba węzłów • lp – liczba połączeń • 1 ≤ a ≤ 2 • Maksymalna liczba mutacji – m: • liczba mutacji = wartość losowa z przedziału [1, m] • Uwaga: w przypadku dodawania połączeń parametry odnoszą się do prób mutacji

  16. Metoda NEAT (NeuroEvolution of Augmenting Topologies) • Krzyżowanie

  17. Metoda NEAT (NeuroEvolution of Augmenting Topologies) • Gatunki, nisze (ang. Species): • Cel: • Umożliwienie wyewoluowania i przetrwania nowych rozwiązań • Operacje genetyczne wykonywane są w obrębie gatunku • Decyzja o przynależności osobnika do danego gatunku podejmowana jest na podstawie miary odległości pomiędzy osobnikami (genotypami)

  18. Metoda NEAT (NeuroEvolution of Augmenting Topologies) • Gatunki, nisze (ang. Species): • Miara odległości: • D – liczba „niedopasowanych” genów • N – liczba genów w dłuższym chromosomie • W – średnia różnica wag pomiędzy dopasowanymi częściami chromosomów (pierwiastek odległości średniokwadratowej)

  19. Metoda NEAT (NeuroEvolution of Augmenting Topologies) • Gatunki, nisze (ang. Species): • Próg dopasowania (T) • δ < T -> osobnik należy do gatunku • Stały próg (T = const) • Ustalona oczekiwana liczba gatunków (E), adaptacyjna zmiana wartości progu w zależności od aktualnej liczby gatunków: • T0 = const, K – faktyczna liczba gatunków • K < E -> Ti+1 = Ti – krok • K > E -> Ti+1 = Ti + krok

  20. Metoda NEAT (NeuroEvolution of Augmenting Topologies) • Gatunki, nisze (ang. Species): • Dopasowywanie osobnika do gatunku: • Obliczana odległość (δ) pomiędzy dodawanym osobnikiem a losowym reprezentantem gatunku • δ < T -> dodanie osobnika do gatunku • Gatunki jednoznacznie identyfikowane w obrębie wszystkich generacji • Nowo powstałe gatunki mają większy numer identyfikacyjny niż dotychczas istniejące gatunki

  21. Metoda NEAT (NeuroEvolution of Augmenting Topologies) • Gatunki, nisze (ang. Species): • Dodawanie osobnika do populacji: • W pierwszej kolejności próba dopasowania do gatunków istniejących w poprzedniej generacji • Jeśli nie dopasowano -> próba dopasowania do gatunków z bieżącej generacji • Jeśli nie dopasowano -> tworzenie nowego gatunku • Osobnik dopasowywany do gatunków w kolejności od najstarszych do najmłodszych • Konsekwencja: zapewnienie ciągłości gatunków

  22. Metoda NEAT (NeuroEvolution of Augmenting Topologies) • Gatunki, nisze (ang. Species): • Liczba osobników generowanych z gatunku: fij – ocena j-tego osobnika Nj – liczność j-tego gatunku Njnew – liczba osobników generowanych z j-tego gatunku fj – średnia ocena j-tego gatunku f – suma średnich ocen poszczególnych gatunków N – liczność populacji • Przeciwdziałanie zdominowaniu populacji przez osobniki danego gatunku

  23. Algorytm ewolucyjny • Podejście koewolucujne (competitive coevolution): • Dwie rywalizujące ze sobą populacje: • „Hosts” – populacja osobników, dla których wyznaczane są oceny • „Parasites” – populacja osobników testowych • Oceny osobników z populacji „Hosts” wyznaczane są w wyniku współzawodnictwa z osobnikami z populacji „Parasites” • W kolejnych generacjach populacje wymieniają się rolami („Hosts” <-> „Parasites”) • „Arms Race” – wzajemne „prześciganie” się populacji

  24. Algorytm ewolucyjny • „Hall of Fame”: • Zbiór najlepszych osobników ze wszystkich poprzednich generacji • Cel: zapewnienie, że osobniki z bieżącej generacji nie tracą zdolności pokonywania osobników z poprzednich generacji • W rozgrywkach mających na celu ustalenie ocen osobników z populacji „Hosts” biorą udział przedstawiciele z „Hall of Fame” • Podzbiór agentów z „Hall of Fame” biorących udział w rozgrywkach wybierany jest losowo

  25. Wyznaczanie wartości przystosowania osobników • Wartości przystosowania osobników są wyznaczane w wyniku serii rozgrywek pomiędzy osobnikami: • Zbiór przeciwników dla populacji „Hosts” wybierany • z populacji „Parasites” (ustalona max. liczba osobników): • najlepszy osobnik z każdego gatunku z losowo wybranego podzbioru gatunków • z „Hall of Fame” (ustalona max. liczba osobników): • losowy podzbiór

  26. Wyznaczanie wartości przystosowania osobników • Wartości przystosowania osobników są wyznaczane w wyniku serii rozgrywek pomiędzy osobnikami: • Rozgrywki: • Symetryczne: • Osobnik A gra z B (A – pierwszy gracz, B – drugi gracz) -> Osobnik B gra z A (B – pierwszy gracz, A – drugi gracz) • Rezultat: obie populacje przystosowane do gier zarówno jako 1. jak i 2. gracz • Asymetryczne: • Osobnik z 1. populacji gra zawsze jako 1. gracz, a osobnik z 2. populacji zawsze jako 2. gracz • Rezultat: specjalizacja poszczególnych populacji do gier jako 1. bądź jako 2. gracz

  27. Wyznaczanie wartości przystosowania osobników • Rezultaty gier wnoszą informacje wykorzystywane do wyznaczania oceny (przystosowania) osobników: • Pojedyncza rozgrywka: • wygrana, przegrana, remis • Seria rozgrywek: • lista pokonanych osobników – dla agentów z populacji „Hosts” • liczba przegranych gier – dla agentów ze zbioru przeciwników

  28. Wyznaczanie wartości przystosowania osobników • Wartość przystosowania (ocena): • i – osobnik, dla którego określana jest ocena • Pi – zbiór osobników pokonanych przez osobnika i • Nj – liczba przegranych gier przez osobnika j • Uzasadnienie: • Im więcej osobników pokonuje osobnik A tym większą uzyskuje ocenę • Im mniej przegranych gier mają osobnicy pokonani przez osobnika A tym lepszą ocenę uzyskuje osobnik A • Ponadto: mała liczba przegranych osobnika B pokonanego przez A oznacza, że osobnik A jako jeden z niewielu pokonał osobnika B

  29. Śledzenie postępu • Śledzenie wzrostu funkcji oceny: • Dobre w przypadku klasycznego algorytmu ewolucyjnego: • Funkcja oceny określona niezależnie od wzajemnych relacji pomiędzy osobnikami • Niedobre w metodzie koewolucyjnej: • Funkcja oceny określona w wyniku współzawodnictwa osobników z jednej populacji z osobnikami z drugiej • Uzyskane względne oceny w późniejszym etapie ewolucji mogą być porównywalne z ocenami uzyskanymi we wcześniejszych etapach

  30. Śledzenie postępu • Wykorzystanie zbioru „Hall of Fame”: • Śledzenie liczby wygranych najlepszego osobnika z bieżącej populacji z osobnikami z „Hall of Fame” • Zaleta: • Możliwość zastosowania w algorytmie koewolucyjnym • Wady: • Fakt, że agent A pokonał więcej osobników niż agent B nie oznacza, że agent B nie pokonuje agenta A • Konsekwencja: brak śledzenia faktycznego postępu (bycie lepszym pod każdym względem) • Duży koszt – konieczność dodatkowych rozgrywek ze wszystkimi osobnikami z „Hall of Fame”

  31. Śledzenie postępu • Domianance Tournament: • Pojęcie dominacji: • Tworzymy uporządkowany zbiór osobników dominujących (D, <) • Pierwszy element zbioru D: • Najlepszy osobnik z pierwszej generacji • Najlepszy osobnik z pierwszej możliwej generacji pokonujący najlepsze osobniki z kilku ustalonych pierwszych generacji • Kolejne elementy zbioru D: • Najlepszy osobnik z każdej kolejnej generacji, jeśli pokonuje wszystkie osobniki ze zbioru D • Kolejne elementy zbioru dominującego wyznaczają kolejne poziomy dominacji (dominance levels) • Śledzenie poziomów dominacji – śledzenie faktycznego postępu

  32. Algorytm ewolucyjny • Inicjowanie populacji: • Utworzenie 2 równolicznych populacji (po N osobników) złożonych z możliwie najprostszych sieci neuronowych: • 1 neuron wyjściowy • Stała liczba (zależna od gry) węzłów wejściowych połączonych z neuronem wyjściowym • Bias (niepołączony z neuronem wyjściowym) • Losowe wagi połączeń ( z przedziału [-1, 1]) • Wyznaczenie wstępnych ocen osobników z 1. populacji • Wymiana populacji („Hosts” <-> „Parasites”) • Wyznaczenie wstępnych ocen osobników z 2. populacji

  33. Algorytm ewolucyjny • Generowanie następnej generacji: • Wymiana populacji („Hosts” <-> „Parasites”) • Modyfikacja progu dopasowania (odległości) genotypów – na podstawie bieżącej liczby gatunków • Modyfikacja prawdopodobieństw mutacji struktury – na podstawie bieżących średnich liczb węzłów i połączeń w sieciach neuronowych • Dla każdego gatunku (z populacji „Hosts”): • Wyznaczenie oczekiwanej liczby potomków gatunku (Njnew) • Jeśli (Njnew)≥1, dodanie najlepszego osobnika do populacji potomnej • Generowanie (floor(Njnew) - 1) osobników: • Selekcja 2 osobników – metodą turniejową – losujemy k osobników i spośród wylosowanych wybieramy najlepszego • Krzyżowanie • Mutacja struktury – dodawanie węzłów • Mutacja struktury – dodawanie połączeń • Mutacja wag • Dodanie osobnika do populacji potomnej

  34. Algorytm ewolucyjny • Generowanie następnej generacji (c.d.): • Jeśli liczba osobników w populacji potomnej jest < N, to generowanie brakujących osobników: • Zastosowanie metody reszt • Wybór gatunków metodą koła ruletki • Wybór przeciwników do rozgrywek – próbki osobników z populacji „Parasites” oraz „Hall of Fame” • Wyznaczenie ocen osobników z populacji „Hosts” – rozgrywki • Dodanie najlepszego osobnika do „Hall of Fame” • Sprawdzenie, czy najlepszy osobnik jest dominujący – jeśli tak, to dodanie go do zbioru osobników dominujących

  35. Śledzenie przebiegu algorytmu • Z każdej generacji pobierane są informacje: • średnia, minimalna, maksymalna: • ocena osobników • liczba węzłów w sieci • liczba połączeń w sieci • Odchylenia standardowe dla powyższych wielkości • Przebieg zmienności gatunków

  36. Przykłady – gra w kółko i krzyżyk • Reguły: • Plansza 3 x 3 – początkowo pusta • Gracze na przemian stawiają na polach symbole (1. gracz – O, 2. gracz – X) • Wygrywa gracz, który pierwszy ułoży linię o długości 3 złożoną ze swoich symboli (poziomo, pionowo lub po przekątnej)

  37. Przykłady – gra w kółko i krzyżyk • Reprezentacja planszy: • Plansza 3 x 3 zmapowana na wektor o wymiarze 9 • Współrzędne wektora mogą przyjmować następujące wartości: • 0 – puste pole • 1 – pole zawiera O (symbol 1. gracza) • -1 – pole zawiera X (symbol 2. gracza)

  38. Przykłady – gra w warcaby • Reguły (odmiana amerykańska): • Plansza 8 x 8 • Pionki gracza 1. na polach 0 – 12 • Pionki gracza 2. na polach 22 – 34 • Ruchy: • Gracz 1. – z pola o nr k na pola o nr k + 4 lub k + 5 • Gracz 2. – z pola o nr k na pola o nr k - 4 lub k - 5

  39. Przykłady – gra w warcaby • Reguły (odmiana amerykańska – c.d.): • Bicie – przeskoczenie pionka przeciwnika w kierunku legalnego ruchu • Bicia – wielokrotne i przymusowe • Po dotarciu do przeciwległej kraw. pionek staje się damką • Damka – możliwość ruchu i bicia także do tyłu • Damka nie może wykonać wielokrotnego bicia do tyłu w kolejce, w której stała się damką

  40. Przykłady – gra w warcaby • Reprezentacja planszy: • Plansza 8 x 8 zmapowana na wektor o wymiarze 35 (reprezentacja Samuela) • Współrzędne wektora mogą przyjmować następujące wartości: • 0 – puste pole • 1 – pionek 1. gracza • -1 – pionek 2. gracza • 2 – damka 1. gracza • -2 – damka 2. gracza

  41. DZIĘKUJĘ ZA UWAGĘ

More Related