Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Sztuczna inteligencja w Go Magda Kusiak Karol Walędzik.

Podobne prezentacje


Prezentacja na temat: "Sztuczna inteligencja w Go Magda Kusiak Karol Walędzik."— Zapis prezentacji:

1 Sztuczna inteligencja w Go Magda Kusiak Karol Walędzik

2 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Zasady Go Plansza – krata o wymiarach 19 na 19, 13 na 13 lub 9 na 9 Gracze stawiają na przemian białe i czarne kamienie na przecięciach linii na planszy Celem jest zdobycie jak największego terytorium

3 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Zasady Go – c.d.

4 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Grupy martwe i żywe Grupa jest martwa, jeżeli niezależnie od postępowania gracza zostanie zbita Na końcu gry martwe grupy są usuwane z planszy Nie zawsze warto zbijać martwe grupy w trakcie gry W niektórych wersjach zasad pola, na których stoją kamienie gracza, nie są wliczane do sumy jego punktów – dlatego nie warto stawiać dodatkowych kamieni, żeby usunąć martwą grupę przeciwnika

5 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Przed rozpoczęciem gry - handicap Handicap – rozmieszczenie przez jednego z graczy kilku (od 2 do 9) kamieni na planszy przed rozpoczęciem gry Cel – wyrównanie szans, jeśli któryś z graczy jest dużo słabszy W niektórych wersjach zasad kamienie można rozmieścić dowolnie Zwykle umieszcza się je w wyznaczonych punktach na planszy

6 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Początek gry (fuseki)

7 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Joseki Standardowe sekwencje ruchów Rozgrywane zwykle w rogach planszy na początku gry Bazy joseki są wykorzystywane przez programy grające

8 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Grupy wiecznie żywe Jeśli grupa zawiera dwa oka (zamknięte puste obszary), nigdy nie będzie zbita

9 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Pół-oka Pół-oko - obszar, który może stać się okiem lub nie zależnie od tego, który gracz wykona pierwszy ruch

10 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Fałszywe oka Fałszywe oko – obszar pozornie otoczony przez jedną (koncepcyjnie) grupę, który nie będzie okiem

11 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Ko - przykład

12 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Ko – c.d. Nieskończona sekwencja bić w pojedynczym ko jest niedozwolona Jeśli czarny zagra w ko, biały musi w następnym ruchu zagrać w innym miejscu, najlepiej atakując i wymuszając obronę (ko threat) Ko zaburza lokalność gry Czarny może odpowiedzieć na ruch białego lub zignorować go (tenuki) i zakończyć ko

13 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Powtórzenia pozycji Jeśli pojawi się potrójne ko, gra może się toczyć w nieskończoność Zależnie od zasad Niedozwolone jest dopuszczenie do powtórzenia pozycji Niedozwolone jest dopuszczenie do powtórzenia sytuacji (ta sama pozycja i ruch gracza tego samego koloru) Powtórzenie pozycji oznacza remis Cykle dłuższe niż 2 są dozwolone

14 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Samobójstwa Ruch prowadzący do usunięcia z planszy własnych kamieni – zwykle niedozwolony

15 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Samobójstwa – c.d. W niektórych wersjach reguł samobójstwa są dozwolone, a wtedy mogą być opłacalnymi ruchami, np.:

16 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Schi-cho (drabiny) Powstają proste wzory geometryczne, bardzo łatwe do zauważenia i przewidzenia dla ludzi Stanowią duży problem dla programów grających

17 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Semeai Sytuacja, w której każda z dwóch grup musi zniszczyć drugą, żeby przeżyć:

18 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Seki Dwie żywe grupy mają wspólne liberties, których żadna z nich nie może wypełnić, bo oznaczałoby to jej śmierć – nierozstrzygalne semeai Według reguł japońskich, jeśli grupy tworzą seki, to otoczone przez nie terytorium nie jest wliczane do wyników obu graczy W innych wersjach reguł terytorium otoczone przez grupy będące w seki jest wliczane do wyniku

19 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Seki - przykład

20 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Jak oceniać sytuację? Należy zidentyfikować grupy, które w razie potrzeby można łatwo połączyć (łańcuchy) Dwa podejścia do oszacowania wyniku Obliczenie wielkości terytorium otoczonego przez każdego gracza po połączeniu grup. Pozostałą część planszy uznajemy za terytorium neutralne Uwzględnienie wpływów (moyo) graczy, czyli terytorium, które prawdopodobnie zajmą

21 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Końcówka gry Zasadniczo terytorium jest już podzielone Jeśli pola zajęte przez kamienie danego gracza są doliczane do sumy jego punktów, gracze starają się zająć pola neutralne (dame) Gra kończy się, kiedy obaj gracze kolejno pasują

22 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Koniec gry W niektórych wersjach reguł gracze muszą uzgodnić, które grupy są martwe, a które żywe Jeśli nie mogą się zgodzić, gra jest wznawiana do czasu wyjaśnienia sytuacji Przed obliczeniem wyniku martwe grupy są usuwane z planszy Czasem przed liczeniem punktów gracze przesuwają kamienie na planszy tak, żeby powstały ładniejsze (i łatwiejsze do obliczania) wzory

23 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Klasyfikacja graczy Od pierwszego do dziewiątego dan Tytuł dziesiątego dan można zdobyć w zawodach Osobna klasyfikacja dla amatorów i profesjonalistów Początkujący są klasyfikowani od trzydziestego do pierwszego kyu Numer kyu oznacza liczbę kamieni handicapu potrzebną do rozegrania wyrównanej gry z amatorem mającym pierwsze dan

24 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Klasyfikacja programów grających Programy grają w specyficzny sposób i nie są w stanie zmieniać taktyki Po kilku grach stają się przewidywalne dla człowieka, dlatego trudno ocenić poziom programu na podstawie większej liczby gier Zazwyczaj próbuje się ocenić program na podstawie kilku pierwszych gier z graczem, który nigdy wcześniej z nim nie grał

25 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Przykładowy program: GNU GO Program typu open-source Aktualnie wersja 3.6 Oceniany na 9 kyu

26 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go GNU Go – wybór ruchu Analiza pozycji Identyfikacja worms Analiza taktyczna Funkcja wpływu Identyfikacja dragons Analiza dragons Funkcja wpływu Detekcja punktów cięcia

27 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go GNU Go – wybór ruchu c.d. Generowanie ruchów (z uzasadnieniami) Obrona/atak worms Obrona/atak zagrożonych dragons Semeai Ruchy rozcinające Fuseki Kształty

28 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go GNU Go – wybór ruchu c.d. Generowanie ruchów (z uzasadnieniami) Ataki kombinowane Dobicie martwego powiększanego dragon (tylko przy przewadze) Kształty końca gry Ponowne rozważenie semeai Wypełnienie liberty

29 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go GNU Go – wybór ruchu c.d. Ocena ruchów Przegląd uzasadnień Ocena zysków terytorialnych Inne heurystyki (efekty strategiczne, łączenie grup etc.) Wybór najlepszego ruchu

30 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Worms i Dragons Worm – grupa kamieni w ścisłym sensie Dragon (łańcuch) – zbiór worms (grup), które według programu albo wszystkie zginą albo wszystkie przeżyją, więc powinny być traktowane jako całość

31 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Worms i Dragons c.d. Identyfikacja Dragons: Łączenie wszystkich worm otaczających zwarty obszar (eyespace) Łączenie nierozrywalnych worms – współdzialących 2 liberties lub jedną, której przeciwnik nie może zająć nie tracąc kamienia Wykorzystanie bazy wzorców połączeń i cięć

32 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Punkt cięcia Eyespace Wzorzec połączenia

33 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

34 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go GNU Go Oka, pół-oka i fałszywe oka GNU Go korzysta z pewnych koncepcji kombinatorycznej teorii gier Efektem jest możliwość uznania rozgrywki na każdej przestrzeni eyespace za lokalną grę, której wynikiem jest liczba ok

35 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go GNU Go Oka, pół-oka i fałszywe oka c.d. Reprezentacja: |- X - X X - - X O X O |X X X O O O |O X X X X - - X O O O |O O O O X - O X O O O |!... O O O O X X O |X O O X X X. ! X O O |X O O O O O O O X X O |- X X O - O X O - - X |X - - X - X X X X X X |O X X O X - X O O X O |. X. X X.. X O X O |X..... X X O O O |O X X X X.. X O O O |O O O O X. O X O O O |.... O O O O X X O |X O O X X X.. X O O |X O O O O O O O X X O |. X X O. O X O.. X |X.. X. X X X X X X |O X X O X. X O O X O !... XXX.! !...XXX.!

36 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go GNU Go Oka, pół-oka i fałszywe oka c.d. Można dowieść, że pół-oka są izomorficzne z (!.) a fałszywe oka z (!) Analiza w całości na podstawie bazy wzorców uzupełnionej o wykrywanie pewnej liczby szczególnych sytuacji – jeśli żaden wzorzec nie zostanie dopasowany to przypisywany jest wynik {2|2} Pojawienie się ko wymaga rozbudowania analizy

37 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go Eyespace

38 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

39 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

40 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go GNU Go Oka, pół-oka i fałszywe oka c.d. Główny problem tego uproszczonego podejścia: Wymóg ściśle określonej wielkości eyespace Rozwiązanie: Wprowadzenie wstępnej fazy analizy doprowadzającej do stabilnej pozycji Analiza drzewa gry z wykorzystaniem wzorców

41 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go GNU Go - wzorce Uniwersalne wzorce wykorzystywane są jako sugestie ruchów/identyfikacja kluczowych punktów w różnych modułach, m.in..: OWL (Optics with Limit Negotiation) do doprowadzenia do sytuacji ze stabilnymi eyespaces Generowaniu ataków kombinowanych Analizie semeai Propozycje poddawane zwykle dalszej analizie, rzadko akceptowane bezkrytycznie

42 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go GNU Go – wzorce c.d. Przykład wzorca: ?X?.? O.*oo O.... o :8,ed,NULL

43 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go GNU Go – wzorce c.d. Atrybuty wzorca: Dozwolone modyfikacje (osie symetrii) Dodatkowe ograniczenia Atrybuty akcji Funkcja pomocnicza (opcjonalnie)

44 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go GNU Go – wzorce c.d. Typowe ograniczenia: Zniesienie lub wzmocnienie wymogu dotyczącego bezpieczeństwa ruchu Wymogi dotycząca statusu dragons we wzorcu Typowe atrybuty akcji to motywy: Fuseki Joseki wraz z oznaczeniem pilności Obrona/atak Zwiększenie wpływów/terytorium

45 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go GNU Go – wzorce c.d. Wykorzystanie wzorców w OWL: W celu znalezienie pozycji stabilnej przeprowadzana jest analiza drzewa gry z wykorzystaniem jedynie ruchów sugerowanych przez wzorce i kluczowych ruchów analizy ok Oddzielna baza wzorców koryguje błędy popełniane przy analizie topologicznej eyespaces (bo nie uwzględnia ona np. liczby liberties zangażowanych grup)

46 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go GNU Go – funkcja wpływu Każdy żywy worm/dragon emituje z pewną siłą wpływ na sąsiednie pola Wpływ maleje wykładniczo z odległością Wpływ nie przenika przez żywe kamienie i nieprzerywalne połączenia Wzorce uzupełniają plansze o wirtualne źródła wpływu w miejscach potencjalnych ataków (puste obszary, punkty cięć) o kolorze zależnym od koloru, który ma wykonać ruch

47 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go GNU Go Funkcja wpływu c.d. Wartości funkcji wpływu wyznaczają dla danego gracza 3 obszary: Territory Moyo – terytorium i obszary, które stosunkowo łatwo zamienić w terytorium Area – całość terenów, na których kolor ma większe wpływy niż przeciwnik

48 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go GNU Go Funkcja wpływu - szczegóły Pozycjom na planszy przypisywana jestprzepuszczalności Domyślnie jest to 1 dla pustych grup, 0 dla żywych kamieni Wartości te są modyfikowane przez wzorce W przypadku emisji po przekątnej przepuszczalność przemnażana jest dodatkowo przez maksimum z przepuszczalności pozycji pomiędzy którymi przebiega przekątna

49 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go GNU Go Funkcja wpływu - szczegóły Przeliczenie wartości wpływu na szacunek prawdopodobieństwa zdobycia danego terenu: Pierwsze przybliżenie: Seria filtrów i poprawek – m.in. obcięcie do minimalnej wartości wszystkich sąsiadów

50 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go GNU Go Funkcja wpływu c.d. Wynik działania funkcji wpływu jest poddawany ocenie i modyfikowany przez moduł detekcji możliwych punktów ataku na terytorium Szczególne wykorzystania funkcji wpływu: Wyznaczanie ścieżek ucieczki dla potencjalnie zagrożonych dragons Ocena zysków terytorialnych z ruchu: Ocena jest różnica wartości uzyskanych dla pozycji przed wykonaniem ruchu i po W obu przypadkach obliczenia z założeniem kolejki przeciwnika

51 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

52 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

53 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

54 Wesołych Świąt!!! (I do zobaczenia w styczniu) Magda Kusiak Karol Walędzik


Pobierz ppt "Sztuczna inteligencja w Go Magda Kusiak Karol Walędzik."

Podobne prezentacje


Reklamy Google