Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Sztuczna inteligencja w Go

Podobne prezentacje


Prezentacja na temat: "Sztuczna inteligencja w Go"— 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 Prawdopodobnie najstarsza gra planszowa na świecie. Powstała ok lat temu w Chinach. Podobno jakiś cesarz wymyślił ją dla swojego syna, który potrzebował ćwiczeń koncentracji i logicznego myślenia. Go było grą arystokracji i stąd duży nacisk kładzie się do tej pory na zasady grzecznościowe i honorową grę. Ogólne zasady go są dosyć proste, ale jest sporo różnych wersji reguł, różniących się np. sposobem liczenia punktów, ale też innymi szczegółami Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

3 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go
Zasady Go – c.d. Liberty (oddech) – wolne pole sąsiadujące z pionkiem w pionie lub w poziomie (po przekątnej się nie liczy). Jeśli pionek nie ma żadnych liberties – zostaje zbity Grupa – kamienie tego samego koloru sąsiadujące ze sobą w pionie lub w poziomie. Liberties dla grup liczą się wspólnie, dlatego warto łączyć kamienie w grupy Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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 Problem horyzontu przeszukiwań 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 Handicap stosuje się w grach towarzyskich (na turniejach nie) Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

6 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go
Początek gry (fuseki) Grę zwykle rozpoczyna się w rogach planszy, bo mniej kamieni zużywa się, żeby otoczyć obszar na rogu niż w centrum. Jeśli kamień stoi w odległości 3 od obu brzegów, to przy optymalnej grze na pewno obroni cały róg. Często rozpoczyna się też grę w polu (4,4) i wtedy stosuje się joseki. Po zajęciu rogów gra zwykle rozwija się wzdłuż brzegów planszy, a najpóźniej zostaje opanowany środek Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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 Tu będzie pokaz Joseki Tutora Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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 Tu jeszcze coś o fałszywych okach – nowy slajd? Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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

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

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

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

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

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 Ruch po prawej stronie nie jest samobójstwem, bo usuwając ostatni oddech swojej grupy, czarny jednocześnie zabija grupę przeciwnika. Wtedy ginie tylko biała grupa, a czarna przeżywa. Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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.: Jeśli pojawi się ko to biały może poepłnić samobójstwo i wtedy będzie ko threat Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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 Drabina powstaje, kiedy jeden z graczy w kolejnych ruchach stawia grupę przeciwnika w atari. Jest to problem dla programów grających, bo nie są w stanie zauważyć formujących się wzorów i nie mogą przewidzieć rozwoju drabiny Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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

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

19 Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go
Seki - przykład Zaznaczone grupy są w seki. Miejsce ‘a’ to wspólna liberty, której żaden gracz nie może wypełnić, bo grupa byłaby martwa. Według reguł japońskich punkty zaznaczone na zielono nie będą doliczane do wyniku graczy Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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

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

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 Czasem gra jest wznawiana na nieco innych zasadach, np. jeśli każę komuś atakować martwą grupę to za każdy ruch daję mu więźnia Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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

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 Detekcja punktów cięcia Magdalena Kusiak, Karol Walędzik - Sztuczna inteligencja w Go

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Podobne prezentacje


Reklamy Google