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



Podobne dokumenty
Algorytm Stentz a D. Przemysław Klęsk Katedra Metod Sztucznej Inteligencji i Matematyki Stosowanej

Planowanie drogi robota, algorytm A*

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

Elementy gry. 1 pionek neutralny. 2 znaczniki czasu (limonkowy i żółty) 5 specjalnych kawałków materiału

gra Chińczyk dla 6 osób

Podstawy OpenCL część 2

PyGame Gra w Ponga. Spis treści

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

SCENARIUSZ LEKCJI MATEMATYKI W KLASIE 1 GIMNAZJUM

Internetowe Ko³o M a t e m a t yc z n e

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

Budowa i generowanie planszy

Znajdowanie wyjścia z labiryntu

Instrukcja gry w Chińczyka

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

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

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

Krzywe na płaszczyźnie i w przestrzeni

Siły graczy: Czerwony: 3 postaci znaczne i 1 pospolita, albo 4 postaci znaczne

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

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

FINCH PONG. Realizator: Partner: Patronat:

Tworzenie gier na urządzenia mobilne

Cel gry. Elementy gry. Celem gry jest zdobycie na końcu rozgrywki największej ilości złota poprzez budowanie osad i rozbudowę swojego królestwa

35 żetonów Leukocyt, 35 żetonów Lekarstwa, 84 żetony Globinka, 30 żetonów Hemo, 4 detektory odpowiedzi, 4 karty przelicznik, instrukcja gry.

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

Pole wielokąta. Wejście. Wyjście. Przykład

WYŚCIG MATEMATYCZNY BIG. zawartość pudełka: 1) tabliczki - 96 szt. 2) pionek - 1 szt. 3) plansza 4) kostka 5) instrukcja INSTRUKCJA

Szachy - Samouczek. Maciek Nowak

Programowanie genetyczne, gra SNAKE

Podstawy Programowania (PRM) projekt Specyfikacja strukturalna (techniczna)

Propozycje tematów zadań

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

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

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

Układy Cyfrowe. Specyfikacja wstępna Zebranie informacji dotyczących tematyki projektu oraz przedstawienie koncepcji realizacji projektu.

Test na koniec nauki w klasie trzeciej gimnazjum

Przecięcia odcinków. Wykład /07

Automaty komórkowe. Katarzyna Sznajd-Weron

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

OGÓLNA CHARAKTERYSTYKA GRY PLANSZA

Załącznik do pisma nr DIP-I ERS/14 - uproszczona wizualizacja perspektywy

INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

Projekt Śnieżna wojna

Manfred Ludwig ELEMENTY GRY

#UczymyDzieciProgramować #ZadanieWprogramie

Zadanie 1: Piętnastka

Scenariusz lekcji Ozobot w klasie: Spacer losowy po układzie współrzędnych

QUIZ O ŚWIECIE INSTRUKCJA WARIANT I

Ćwiczenia z przetwarzania tablic 2D

Instrukcja. Jesteś przedstawicielem lokalnych władz. dla mieszkańca władz miasta prorodzinnego. Rozegraj miasto

ANALIZA ALGORYTMÓW. Analiza algorytmów polega między innymi na odpowiedzi na pytania:

CIĘŻKIE HIPOPOTAMY. uczenie się rozróżniania ciężarów. komunikacja (klasyfikacja ciężarów) umiejętności motoryczne (podnoszenie i ustawianie pionków)

HALMA HALMA SZYBKA HALMA KOLOROWA INSTRUKCJA

Projekty zaliczeniowe Podstawy Programowania 2012/2013

Wonder League Robotics Competition 2015

Wymagania na poszczególne oceny szkolne z. matematyki. dla uczniów klasy IIIa i IIIb. Gimnazjum im. Jana Pawła II w Mętowie. w roku szkolnym 2015/2016

Unity. Platforma do tworzenia gier dla różnych systemów docelowych, m.in.: Windows, macos, ios, Android, Powstała w 2005 r., obecnie wersja 5.3.

Dziennik laboratoryjny.

DZIAŁ 1. STATYSTYKA DZIAŁ 2. FUNKCJE

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

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

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

Wyznaczanie strategii w grach

Seminarium Zakładowe IDSS. Równoległe obliczenia metaheurystyczne z wykorzystaniem klastra obliczeniowego

Dziedziczenie. Zadanie 1

Generator Gier Planszowych

Agnieszka Kamińska, Dorota Ponczek. Matematyka na czasie Gimnazjum, klasa 3 Rozkład materiału i plan wynikowy

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

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

KONSPEKT JEDNOSTKI TRENINGOWEJ

Tworzenie gier na urządzenia mobilne

Algorytmy sztucznej inteligencji

I semestr WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA VI. Wymagania na ocenę dopuszczającą. Dział programu: Liczby naturalne

EGZAMIN ÓSMOKLASISTY od roku szkolnego 2018/2019

Algorytm genetyczny (genetic algorithm)-

Elementy gry: koło losujące. plansza. karty wiadomości karty wydarzeń. pionki akcji pionki graczy kostka. akcje firmy obuwniczej. akcje firmy meblowej

Pong to dwuwymiarowy symulator tenisa sportowego. Gracz, poruszając prostokątem symulującym paletkę, stara się zdobyć punkt poprzez posłanie piłki

EGZAMIN ÓSMOKLASISTY od roku szkolnego 2018/2019

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Pora na gry planszowe

Projekt Innowacyjny program nauczania matematyki dla liceów ogólnokształcących

Survival Team Zamenhofa 26/ Leszno

Bohaterowie Kaskarii

Ćwiczenia: Ukryte procesy Markowa lista 1 kierunek: matematyka, specjalność: analiza danych i modelowanie, studia II

Gra rodzinna dla 2-4 osób w wieku od 7 do 99 lat

Jednoznaczność rozkładu na czynniki pierwsze I

Przykładowe rozwiązania

x+h=10 zatem h=10-x gdzie x>0 i h>0

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.

Dla 2 do 6 graczy w wieku od 10 lat wzwyż

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Heurystyczne metody przeszukiwania

Misja#3. Robimy film animowany.

Gra dla 2-4 osób w wieku od 10 lat. Instrukcja filmowa dostępna na stronie:

GRY INSTRUKCJA. gry dla 2-4 osób rekomendowany wiek: od lat 4+

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

Regulamin konkursu robotyki edukacyjnej. MielecBot 2019

Transkrypt:

Metody SI w grach komputerowych Gra Policjanci i złodziej (Algorytmy przeszukiwania grafów) Przemysław Klęsk pklesk@wi.zut.edu.pl Katedra Metod Sztucznej Inteligencji i Matematyki Stosowanej

Reguły gry Policjanci i złodziej ilustracja gry P Z P P P P Na dwuwymiarowej planszy z kwadratową siatką pól mamy 1 złodzieja i 5 policjantów. Zadaniem policjantów jest złapać złodzieja. Zadaniem złodzieja jest jak najdłużej pozostać niezłapanym lub uciec poza planszę. Przemysław Klęsk (KMSIiMS, ZUT) 2 / 10

Reguły gry Szczegóły (1) 1 Plansza w ogólności n n. Domyślnie 20 20. 2 Możliwość poruszania się tylko w 4 kierunkach lub braku ruchu: {,,,, }. 3 Liczba policjantów może być parametrem. Domyślnie 5 policjantów. 4 W brzegach planszy znajdują się furtki. Parametry: liczba furtek (domyślnie 2) i szerokość furtki (domyślnie 2). 5 Trafienie złodzieja na dowolne pole furtki oznacza jego ucieczkę poza planszę (zwycięstwo złodzieja). 6 Na planszy znajdują się przeszkody prostokątne ściany. Parametry: liczba ścian (domyślnie 4), długość ściany (domyślnie 4). Każda ściana ma wymiary 1 długość ściany. Przeszkoda może być skierowana poziomo lub pionowo. 7 Zarówno furtki jak i przeszkody mogą poruszaćsię. Dla wszystkich furtek obowiązują 2 parametry: prawdopodbieństwo ruchu P FR, prawdopodbieństwo zmiany kierunku ruchu P FZ. Możliwe ruchy furtki: zgodny lub przeciwny do ruchu wskazówek zegara. Domyślnie: P FR = 0.5, P FZ = 0.01. Analogiczne parametry dla przeszkód, wynoszą domyślnie P SR = 0.75, P SZ = 0.05, przy czym ściany mogą poruszaćsię we wszystkich 4 kierunkach. Częstość zmian można kojarzyć z prędkościami. 8 Wykonywana będzie pętla t = 0, 1, 2,...,T 1 (dyskretny zegar). Można myśleć, że ruchy wykonywane są momentach przeskoków zegara. 9 Gracze muszą zaplanować k swoich ruchów, co k chwil zegarowych. Domyślnie k = 5. Obliczenia planujące ruchy muszę być wykonane w limicie czasowym =500 ms. Przemysław Klęsk (KMSIiMS, ZUT) 3 / 10

Reguły gry Szczegóły (2) 1 Ściany są dla siebie przezroczyste mogą nachodzić na siebie (przenikać się). 2 Furtki są dla siebie przezroczyste. 3 Ściany nie zmieniają swojej orientacji (pozioma, pionowa) w trakcie gry. 4 Ściany nie są przezroczyste dla graczy. Jeżeli jako decyzję gracz wybierze ruch, który skieruje go na pole zajęte przez ścianę, to ruch nie zostanie wykonany (tożsame z wykonaniem ruchu pustego ). 5 Ściany odbijająsię od brzegów planszy. 6 Ruchy wykonywane są jednocześnie przez wszystkie obiekty (gracze, furtki, ściany) wraz z przeskokami dyskretnego zegara, ale pierwszeństwo zajmowania pól mająściany i furtki. 7 Policjanci nie mogą wchodzić na pola furtki (czychać w furtce). 8 W rogach planszy, furtki o szerokości 2 pozwalają przedostaćsię tylko przez 1 swoje pole. 9 Złodziej jest uznany za złapanego jeżeli jego pozycja pokryje się z pozycją dowolnego policjanta. Przemysław Klęsk (KMSIiMS, ZUT) 4 / 10

Reguły gry Punktacja wypłaty w grze Wypłaty 1 Wypłata policjantów równa jest ujemnej wypłacie złodzieja. 2 Złodziej złapany w chwili t dostaje t punktów. 3 W szczególności: jeżeli pętla się wykona i złodziej nie zostanie złapany, to złodziej dostaje T punktów. 4 Jeżeli złodziej ucieka furtką w chwili t to otrzymuje 2T t 1 punktów. Ucieczka w ostatnim kroku (gdy t = T 1) jest równowarta przetrwaniu. Przemysław Klęsk (KMSIiMS, ZUT) 5 / 10

Implementacja Środowisko silnik wykonujący grę Algorytm 1 Inicjalizacja. Wylosuj bezkonfliktowo pozycje początkowe ścian i graczy. 2 Instancjonowanie graczy. Utwórz w pamięci obiekty dla złodzieja i policjantów. 3 Pierwsze wyświetlenie. Wyświetl początkowy stan gry na ekran. 4 Główna pętla. Dla t = 0, 1,...,T 1 wykonuj: 1 Przesunięcia furtek i ścian. Dla każdej furtki i ściany sprawdź, czy zaszło prawdopodobieństwo zmiany kierunku i/lub ruchu. Wykonaj odpowiednie ruchy. Zaniechaj ruchu ściany, jeżeli ta wchodzi na starą pozycję gracza. 2 Przesunięcia graczy. 1 Jeżeli t % k = 0, to: dla każdego gracza utwórz wątek opakowujący obiekt gracza; uruchom wątek z limitem czasu ; wwątku wykonaj na obiekcie metodę liczącą plany k ruchów; gdy upłynie czas, odbierz plany. 2 Przesuń graczy zgodnie z zaplanowanym ruchem. Jeżeli nowa pozycja gracza pokrywa się ześcianą, to zaniechaj ruchu. 3 Wyświetlenie. Wyświetl stan gry na ekran. 4 Sprawdzenie złapania. Jeżeli pozycja złodzieja pokrywa się z pozycją dowolnego policjanta, to przerwij pętlę złodziej jest złapany. 5 Sprawdzenie ucieczki. Jeżeli pozycja złodzieja pokrywa się z pozycją furtki, to przerwij pętlę ucieczka złodzieja. Przemysław Klęsk (KMSIiMS, ZUT) 6 / 10

Implementacja Świadomość graczy Gracze są świadomi nastaw wszystkich parametrów gry. Otrzymują je w momencie konstrukcji i mogą dokonać dowolnych obliczeń oraz inicjalizacji pomocniczych struktur danych bez limitu czasu. Gracze są świadomi stanów planszy w poszczególnych chwilach t. Informację ok ostatnich stanach gracze otrzymują od silnika środowiska w momencie tworzenia wątku opakowującego, tuż przed wykonaniem metody liczącej plany. Gracze we własnym zakresie mają prawo przechowywać historię stanów (np. żeby zaobserwować aktualny kierunek ruchów furtek/ścian), przy czym muszą to robić w ramach limitów czasu przeznaczonych na ruch. Przemysław Klęsk (KMSIiMS, ZUT) 7 / 10

Sugestie rozwiązania (SI) Sugestie rozwiązania (SI) Heurystyczny zmienny cel + algorytm A Wkażdym kroku wykonywać A wyznaczając trasę do pewnego docelowego pola. Pole powinno być wybrane w każdym kroku wg opracowanej przez siebie heurystyki (nie mylić z heurystyką w ramach A ). Złodziej powinien ocenić, czy atrakcyjniejszym w danej chwili polem docelowym jest furtka czy miejsce odległe od policjantów. Policjanci mogą ocenić czy należy zastawić furtkę czy osaczać złodzieja. Dobre rozwiązanie powinno też próbować przewidywać/odgadywać plany przeciwnika (jego docelowe pola). Przemysław Klęsk (KMSIiMS, ZUT) 8 / 10

Sugestie rozwiązania (SI) Sugestie rozwiązania (SI) Nagradzanie policjantów za lokalne rozproszenie. W przypadku osaczania złodzieja, warto, aby policjanci celowali w różne pola. Można też rozważyć zaburzanie ich ścieżek, gdy idą z podobnego kierunku, tak aby ścieżki nie pokrywały się kawałkami. Unikanie policjantów. Złodziej może starać się wyznaczać trasy omijające policjantów, poprzez potraktowanie ich pozycji jako przeszkód wraz z pewną otoczką (dobór promienia otoczki). Otoczkę wokół policjanta można potraktować jako miękką przeszkodę, zezwalając na przejście przez nią, ale większym kosztem (składnik g w A ). Można stopniować koszty w otoczce, obniżając w kierunku rosnącego promienia. Przemysław Klęsk (KMSIiMS, ZUT) 9 / 10

Sugestie rozwiązania (SI) Sugestie rozwiązania (SI) Cudze A. Gracze w ramach limitu czasu mogą wykonywać dodatkowe A dla hipotetycznych tras przeciwnika (odgadując ich cel) i np. patrzeć, czy trasy te mogą przeciąć lub przebiec blisko własnej. Szybkie struktury danych. W ramach algorytmu A warto zbiór Open oprócz kolejki priorytetowej przechować dodatkowo w formie mapy haszującej szybkie podmiany O(1) funkcji oceny i rodzica. Niestety włożenie po aktualizacji znów O(log 2 n). Przemysław Klęsk (KMSIiMS, ZUT) 10 / 10