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



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

Propozycje tematów zadań

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

Instrukcja gry w Chińczyka

T Z A A R G I P F. Kris Burm. Deutsch... 3 English... 7 Français Italiano Nederlands Español Polski... 27

gra Chińczyk dla 6 osób

(12) OPIS OCHRONNY PRZEMYSŁOWEGO

Matematyczne kolorowanki. Tomasz Szemberg. Wykład dla studentów IM UP Kraków, 18 maja 2016

Magiczny ogródek INSTRUKCJA GRA DLA 2 OSÓB WIEK DZIECKA 4+

Pora na gry planszowe

Gra planszowa dla 2 5 graczy w wieku powyżej 4 lat

Pasterze. Elementy gry. Przygotowanie rozgrywki. Cel. Tura. 1 Pasterze

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

REGULAMIN I MIĘDZYKLASOWEGO TURNIEJU W SCRABBLE 2016/2017

QUIZ O ŚWIECIE INSTRUKCJA WARIANT I

Regionalne Koło Matematyczne

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

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

ZASADY GRY: COERCEO. Language: English / Polski

Projekt zaliczeniowy gra PENTAGO

METODY SZTUCZNEJ INTELIGENCJI 2 Opis projektu

HALMA HALMA SZYBKA HALMA KOLOROWA INSTRUKCJA

Metody SI w grach komputerowych Gra Policjanci i złodziej (Algorytmy przeszukiwania grafów)

Adam Meissner. SZTUCZNA INTELIGENCJA Gry dwuosobowe

REGUŁY ATARI GO. Z przykładami, zadaniami i odpowiedziami.

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

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

Na poniższym rysunku widać fragment planszy. Pozycja pionka jest oznaczona przez. Pola, na które może dojść (w jednym ruchu), oznaczone są.

Działania uczniów klasy 3a wg Scenariusza zajęć edukacyjnych z matematyki Wykorzystanie w edukacji matematycznej własnej gry planszowej

2 gry planszowe. rekomendowany wiek: od lat 4 dla 2 4 osób

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

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

INSTRUKCJA. gra edukacyjna dla 2 6 graczy rekomendowany wiek: od lat 10 WARIANT I

Teoria gier. Katarzyna Koman Maria Koman. Politechnika Gdaoska Wydział Fizyki Technicznej i Matematyki Stosowanej

Runda 5: zmiana planszy: < < i 6 rzutów.

Tworzywo. 4 karty do zapisywania wyników 1 karta rundowa 4 pisaki

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

QUIZ BIG WSZECHSWIAT. gra edukacyjna dla 2 4 osób. rekomendowany wiek: od lat 10

Algorytmy dla gier dwuosobowych

Cel gry: Gracze starają się ułożyć słowa z takimi literami i na takich polach planszy, które pozwolą zdobyć jak największą liczbę punktów.

Gra logiczna dla 2 5 osób Czas rozgrywki około 45 minut Wiek od 7 lat

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

Przed rozpoczęciem gry należy połączyć elementy tego samego koloru. Powstaną 4 ramki ze stacjami. 60 kafelków torów. 4 ramki ze stacjami

Bukiet INSTRUKCJA. autor: Wouter van Strien projekt gra czny: Przemysław Fornal

TRI DOM. Gra zawiera następujące elementy:

WYPRAWA Z MARTYNĄ WOJCIECHOWSKĄ

Zasady gry CEL GRY. ZAWARTOsc

INSTRUKCJA. gra edukacyjna dla 2 3 graczy rekomendowany wiek: od lat 10 WARIANT I

Modelowanie wieloskalowe. Automaty Komórkowe - podstawy

Instrukcja obsługi programu

ELEMENTY GRY CEL GRY. 56 kart akcji (po 2 karty o wartości 1-7 w każdym kolorze) 50 kart zadań

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

(12) OPI S OCHRONN Y WZORU PRZEMYSŁOWEGO

ELEMENTY GRY CEL GRY I I. 32 karty ruchu. 27 kart celów. 9 elementów totemu

ELEMENTY GRY. 6 pionków, po jednym dla każdego gracza. Plansza. 6 zestawów kart (13 kart w każdym zestawie), po jednym dla każdego gracza

Zadanie 1: Piętnastka

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

Reguły gry. Zawartość pudełka:

ZASADY GRY. Jeśli jako pierwszy pozbędziesz się wszystkich kart, które masz w ręce to jesteś zwycięzcą.

QUIZ PRZYRODA I GEOGRAFIA POLSKI

Złożoność obliczeniowa zadania, zestaw 2

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

AGENCI KARTY agenci 2013_ _v1.indd 8

INSTRUKCJA. gra edukacyjna dla 3 osób - od 8 lat

Zawartość pudełka. 72 sześciokątne, czterokolorowe kafelki 8 tekturowych znaczników służących do liczenia rund gry instrukcja

Optymalizacja. Przeszukiwanie lokalne

Szachy, backgammon (tryktrak) i warcaby

Podstawowe zasady gry w szachy. Ustawienie bierek na szachownicy w pozycji wyjściowej.

BEZPIECZNE DZIECKO- PRZYJACIEL SZNUPKA DLA KLASY VI. CEL GŁÓWNY: Nabywanie umiejętności wyboru zachowań promujących zdrowie.

Kim jestem? Skąd pochodzę? lekcja powtórzeniowa

Szczegółowy Opis Przedmiotu Zamówienia

Szukając nazwy pola zaczynamy od litery strzałki pionowe potem dopisujemy cyfry strzałki poziome

ELEMENTY GRY CEL GRY

Odmiany Gry. Rozpoczęcie gry

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

Dziennik laboratoryjny.

Partition Search i gry z niezupełną informacją

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

ELEMENTY GRY. 72 karty pokoi (6 rodzajów po 12 kart) 4 karty startowe. 4 karty zmiany punktacji 4 dodatkowe karty zmiany punktacji.

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

#UczymyDzieciProgramować #ZadanieWprogramie

Autorzy: Heinrich Glumpler i Matthias Schmitt

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

idream instrukcja do gry klasowej z rankingiem

DOOKOŁA ŚWIATA Z MARTYNĄ WOJCIECHOWSKĄ

ZASADY GRY. Zawartość:

Mateusz Żyliński Tadeusz Włodarkiewicz. WireWorld. Zebranie informacji dotyczących tematyki projektu oraz przedstawienie koncepcji realizacji projektu

INSTRUKCJA min


Algorytmy i struktury danych

Planowanie drogi robota, algorytm A*

XXII Konferencja SNM. Porozmawiajmy o walorach dydaktycznych SET Game

INSTRUKCJA. Zdobyte punkty gracz zaznacza na torze punktów (na swojej planszy gospodarstwa). Przesuwa do przodu pionek o tyle pól, ile zdobył punktów.

Wyniki (prawie)końcowe - Elektroniczne warcaby

rekomendowany wiek: od lat 5 dla 2 4 osób

Mini komputer Papy'ego

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

Temat: Moja miejscowość, mój dom. - scenariusz zajęć z elementami kodowania

ZASADY GRY. 2 4 graczy / 20 minut

DODAWANIE I ODEJMOWANIE

Transkrypt:

Sztuczna Inteligencja, Semestr trzeci, Kierunek Informatyka, Wydział Informatyki i Zarządzania, Politechnika Poznańska ATOLL Wykonali: Aleksandra Kuchta, WFT, PP, nr 76690, rok IV Łukasz Wójcik, WIiZ, PP, nr 84908, rok II

Plan sprawozdania: 1. Strona tytułowa 2. Opis gry 3. Implementacja 3.1. Reprezentacja stanu gry 3.2. Generacja ruchów dopuszczalnych 3.3. Metody przeszukiwania przestrzeni stanów gry - algorytmy grające 3.4. Funkcja oceny heurystycznej stanu gry 4. Testy wydajności i porównania algorytmów 5. Wnioski, uwagi i podsumowanie

2. Opis gry. Autorem gry, jej zasad i planszy jaką wykorzystaliśmy w implementacji jest Mark Steere. Il.1. Zdjęcia autora Marka Steere a. Jak utrzymuje autor pierwowzorem gry jest Hex, znana gra planszowa. Stanowi ona pewien szczególny przypadek opisywanej przez nas gry. Różni się planszą i zasadą podmiany za kamień przeciwnika zamiast ruchu na wolne pole (zasada ta nie występuje w grze Atoll). O ile historia gry Atoll nie jest zbyt długa i barwna (wymyślono ją w styczniu 2008 roku), to Hex ma za sobą wieloletnią tradycję. W 1942 roku, jak podaje Wikipedia, wynalazł ją Piet Hein rozważając zagadnienie czterech barw. Dotyczyło ono hipotezy, mówiącej o tym, że mapę można pokolorować jedynie 4 kolorami tak, aby granica między państwami nie oddzielała pól o tej samej barwie. Została wprowadzona w Instytucie Nielsa Bohra. Podobno równocześnie grę wymyślił wybitny matematyk i laureat nagrody Nobla John Nash. Historia głosi, że na uniwersytecie w Princeton (gdzie wykładał J. Nash), studenci grywali w nią na heksagonalnych kafelkach na terenie uczelni.

Il. 2. Gra planszowa Hex, na której wzorował się autor projektując grę Atoll Zasady gry którą się zajęliśmy są jasne i proste. Została ona zaprojektowana dla 2 osób. Gra się na planszy, którą stanowi siatka składająca się z heksagonalnych pół. Warianty plansz są różne, my opracowaliśmy planszę w kształcie sześciokąta. Na obrzeżach znajdują się pokolorowane pola (tak samo jak pionki-kamienie, które będziemy stawiać).

Il. 3. Różne warianty planszy gry Atoll. My zaimplementowaliśmy wersję widoczną na ilustracji trzeciej po lewej stronie u dołu. Grę zaczyna gracz posiadający pionki czarne. Musi on postawić jeden kamień na planszy, na wolnym polu. Nie ma możliwości odmowy ruchu. Po tym ruchu pora na gracza białego, który postępuje podobnie jak gracz czarny. Celem gry jest połączenie 2 przeciwległych wysp łańcuchem swoich pionków. Można do tego wykorzystać obrzeża planszy. W uogólnionej wersji plansza może mieć kształt dowolnej figury, na której przeciwległych krańcach będą znajdować się pionki tego samego koloru. Mimo, że nie wolno nam zmieniać zasad gry uznaliśmy, że kolor jest jedynie wartością estetyczną i pozwoliliśmy na małą zmianę. Stawiamy pionki czerwone (w zasadach czarne) i beżowe. Mamy nadzieje, że autor nie ma nic przeciwko. 3. Implementacja 3.1 Reprezentacja stanu gry Plansza reprezentowana jest jako wektor 73 pól, z których każde posiada informacje o tym do którego należy gracza oraz z którymi polami sąsiaduje. pion jest reprezentowany przez zmienną 'kto' w klasie pole 0 oznacza puste pole, 1 gracza czerwonego, 2 gracza białego. przykład planszy i jej reprezentacja w pamięci:

plansza[0] { kto = 1; sasiedzi {1, 2, 61, 73}} plansza[1] { kto = 2; sasiedzi {0, 3, 4, 7, 73}} plansza[2] { kto = 0; sasiedzi {0, 4, 5, 8, 61}} plansza[3] { kto = 1; sasiedzi {1, 6, 7, 11, 72, 73}} plansza[4] { kto = 0; sasiedzi {0, 1, 2, 7, 8, 12}} plansza[5] { kto = 0; sasiedzi{2, 8, 9, 13, 61, 62}} itd. 3.2 Generacja ruchów dopuszczalnych Możliwe ruchy pamiętane są na liście. W grze nie występują żadne ruchy poza dostawianiem nowych pionów. Dostawienie pionu powoduje usunięcie z listy możliwych ruchów numeru pola, na które postawiono pion. Lista wolnych pól jest mieszana przy każdym wywołaniu algorytmu Alfa-Beta lu Alfa-Beta FS Zastosowano także randomizację poprzez 60 krotne losowanie dwóch pozycji na liście i zamianę ich. 3.3 Metody przeszukiwania przestrzeni stanów gry - algorytmy grające W grze zastosowano następujące algorytmy: algorytm AlfaBeta algorytm AlfaBeta z iteracyjnym pogłębianiem. 3.4 Funkcja oceny heurystycznej stanu gry Zastosowana funkcja heurystyczna jest funkcją odległościową. Obliczane są najkrótsze odległości pomiędzy przeciwległymi wyspami przy założeniu, że odległość do sąsiada o kolorze gracza wynosi 0, do pustego pola 1, a do pola przeciwnika nieskończoność. Wartością zwracaną przez funkcję jest 10 - (minimalna liczba ruchów gracza do wygranej) pomniejszone o 2*(10-minimalna liczba ruchów gracza przeciwnego) Funkcja domyślnie zwraca wartości z przedziału (-20, 10) Wady: przy odpowiednim rozstawieniu pionków (tak, że 2 pionki tego samego gracza będą miały dwóch wspólnych sąsiadów [układ kilku takich sytuacji]) algorytm może nie wychwycić, że jest już na przegranej pozycji. Zalety: dzięki składowej (2*10-min. gracza przeciwnego) algorytm gra w sposób bezpieczniejszy na pierwszym miejscu stawia blokowanie przeciwnika, a dopiero potem atakuje. Opis funkcji : min1 = min(drogi gracza1) min2 = min(drogi gracza2) Ocena = (10 min1) 2*(10-min2)

4. Testy wydajności i porównania algorytmów 450000 400000 350000 300000 250000 200000 150000 100000 50000 0 1,5 2 2,5 3 3,5 4 4,5 5 5,5 AlfaBeta Iteracyjne AlfaBeta Iteracyjne 2 324 372 3 6547 4760 4 30918 22693 5 404293 305549 Jak widać, algorytm z iteracyjnym pogłębianiem wypadł nieco lepiej od czystej AlfaBety. Nie wpływa jednak znacząco na przeszukiwaną przestrzeń, przez co niemożliwe jest zwiększenie głębokości przeszukiwania w sensownym czasie. 5. Wnioski, uwagi i podsumowanie Z uwagi na cechy gry łatwo można zauważyć, że przestrzeń zmienia się w trakcie rozgrywki w sposób stały, niezależnie od przebiegu rozgrywki. Odcięcia, które mogą powstać są bardzo trudne do przewidzenia z uwagi na randomizację ruchów w każdym wywołaniu algorytmu. Metoda z iteracyjnym pogłębianiem okazała się lepsza, dzięki niej powstało więcej odcięć w trakcie działania alfa-bety. Wygrana z komputerem nie sprawia większych trudności, wystarczy stawiać pionki tak, aby miały wspólnych 2 sąsiadów. Nie udało się dostosować funkcji oceny heurystycznej tak, aby wychwytywała takie sytuacje. W grze nie ma prawa wystąpić cykl. Remis ogłaszany jest jedynie w przypadku, gdy żaden z graczy nie będzie miał możliwości wygrania gry. Funkcja oceny z pewnością może zostać ulepszona. Szansą na jej poprawę mogłoby być znalezienie sposobu na wyeliminowanie przypadków gdy przeciwnik stawia pionki w sposób opisany powyżej. Można ograniczyć też randomizację jedynie do pierwszego wywołania algorytmu, kosztem jednak naturalnej gry algorytmu. Komputer grałby wtedy bardziej schematycznie. W trakcie wykonywania gry nie wystąpiły większe problemy natury implementacyjnej, wszystkie drobne błędy spowodowane były słabą znajomością języka C#.