METODY SZTUCZNEJ INTELIGENCJI 2 Opis projektu



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

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Propozycje tematów zadań

Dokumentacja Końcowa

Projekt Sieci neuronowe

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

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

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Dokumentacja projektu Makao karciana gra sieciowa

Zastosowania sieci neuronowych

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

Sieć przesyłająca żetony CP (counter propagation)

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

REGULAMIN I MIĘDZYKLASOWEGO TURNIEJU W SCRABBLE 2016/2017

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Szkolny Instruktor Warcabowy

Dodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji.

gry na planszy do WARCABÓW WARCABY TRADYCYJNE WARCABY NAROŻNIKOWE gra dla 2 osób rekwizyty: - plansza - 12 pionków białych i 12 pionków czarnych

Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych.

CHIŃCZYK. CHIŃCZYK z blokadą ruchomą INSTRUKCJA. gry na planszy do Chińczyka. gra dla 2-4 osób

Automatyczne Diagnozy Partii Szachowych nowa funkcja Zestawienie Ruchów.

Uczenie sieci typu MLP

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego

Elementy inteligencji obliczeniowej

HALMA HALMA SZYBKA HALMA KOLOROWA INSTRUKCJA

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

34. NIE TYLKO WORECZKI CZYLI O ROZUMIENIU SYSTEMU DZIESIĘTNEGO, CZ. II

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

Pawnographic chess. (Sztuczna inteligencja) Wydzia ł Informatyki i Zarządzania Informatyka. Pozna ń, 25 lutego 2008 r.

Wyciąg z przepisów obowiązujących na XII Ogólnopolski Turniej Szachowy o Puchar Związku Banków Polskich Warszawa, 20 listopada 2016r.

INSTRUKCJA. gry dla 2 osób rekomendowany wiek: od lat 5+ zawartość pudełka: 1) Plansza 2) Pionki - 20 szt. x 2 kolory 3) Instrukcja

Innowacja pedagogiczna dla uczniów pierwszej klasy gimnazjum Programowanie

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Temat: ANFIS + TS w zadaniach. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

25. NIE TYLKO WORECZKI CZYLI O ROZUMIENIU SYSTEMU DZIESIĘTNEGO, CZ. I

Temat: Sieci neuronowe oraz technologia CUDA

Optymalizacja ciągła

Programowanie gier planszowych

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 3

ALGORYTM RANDOM FOREST

Metoda ewolucyjnego doboru współczynników funkcji oceniającej w antywarcabach

Algorytmy dla gier dwuosobowych

Testowanie modeli predykcyjnych

INSTRUKCJA. gra dla 2 4 osób, rekomendowany wiek: od lat 4


Tworzenie gier na urządzenia mobilne

LEKCJA 1. Diagram 1. Diagram 3

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

NEURAL NETWORK ) FANN jest biblioteką implementującą SSN, którą moŝna wykorzystać. w C, C++, PHP, Pythonie, Delphi a nawet w środowisku. Mathematica.

gra Chińczyk dla 6 osób

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

Sztuczne siei neuronowe - wprowadzenie

Prof. Stanisław Jankowski

Dokumentacja projektu QUAIKE Architektura oprogramowania

8. Neuron z ciągłą funkcją aktywacji.

1. Logika, funkcje logiczne, preceptron.

Uczenie sieci radialnych (RBF)

Sieci neuronowe - dokumentacja projektu

Kodu z klasą. Tower defense, cz. 2. Scenariusz 8

FAQ P: JAKIE SĄ WYMAGANIA DOTYCZĄCE MIEJSCA ZAMIESZKANIA OSÓB BIORĄCYCH UDZIAŁ W TURNIEJU? O: Ten turniej odbywa się wyłącznie w Polsce, więc:

Asocjacyjna reprezentacja danych i wnioskowanie

ALGORYTMY SZTUCZNEJ INTELIGENCJI

GRY I ZABAWY UMYSŁOWO- LOGICZNE JAKO FORMA UPOWSZECHNIANIA KULTURY. Donata Fraś

Dla dzieci od 5 lat. Wymiary pudełka 20x20x5 cm. Backgammon

Wiek graczy: 8+ Liczba graczy: 2 4 Czas gry: 20 min INSTRUKCJA

Wyznaczanie strategii w grach

Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

Szachy, backgammon (tryktrak) i warcaby

Spadające jabłuszka. licencja CC-BY-SA Uznanie autorstwa Na tych samych warunkach 3.0 Polska. Strona 51

Algorytmy sztucznej inteligencji

Gra: Partnerstwo biznesowe

Przykłady szacha-mata

Pong to dwuwymiarowy symulator tenisa sportowego. Gracz, poruszając prostokątem symulującym paletkę, stara się zdobyć punkt poprzez posłanie piłki

Sieci neuronowe w Statistica

Gra planszowa stwarza jeszcze więcej możliwości!

33. NIE TYLKO WORECZKI CZYLI O ROZUMIENIU SYSTEMU DZIESIĘTNEGO, CZ. I

Zastosowania sieci neuronowych

Rachunek prawdopodobieństwa w grach losowych.

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Podstawy Sztucznej Inteligencji (PSZT)

Instrukcja realizacji ćwiczenia

Adam Meissner. SZTUCZNA INTELIGENCJA Gry dwuosobowe

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wybór / ocena atrybutów na podstawie oceny jakości działania wybranego klasyfikatora.

PLANSZA. Plansza składa się z następujących pól:

SIEĆ NEURONOWA DO OCENY KOŃCOWEJ PRZEDSIĘWZIĘCIA (PROJEKTU)

Spotkanie Fireside Gathering z funkcją Fireside Special ustawioną na bójkę Bitwa morska! Możecie zorganizować je tutaj:


ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

PHASE 10 LICZBA GRACZY: 2-6

Rozpoznawanie obrazów

Wyszukiwanie. Wyszukiwanie binarne

Zasady gry. Zawartosc pudełka. Przygotowanie do gry

Optymalizacja optymalizacji

Generatory pomocy multimedialnych

Transkrypt:

Kamil Figura Krzysztof Kaliński Bartek Kutera METODY SZTUCZNEJ INTELIGENCJI 2 Opis projektu Porównanie metod uczenia z rodziny TD z algorytmem Layered Learning na przykładzie gry w warcaby i gry w anty-warcaby

Spis treści 1. Wstęp... 3 2. Opis ogólny... 3 3. Opis funkcji oceny stanu gry... 4 4. Algorytmy... 5 4.1 Uczenie metodą TD... 5 4.2 Uczenie metodą LL... 6 5. Porównanie... 8 6. Użyte technologie... 8 7. Planowany podział prac... 9 8. Bibliografia... 9 2

1. Wstęp Celem niniejszej pracy jest porównanie algorytmów Temporal Differential oraz Layered Learning na przykładzie gry warcaby oraz anty-warcaby. Implementując aplikację stworzymy sieć neuronową, która będzie się uczyła wykorzystując te algorytmy. Następnie przeprowadzimy fazę testów w celu porównania tych metod uczenia. Gra w anty-warcaby ma takie same zasady, z tym że celem jest stracenie jak największej liczby pionków. W projekcie przyjmujemy rozgrywkę w warcaby klasyczne: Plansza ma rozmiar 8x8 Dama porusza się o wiele pól Istnieje obowiązek bicia dowolnego pionka W wypadku, gdy istnieje wybór pomiędzy zbiciem różnych ilości warcab przeciwnika, to obowiązkowe jest bicie większej ilości warcab Jeżeli pionek w czasie bicia przechodzi przez jedno z pól przemiany i kontynuuje bicie, to nie zamienia się w damkę i nadal pozostaje pionkiem Zdecydowaliśmy się na ten wybór ze względu na liczbę dostępnych rozegranych partii. 2. Opis ogólny Algorytmy mają za zadanie w ten sposób nauczyć sieć, aby wykonywały ruchy jak najlepsze. Do nauki będziemy używać zbiorów rozgrywek z różnych turniejów pobranych z Internetu. Będziemy rozgrywać naprzemiennie różne turnieje. Nauka sieci będzie podlegała zależności 7:3. 70% będzie zbiorem uczącym a 30% zbiorem walidacyjnym. Proces uczenia zostanie zatrzymany, gdy jeden z warunków zostanie spełniony: Zostanie przekroczony próg iteracji równy 1000/3000/5000 (może ulec zmianie). Podział będzie służył porównania efektywności uczenia się algorytmów. Błąd zbioru walidacyjnego będzie mały i utrzymywał się w danym przedziale. 3

Dla gry anty-warcaby będziemy robić analogicznie, zamieniając jedynie cel gry (najgorszy ruch będzie wówczas dla nas najkorzystniejszy i odwrotnie). Sieć neuronowa w naszym projekcie będzie posiadała trzy warstwy (jedna warstwa ukryta) i będzie jednokierunkowa. Wielkość warstwy ukrytej będzie zależna od naszych testów przeprowadzonych w trakcie implementacji. Wejście i wyjście dla każdego algorytmu będzie takie samo: Wejście będzie składało się z: 32 pola oznaczające: o 2 - na polu znajduje się nasza damka o 1 - na polu znajduje się nasz pionek o 0 - pole jest puste o -1 - na polu znajduje się pionek przeciwnika o -2 - na polu znajduje się damka przeciwnika 33 pole - różnica pomiędzy ilością pionków 34 pole - różnica pomiędzy ilością damek 35 pole - różnica w ilości możliwych ruchów Powyższe wejścia mogą ulec zmianie podczas testów. Wyjście będzie tylko jedno w przedziale <-100,100> -100 - przegrana 0 - remis 100 - wygrana 3. Opis funkcji oceny stanu gry Dla naszych algorytmów będziemy używać funkcji oceny stanu gry o postaci: P(s,w): 100 - jeśli s jest wygraną -100 - jeśli s jest przegraną 4

0 - jeśli jest remis V(s,w) - dla wszystkich innych s V(s,w) jest funkcją oceny stanu gry, gdzie x 1..x n jest wektorem stanu gry zawierający zmapowanie stanów do wartości liczbowych. Natomiast w 1,..,w n są prawdziwymi współczynnikami. Parametr a wynosi 0.99, żeby zagwarantować, że V(s,w) znajduje się w przedziale (-99,+99), b jest równy 0.027 żeby zapobiec V(s,w) przed zbyt szybkim wzrostem. Wartość tego parametru może w trakcie implementacji zostać zmieniona. Tanh został użyty jedynie z powodów technicznych w celu ograniczenia możliwych wartości funkcji przez (MIN;MAX). 4. Algorytmy 4.1 Uczenie metodą TD Algorytm TD ma na celu dobranie wag w 1,...,w n w takim sposób aby gra przebiegała w jak najlepszy sposób. Algorytm TD modyfikuje funkcję oceny stanu gry. W czasie t wagi wektora (delta)w t są obliczane z poniższego równania: gdzie alpha przyjmuje wartości od (0,1) i jest parametrem nauki skokowej. Drugi komponent jest równy: i reprezentuje różnice czasową w stanach wartości. Ostatni komponent e t (parametr kwalifikowalności, obliczany rekursywnie) 5

zachowuje historię cech poprzednich stanów. Elementy tego wektora zanikają wykładniczo proporcjonalnie do parametru rozkładu Cechy w parametrze e t są uważane za znaczące podczas przeprowadzania zmian wagowych w czasie t. Parametr ten jest też ważny podczas wzmacnianego uczenia, które polega na przypisywaniu większego znaczenia akcjom w przeszłości. Wstępnie w implementacji zostaną przyjęte następujące parametry: = 0.01 = 0.5 = 1 r t = 0 Podczas testów będą one zmieniane i będzie badany ich wpływ na naukę sieci. Uaktualnianie wag będzie wykonywane po ukończeniu danej partii (off-line TD()). 4.2 Uczenie metodą LL Algorytm opisujący tworzenie funkcji ewaluacji gry dla dwóch osób. Umożliwia stopniowe, rozwojowe opisywanie drzewa gry, dzięki czemu można ocenić, który ruch w grze da lepszą pozycję. Sprawdzamy poprawność naszej oceny ruchu, poprzez użycie jej w heurystyce do przykładowych gier. Algorytm jest autorstwa Jacka Mańdziuka i Karola Walędzika. LL(Layered Learning) wykorzystuje algorytm MiniMax do tworzenia oszacowania od dołu. Zaczynamy od podziału drzewa gry na rozłączne elementy przedstawiające końcowe fazy gry. Ocena, czy faza jest końcowa, w przypadku warcabów i antywarcabów, może zostać dokonana między innymi na podstawie ilości wykonanych ruchów lub też ilości pionków pozostałych na planszy. Końcowe sekcje drzewa są analizowane za pomocą algorytmu min-max, wykorzystującym algorytm redukujący alfa-beta, którego użycie ma na celu poprawę wydajności. 6

Ocena faz końcowych przy pomocy algorytmu Min-Max pozwala na wytrenowanie sieci neuronowych tak, aby mogły one uzyskać prawidłowe wyniki końca gry. Mając wyniki faz końcowych przechodzimy do wcześniejszych etapów. Według przedstawionego powyżej obrazka, przechodzimy odpowiednio do Phase 1, Phase 2 itd. Modyfikujemy w nich naszą sieć neuronową tak, aby umożliwiała uzyskanie wyników otrzymanych w poprzednich fazach. Wybieramy też poddrzewa analizowane metodą Min-Max, które dają materiał treningowy oraz testujący sieć neuronową. Porównujemy, czy wyniki uzyskane z wcześniej obliczonych faz są równe wynikom algorytmu Min-Max. Jeżeli nie, sieć neuronowa jest aktualizowana metodą propagacji wstecznej. Etap za etapem rozwijamy sieć, aż nie osiągniemy momentu początku gry. Napotkane problemy: Istnieje ryzyko, że utworzona przez nas sieć neuronowa będzie tracić wcześniej zdobyte informacje. Gry, które wcześniej były dobrze rozgrywane, w późniejszych 7

fazach nauki będą rozwiązywane gorzej. Aby tego uniknąć w kolejnych fazach rozwoju sieci będą przerabiane scenariusze wcześniejszych gier. Jako, że w grze istnieje mnogość stylów, aby umożliwić udaną grę przeciwko szerokiej gamie przeciwników należy przystosować sieć neuronową do jak największej ilości sytuacji. Najprostszym sposobem jest trenowanie na losowo wygenerowanych scenariuszach, aż do osiągnięcia wysokiej skuteczności. Takie podejście, nie gwarantuje dobrego wyniku przy konfrontacji z realnym, inteligentnym przeciwnikiem. Dlatego też wykorzystane zostaną zbiory gier pobrane z Internetu. 5. Porównanie W celu porównania obu tych algorytmów przeprowadzimy turniej, w którym z każdej ze stron będą grały przeciwko sobie oba, nauczone już algorytmy. Przeprowadzimy 10 rozgrywek, w których naprzemiennie będą zaczynać grę konkurujące algorytmy (5 razy zacznie TD i 5 razy LL). W grze możliwe są trzy stany końcowe: wygrana, porażka oraz remis. Gra będzie kończyć się remisem, jeżeli któryś z graczy wykona 15 ruchów z rzędu damką nie zbijając przy tym żadnego pionka przeciwnika. Analogicznie zrobimy dla gry anty-warcaby. Zostaną przeprowadzone trzy niezależne turnieje - różniące się jedynie wielkością zbioru uczącego. W turnieju porównamy metody uczenia się które przebiegały na tym samym zbiorze uczącym w celu wyeliminowania niepotrzebnych czynników losowości. Ten algorytm, który lepiej się spisze we wszystkich tych turniejach zostanie uznany przez nas za efektywniejszy. 6. Użyte technologie Aplikacja będzie napisana w języku C# i będzie testowana pod systemem Windows 7. Wyniki poszczególnych partii będą zapisywane w pliku.csv, a później używając programów statystycznych (np. R) zostaną wyciągnięte wnioski. Interfejs graficzny będzie użyty w oparciu o Windows Forms. 8

7. Planowany podział prac Implementacja sieci neuronowej - Krzysztof Kaliński, Kamil Figura Napisanie algorytmu TD - Krzysztof Kaliński Napisanie algorytmu Layered Learning Bartek Kutera Napisanie aplikacji testowej wraz z graficznym interfejsem Kamil Figura Analiza wyników i sporządzenie wykresów wszyscy 8. Bibliografia http://www.mini.pw.edu.pl/~mandziuk/prace/iconip04.pdf http://www.mini.pw.edu.pl/~mandziuk/prace/icaisc04-3.pdf http://www.mini.pw.edu.pl/~mandziuk/prace/td_gac_wisis.pdf http://www.mini.pw.edu.pl/~mandziuk/prace/ppsn10.pdf 9