Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Czyli gdzie gry łączą się z nauką. Jak w tytule: łączymy granie w gry z nauką, a konkretnie ze sztuczną inteligencją Różne rodzaje gier: komputerowe,

Podobne prezentacje


Prezentacja na temat: "Czyli gdzie gry łączą się z nauką. Jak w tytule: łączymy granie w gry z nauką, a konkretnie ze sztuczną inteligencją Różne rodzaje gier: komputerowe,"— Zapis prezentacji:

1 Czyli gdzie gry łączą się z nauką

2 Jak w tytule: łączymy granie w gry z nauką, a konkretnie ze sztuczną inteligencją Różne rodzaje gier: komputerowe, planszowe, matematyczne… Mądrzy ludzie wysyłają papery związane z tematem konferencji i prowadzą wykłady Zawody botów do gier (niestety, tylko komputerowych…) – o tym będziemy mówić Konferencja odbywa się co roku od 2005, na początku jako IEEE Symposium on Computational Intelligence and Games, od 2010 pod aktualną nazwą

3 The 2K BotPrize Competition (Unreal Tournament 2004) Simulated Car Racing Championship StarCraft Competition Physical Travelling Salesman Problem Ms Pac-Man vs Ghost Team Competition Ms Pac-Man Screen Capture Competition Mario AI Championship: Gameplay and Learning Tracks Mario AI Championship: Level Generation Track Mario AI Championship: Turing Test Track

4 Mario chodzi w lewo i w prawo, może skakać, biegać i strzelać ognistymi kulkami (tylko w stanie Fire) Są trzy stany Mario: Small, Big i Fire Przeszkody to dziury i potwory, dziury zabijają całkiem, potwory robią downgrade stanu Czas nie jest rzeczywisty – 25 razy na sekundę pytamy o aktualnie wciśniętą kombinację klawiszy

5 Mamy generator map, pod który podłączamy agenta Generator jest jawny, ale nie znamy seeda, który zostanie użyty podczas konkursu Wygrywa ten, kto przejdzie średnio największy dystans W przypadku remisu decydują kolejno: liczba zabitych potworów, liczba zebranych monet, czas w mariosekundach, czas działania aplikacji

6 Pomijając wszelkie bonusy (monety, punkty za zabite potwory itp.), szukamy najszybszej drogi, którą Mario może przejść i nie zginąć – zgodnie z podstawowym kryterium oceny, jakim jest liczba ukończonych poziomów Krok 1/3: odtwarzamy fizykę gry w kliencie, uwzględniając stan świata i ruch obiektów Choć fizyka jest w generatorze, chcemy ją oczyścić ze śmieci (np. funkcji odpowiedzialnych za wizualizację) oraz stworzyć model, który potrafi przewidzieć stan gry w przyszłości (np. po wykonaniu konkretnego ruchu)

7 Krok 2/3: implementacja algorytmu A* A* to prosty algorytm heurystyczny, który szuka najtańszej drogi od punktu startowego w grafie do pewnego punktu końcowego (jednego z wielu) W uproszczeniu: od wierzchołka startowego tworzymy krok po kroku ścieżkę, za każdym razem wybierając następny wierzchołek tak, by minimalizować sumę długości stworzonej dotychczas ścieżki i przewidywanej długości ścieżki do mety Jak jednak w Mario zdefiniować wierzchołki i krawędzie? Jak należy estymować odległość od mety?

8 Wierzchołek to aktualny stan świata: położenie i stan Mario, położenie potworów (i kierunek ich ruchu), klocków, monet itd. Wierzchołki sąsiadują, jeśli można przejść pomiędzy nimi w jednym kroku symulacji (patrz rys.)

9 A tak to wygląda w grze:

10 Ponieważ nie widzimy nic poza ekranem gry, planowanie dalej niż koniec tego ekranu mija się z celem – za wierzchołki końcowe przyjmujemy najdalsze widoczne wierzchołki Funkcja oczekiwanej drogi do celu jest prosta: zakładamy, że Mario pędzi do prawej krawędzi najszybciej, jak to możliwe (uwzględniamy przy tym jego aktualną prędkość) Krok 3/3: optymalizacja (konieczna, bo na ruch mamy tylko 40 ms) Jeśli nie mamy już czasu, zgłaszamy najlepszy ruch z tych, które dotąd sprawdziliśmy (nie jest kłopot, gdyż generator map nie tworzy ślepych zaułków)

11 Trochę łagodzimy zasady – mnożymy przewidywaną długość optymalnej ścieżki przez pewien współczynnik w > 1 (z badań wynika, że w 1,11 jest dobre) Ograniczamy liczenie tego samego wielokrotnie, gdy odkrywamy nowy fragment mapy – okazuje się, że najlepiej liczyć ścieżkę od nowa co drugą turę (planowanie od razu większej ilości ruchów doprowadza do wpadania na potwory lub straty dużej ilości czasu)

12 Definiowanie danger level dziur i przeciwników, ruchy bazujące na tym Czy skaczę? i Jak skaczę? Maszyna stanowa Drzewo wyrażeń badane algorytmami genetycznymi Baza: wirtualna maszyna ze stosem, algorytm genetyczny Uczenie się na ruchach ludzi (!) połączone z algorytmami znajdowania ścieżek, wykorzystujemy sieci neuronowe I było jeszcze trochę innych pomysłów, ale…

13 …i tak A* jeszcze w 2009 roku niszczył system:

14 W 2010 zaczęły pojawiać się inne, konkurencyjne rozwiązania, Baumgarten zaś nie wprowadzał do swojego znacznych poprawek Sieć neuronowa Siergieja Polikarpowa pokonała Baumgartena na konferencji WCCI, ale na CIG bezkonkurencyjny okazał się silnik REALM, stworzony przez Sławomira Bojarskiego i Clarea Batesa Idea: rule-based, do którego wprowadzamy algorytmy ewolucyjne Zaczynamy od zahardkodowanych danych, które stanowią nietykalną podstawę, potem szukamy coraz lepszych rozwiązań

15 Tworzymy generator map do gry – te mapy są później oceniane przez jury Mapa musi zawierać konkretną liczbę bloków, potworów itp. (zapobieganie zahardkodowanym mapom) – regułę ostatecznie nieco złagodzono, gdyż uczestnicy uznali, że trudno stworzyć ciekawą mapę przy takich ścisłych zasadach Ocena: sędzia dostaje dwie mapy i wybiera, która była bardziej funowa Aby było uczciwie, każdy sędzia ocenia każdą parę generatorów tyle samo razy

16 Tworzenie etapowe: podłoże -> wzgórza -> rury -> potwory - > klocki -> monety. W każdym etapie wprowadzamy zdarzenia, których prawdopodobieństwo ustalił autor (np. w pierwszym etapie: zacznij/zakończ przepaść, zmień wysokość gruntu)

17 Zgodnie z teorią pana Csikszentmihalyi, przyjemność gracza ma przepływać i zależy od trudności poziomu oraz umiejętności gracza. Idea algorytmu: mamy zbiór zbudowanych fragmentów mapy, które oceniamy, z najlepszych budujemy całość

18 Algorytm ewolucyjny z wykorzystaniem funkcji dopasowania oraz teorii mieszania trudnych i łatwych fragmentów w levelach Programowanie liniowe: na podstawie gry gracza tworzymy wektor z informacjami o nim, klasyfikując go i dostosowując do niego mapy

19 Przerobieni agenci z Gameplay Track W 2010 najlepszy REALM, w 2012 niejaki Vinay Sudha Ethiraj Niestety, brak dobrych paperów na temat

20 To teraz na YouTubea!

21 Zasady właściwie nie różnią się od standardowych gier – z tą różnicą, że gry toczone są bardzo szybko Choć wszystkie rasy są dozwolone, w dwóch ostatnich podium było zajęte przez boty grające Protossami Co więcej, dwa pierwsze miejsca należały do tych samych uczestników Crash bota oznacza porażkę W 2012 roku było 6 map – po trzy dla trzech i sześciu graczy Olbrzymia ilość gier – na każdej mapie każda możliwa kombinacja 10 botów grała ze sobą 15 razy (!), co daje 810 meczów na bota

22 BroodwarBotQ (4. miejsce): techniki probabilistyczne dla mikrozarządzania oraz ekonomii. Wykorzystuje model Bayesa utworzony na podstawie gier dobrych graczy, by odkryć strategię przeciwnika (i ją wykorzystać) oraz inny model Bayesa do mikrozarządzania. Choć wyszedł z grupy, w finale wygrał tylko 1 mecz z 30 Xelnaga (3. miejsce): prosty kod, bot nastawiony na wykonanie celu. Wykorzystuje bazę reguł

23 UAlbertaBot (2. miejsce): taktyka wywierania bardzo szybkiej i ciągłej presji na przeciwniku. Budowy są planowane i implementowane za pomocą heurystycznego przeszukiwania w głąb Skynet (1. miejsce): szybka analiza terenu, zaawansowane algorytmy budowania (budujemy na małej przestrzeni, ale tak, by jednostki mogły przejść pomiędzy budynkami), makrosystem zadań, który tworzy plan działania i na bieżąco go aktualizuje

24 Boty się gubią, kiedy dzieje się coś niespodziewanego (crashe) Częsta taktyka: zealot rush Praktycznie wszystkie boty specjalizują się w jednej rasie (jeden wyjątek), ale taktykę dostosowują do rasy przeciwnika… …choć podobno wychodzi im to marnie Jeden z botów (BotQ) aktywnie korzystał z zasobów przeciwników. Inny bot (BTHAI) stosował taktykę krycia się we wrogich bazach Boty nie umieją dokończyć prawie wygranej gry Boty mają problemy, gdy nie znają terenu

25 Boty nie współpracują, by wyeliminować wspólnego przeciwnika Wyniki botów często zależą od wielkości mapy (np. UAlbertaBot był lepszy na dużych mapach dzięki rozbudowanemu skautingowi) W 2012 roku żaden bot nie grał Zergami

26 : DeathMatch, czyli zbieramy jak najwięcej fragów w 10 minut Trzech uczestników: sędzia, gracz i bot Po meczu sędzia ocenia w skali 1-5 (1 – marny bot, 5 – prawdziwy człowiek) Gramy w real time, mapy w 3D, często zawierają hinty (np. tabliczka sygnalizująca, że warto używać snajperki) – te hinty usuwamy Mechanizm podpowiadania botom dobrej broni w danej sytuacji - usunięty

27 Wyniki takie sobie – w 2008 było pięciu sędziów, dwa boty ogłupiły dwóch z nich W 2009 każdy bot nabrał dokładnie jednego sędziego (co ciekawe, nie tego samego) Główne grzechy: zapominanie o przeciwnikach, nienaturalne przestoje, zbyt celne strzały, upartość Cechy ludzi: agresywność, reagowanie na sytuację, korzystanie ze specjalnej broni

28 SQLite Bot, zwycięzca 2009: bot wykorzystujący bazę danych w SQL-u do zapamiętywania wydarzeń Zapamiętywanie hotspotów – miejsc, w których działa się akcja Analiza mapy pod kątem mało widocznych miejsc – dobre do ucieczki z małym HP Unikanie powtarzania nieskutecznych akcji – jeśli nic się nie dzieje, zmieniamy strategię Aby nie być podejrzanym, czasami specjalnie pudłujemy

29 ICE, 2. miejsce : u podstawy maszyna stanowa Dwa stany: zbieranie itemów i walka System bodźców, które wywołują zmianę stanu (np. dostrzeżenie przeciwnika, zabicie przeciwnika) W trybie poszukiwawczym szukamy optymalnych ścieżek zbierania przedmiotów (algorytm A*) W trybie walki wybieramy jedną z siedmiu strategii na podstawie ustalonych reguł, tak samo wybieramy broń Umyślnie obniżamy trochę swoje umiejętności (celność strzałów)

30 ISC, 3. miejsce 2008: sieć neuronowa Dwa systemy uczenia się, na podstawie których określamy zachowanie i wybieramy broń Wprowadzenie losowości, by udawać ludzi (np. po trafieniu przez przeciwnika czekamy losową ilość czasu przed odwróceniem się i strzelamy też po losowym czasie) Uczymy się reguł, np. jeśli masz przewagę nad przeciwnikiem, to inicjuj walkę, nagrody za postępowanie zgodnie z nimi

31 W 2010 roku znaczna zmiana reguł – na serwer wchodzimy kiedy i jak chcemy Specjalna broń (przerobiony Link Gun), która ma dwa tryby działania: w trybie podstawowym zabijamy boty jednym strzałem, dostając 10 fragów, ale trafienie człowieka to nasza śmierć za -10, w trybie alternatywnym – na odwrót System bardzo wygodny – nie trzeba synchronizacji meczów, bez problemów z zamykaniem w pokojach itd. Ocena odbywa się poprzez strzelanie Link Gunem, bez czekania na werdykty

32 Oglądamy filmiki

33


Pobierz ppt "Czyli gdzie gry łączą się z nauką. Jak w tytule: łączymy granie w gry z nauką, a konkretnie ze sztuczną inteligencją Różne rodzaje gier: komputerowe,"

Podobne prezentacje


Reklamy Google