Magda Kusiak Karol Walędzik prof. dr hab. Jacek Mańdziuk

Slides:



Advertisements
Podobne prezentacje
ANALIZA SIECIOWA PRZEDSIĘWZIĘĆ konstrukcja harmonogramu
Advertisements

DOMINOWANIE W GRAFACH Magdalena Lemańska.
Sieć jednokierunkowa wielowarstwowa
Oddziaływania ładunków – (73) –zadania.
Predykcja współrzędnych x, y bieguna ziemskiego za pomocą sztucznych sieci neuronowych Maciej Kalarus Centrum Badań Kosmicznych PAN 5 grudnia 2003r.
ATOM WODORU, JONY WODOROPODOBNE; PEŁNY OPIS
SZTUCZNE SIECI NEURONOWE
Inteligencja Obliczeniowa Otwieranie czarnej skrzynki.
Inteligencja Obliczeniowa Perceptrony
„Program grający w szachy”
Sztuczne sieci neuronowe
MS Access 2000 Normalizacja Paweł Górczyński 2005.
Szachy komputerowe. Ogólna idea silnika szachowego.
Rozpoznawanie Twarzy i Systemy Biometryczne, 2005/2006
Rozpoznawanie Twarzy i Systemy Biometryczne, 2005/2006
Dariusz Odejewski Krzysztof Wójcik
Zastosowanie programu SYBYL do wygładzania przybliżonych modeli białkowych SEKWENCJA AMINOKWASOWA MODELOWANIE METODĄ DYNAMIKI MONTE CARLO NA TRÓJWYMIAROWEJ.
Proste bazy danych w Excelu
Problem generowania i rozwiązywania plansz sudoku o określonym poziomie trudności Mateusz Mikłuszka Mikołaj Szkutnik Kamil Markuszewski
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania.
Dynamiczne planowanie drogi z użyciem impulsowych sieci neuronowych
Routing i protokoły routingu
Sztuczna inteligencja w Go
Mirosław ŚWIERCZ Politechnika Białostocka, Wydział Elektryczny
Sieci Hopfielda.
Wstęp do interpretacji algorytmów
Sztuczne sieci neuronowe (SSN)
The GAME. Ogólna hierarchia klas PLANSZA Hierarchia klas POLE TripBoxNormalBoxSpecialBox.
formalnie: Budowa i zasada funkcjonowania sztucznych sieci neuronowych
Algorytm mini-max.
Systemy wspomagania decyzji
Sztuczne Sieci Neuronowe
Systemy Wspomagania Decyzji
Algorytmy i struktury danych
A. Sumionka. Starodawna gra marynarska; Gra dwu i wieloosobowa; Gracze wykonują ruchy naprzemian; Złożona ze stosów, w których znajduje się pewna ilość
Uczenie w Sieciach Rekurencyjnych
Topologie sieci lokalnych.
Analiza doboru danych uczących w predykcji indeksu giełdowego mgr Marcin Jaruszewicz dr hab. Jacek Mańdziuk.
ALGORYTMY ROZWIĄZYWANIA GIER C.D.
Systemy wspomagania decyzji
Modelowanie i Identyfikacja 2011/2012 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania 1 Warstwowe.
Marcin Jaruszewicz Jacek Mańdziuk
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Temat 7: Instrukcje warunkowe
Obliczalność czyli co da się policzyć i jak Model obliczeń sieci liczące dr Kamila Barylska.
D. Ciołek BADANIA OPERACYJNE – wykład 4
PHP Formularze Damian Urbańczyk. Do czego służą? Formularze to bardzo ważne elementy stron internetowych, dzięki nim dochodzi do wymiany danych pomiędzy.
Algorytmy Genetyczne Anna Tomkowska Politechnika Koszalińska
GRA CHOMP. Czym jest chomp? Jest to gra dla dwóch osób, rozgrywana na prostokątnej tablicy, zwanej „tabliczką czekolady”
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
Wstęp do interpretacji algorytmów
Metody sztucznej inteligencji – technologie rozmyte i neuronoweReguła propagacji wstecznej  Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów.
SZTUCZNA INTELIGENCJA
Podział sieci IP na podsieci w ramach CISCO
Zarządzanie projektami
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania Modelowanie i podstawy identyfikacji 2015/2016 Modele neuronowe – podstawy,
Model przydziału zadań. Informacje wstępne ● Podaję tu uproszczoną wersję modelu, którą będziemy stosować w testach. ● Wszystkie trudniejsze wymagania,
Belief Nets Autor: inż. 2013r źródło tła:
Systemy neuronowo – rozmyte
Kognitywne właściwości sieci neuronowych
Zajęcia w hali sportowej
Perceptrony o dużym marginesie błędu
Jednorównaniowy model regresji liniowej
Układy asynchroniczne
Systemy Ekspertowe i Sztuczna Inteligencja trudne pytania
WZMACNIACZ MOCY.
Systemy eksperckie i sztuczna inteligencja
Sztuczna Inteligencja Gry i programy oparte na szukaniu
Inteligencja Obliczeniowa Perceptrony
KORELACJA WIELOKROTNA I CZĄSTKOWA
Zapis prezentacji:

Magda Kusiak Karol Walędzik prof. dr hab. Jacek Mańdziuk Problem wstępnego sortowania ruchów w programie grającym w grę dwuosobową Magda Kusiak Karol Walędzik prof. dr hab. Jacek Mańdziuk

Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ... Plan prezentacji Go 9x9 Zastosowanie sieci neuronowych Nauka sieci neuronowych Struktury danych Modyfikacje algorytmu alfa-beta 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ... Zasady Plansza 9x9 Ko: Zakaz jedynie cykli o długości 2 (uzupełniony limitem ruchów w partii) Zakaz samobójstw Punktacja: terytorium + własne kamienie 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ... Konsekwencje Rząd drzewa gry: 81 w pierwszym ruchu malejący w kolejnych Głębokość drzewa: kilkadziesiąt ruchów Wniosek: Jest nadzieja, że algorytm alfa-beta z dobrym sortowaniem ruchów okaże się wystarczający 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ... Nasz wersja AI Dla każdego rozpatrywanego węzła Przyporządkowujemy każdemu ruchowi wartość określającą jego jakość Algorytm alfa-beta rozpatruje kilkanaście ruchów, zaczynając od najlepszych W liściach drzewa przeszukiwań uruchamiamy heurystykę przewidującą końcowy podział planszy 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ... Sieci neuronowe Pierwsza sieć każdemu ruchowi możliwemu w danej sytuacji przyporządkowuje wartość określającą, jak korzystny jest ten ruch Druga sieć ocenia pozycję, próbując przewidzieć, jaki będzie podział planszy po zakończeniu gry 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Konstrukcja sieci neuronowych 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Konstrukcja sieci – wariacja podstawowa 162 neurony wejściowe – po 2 na każde pole 9 x 5 neuronów, każda piątka zbiera informacje z jednego regionu planszy + 10 neuronów zbierających kontekst globalny 9 x 5 neuronów, każda piątka połączona z odpowiednią piątką z poprzedniej warstwy i 10 neuronami globalnymi + 15 neuronów połączonych z całą poprzednią warstwą 81 neuronów wyjściowych 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Wejście i wyjście sieci Wejściem obu sieci jest pozycja na planszy (dwa neurony na każde pole) Pierwsza sieć zwraca dla wszystkich pól wartości z przedziału [0,1] określające zasadność wykonania ruchu na danym polu Druga sieć zwraca wartości z przedziału [-1,1] oznaczające kolor gracza, do którego dane pole będzie należało po zakończeniu gry 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ... Nauka sieci Algorytm back-propagation Nauka naśladownictwa programu grającego w Go (np. GNUGo) lub gier profesjonalistów Wiele schematów nauki do przetestowania 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ... Nauka sieci – c.d. Nauka na podstawie gier profesjonalnych – pomysł najprostszy: Wektory wzorcowe składające się z samych zer i jednej jedynki w miejscu ruchu profesjonalisty Problem – może istnieć kilka dobrych ruchów o bardzo podobnej jakości. Profesjonalista wybrał tylko jeden z nich – reszta zostanie potraktowana na równi z ruchami ewidentnie złymi 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ... Nauka sieci – c.d. Jeden z pomysłów rozwiązania: Wstępna nauka na bazie programu podającego w danej sytuacji ocenę wszystkich możliwych ruchów Program GNU Go Pozycje wykorzystywane do nauki generowane poprzez rozegranie fragmentu gry przez GNU Go z losowymi ustawieniami jakości gry GNU Go wykorzystywane także do predykcji podziału planszy po zakończeniu gry 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ... Nauka sieci – c.d. Douczanie z wykorzystaniem gier profesjonalistów: Wektor wzorcowy zależny od odpowiedzi sieci Jeśli sieć dobrze wskaże najlepszy ruch, jako wektor wzorcowy podajemy wynik jej działania, ew. „odsuwając” najlepszy ruch od pozostałych - w ten sposób akcentujemy najlepsze rozwiązanie, ale nie tracimy pozostałych W p.p. „rozsunięcie” musi być silniejsze – wartość ruchu profesjonalisty przemnażana jest przez współczynnik >1 proporcjonalny do jej odległości od najwyżej ocenionego ruchu, pozostałe wartości są mnożone przez współczynnik <1 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ... Heurystyka Sieć przewidująca podział planszy może być albo douczana na podstawie gier profesjonalnych albo uzupełniana funkcją wpływu / algorytmem Bouzy’ego 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ... Algorytm Bouzy’ego 2 rodzaje operacji: dilation i erosion Do wyznaczania terytorium stosuje się zwykle wersję algorytmu 5/21: 5 operacji dilation 21 operacji erosion 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Algorytm Bouzy’ego – c.d. Przypisz wysoką wartość na pozycjach z kamieniami czarnymi i jej odwrotność z białymi oraz 0 – polom pustym Wykonaj n operacji dilation: Do każdego pola o wartości >=0 (<=0), nie sąsiadującego z polem <0 (>0) dodaj (odejmij) liczbę sąsiadów >0 (<0) 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Algorytm Bouzy’ego – c.d. Wykonaj m operacji erosion: Od każdego pola o wartości >0 (<0), odejmij (dodaj) liczbę sąsiadów <=0 Liczba operacji powinna wynosić n/(1+n(n-1)), by pojedynczy kamień nie generował terytorium i stąd wybór 5/21 (4/13 nie zawsze jest wystarczające) 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Algorytm Bouzy’ego - przykład 128 0 128 Po 2 operacjach dilation: 1 1 2 2 3 2 2 1 2 132 4 132 2 1 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Algorytm Bouzy’ego - przykład 128 0 128 Po 3 operacjach dilation i 7 erosion: 132 8 132 Czyli te 2 kamienie otaczają 1 pole terytorium 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ... Struktury danych Stuktura planszy powinna zawierać: informację o zawartości dla każdego pola wraz z identyfikatorem grupy (dla niepustych pól) liczbę liberties każdej z grup historię ruchów 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ... Struktury danych Dla celów porównywania sytuacji (z lub bez uwzględniania izomorfizmu), przechowywania ich w transposition tables i podawania sieci neuronowej wprowadzana jest struktura skompresowana planszy 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Skompresowany opis sytuacji 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Skompresowany opis sytuacji Pełen opis planszy to mniej niż 21 bajtów: 64 bity na zewnętrzny kwadrat 48 bitów na kolejny 32 bitów na kolejny 16 bitów na przedostatni 2 bity na środkowe pole 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Skompresowany opis sytuacji Obrót planszy wymaga jedynie kilku obrotów bitowych składowych opisu Izomorfizm względem obrotów łatwo uzyskać wprowadzając funkcję wyznacznika narożnego obszaru planszy i obracając tak, by uzyskać maksimum w konkretnym narożniku Analogicznie dokonać można odbić 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Skompresowany opis sytuacji Pomysły na funkcję wyznacznika dla narożnego 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 każdej szesnastce określająca liczbę kamieni każdego z kolorów 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Modyfikacje algorytmu alfa-beta Iterative deepening Transposition tables być może przechowujące dla każdej pozycji wszystkie ruchy zaproponowane przez sieć wraz z ocenami Aspiration search Principal variation History heuristic 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Modyfikacje algorytmu alfa-beta Aspiration search Kolejne przeszukiwania rozpoczynane są z oknami zawężonymi na podstawie dotychczasowych informacji Principal variation Przyjmując założenie, że sortowanie ruchów do przeanalizowania jest właściwe, można dla drugiego i dalszych ruchów wykorzystać przeszukiwanie z zerowym oknem, by zweryfikować tę hipotezę 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ... History heuristic Za każdym razem, gdy dany ruch okaże się najlepszym jaki można wykonać, zwiększana jest jego wartość Wartość ta wykorzystywana jest do sortowania ruchów do analizy (w naszym przypadku po zsumowaniu z ocenami wygenerowanymi przez sieć) Wartość ruchu powinna być zwiększana proporcjonalnie do głębokości przeszukiwania, które wykazało, że jest on najlepszym z możliwych 04-01-2006 Magda Kusiak, Karol Walędzik - Problem wstępnego sortowania ruchów ...

Dziękujemy za uwagę Czas na pytania…