1 / 54

Sztuczna inteligencja w Go

Sztuczna inteligencja w Go. Magda Kusiak Karol Walędzik. 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. Zasady Go – c.d.

isolde
Download Presentation

Sztuczna inteligencja w Go

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. Sztuczna inteligencja w Go Magda Kusiak Karol Walędzik

  2. 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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

  4. 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  5. 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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

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

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

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

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

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

  12. 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  13. 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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

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

  16. 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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

  18. 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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

  20. 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ą Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  21. 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ą Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  22. 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  23. 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  24. 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ł Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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

  26. 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  27. 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  28. 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  29. 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  30. 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ść Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  31. 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ęć Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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

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

  34. GNU GoOka, 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  35. GNU GoOka, 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.! Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  36. GNU GoOka, 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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

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

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

  40. GNU GoOka, 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  41. 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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

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

  44. 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  45. 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) Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  46. 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  47. GNU GoFunkcja 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  48. GNU GoFunkcja wpływu - szczegóły • Pozycjom na planszy przypisywana jest ‘przepuszczalnoś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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  49. GNU GoFunkcja 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

  50. GNU GoFunkcja 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 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

More Related