promotor: dr inż. leszek koszałka autor: markuszewski kamil 171016
DESCRIPTION
Promotor: dr inż. Leszek Koszałka Autor: Markuszewski Kamil 171016. Analiza porównawcza wybranych metod sztucznej inteligencji w komputerowych grach strategicznych Comparative analysis of artificial iteligece methods applied to strategy games. Cele. Wybór problemów do analizy - PowerPoint PPT PresentationTRANSCRIPT
Analiza porównawcza wybranych metod sztucznej inteligencji w komputerowych grach
strategicznych
Comparative analysis of artificial iteligece methods applied to strategy games
Promotor: dr inż. Leszek Koszałka Autor: Markuszewski Kamil 171016
Cele• Wybór problemów do analizy• Implementacja rozwiązań• Propozycja własnych modyfikacji• Porównanie rozwiązań, efektywności algorytmów• Stworzenie prostej gry strategicznej
Sztuczna inteligencja• Co postanowiłem poruszyć:
• Ograniczony stan wiedzy • Uwzględnienie w grafach ograniczonej wiedzy
• Szukanie ścieżki• Przekształcanie siatki na graf (różne metody)• Algorytm A* i jego modyfikacje• Najkrótsza droga (różna wydajność)
• Logika rozmyta i Automaty stanów skończonych • Cele i ocena stanu „agentów” • Nasłuchiwanie, a komunikaty
Kryteria analizy rozwiązań• Czas działania • Wpływ na skomplikowanie gry• Wpływ na realizm
Plansza gry• Rozgrywka na w 2 wymiarowej przestrzeni, na kwadratowej
siatce• Siatka jest rozmiaru 40x40 pól• W celu przeszukiwania drogi siatka odwzorowywana jest na
graf
Ograniczony stan wiedzy• Gracz i SI widzi tylko określoną część mapy - realizm• Pozostała część mapy pokryta jest tak zwaną „mgłą wojny”• Wpływ na przeszukiwanie drogie:
– Częste generowanie grafu– Częste dodawanie wierzchołków– Mniejszy graf – prostsze przeszukiwanie
Reprezentacja poprzez graf• Operacje na siatce
– Brak oddzielnych algorytmów generowania grafu!– Spójne obliczenia– Nieefektywne przeszukiwanie drogi
• Macierz sąsiedzctwa– Tablica (V-1)x(V-1) (opisuje relacje wszystkich wierzchołków)– Dużo pamięci– Łatwe dodawanie i usuwanie krawędzi
• Lista sąsiedzctwa– Przetrzymuje wszystkie krawędzie– Nieefektywne w przypadku grafu z wieloma krawędziami
Reprezentacja poprzez graf
Algorytmy wyszukiwania drogi• Algorytm Bellmana-Forda i Algorytm Dijkstry
– Przeszukują cały graf– Nie uwzględniają kierunku– Dobre dla nieregularnych grafów
• Algorytm A*– Uwzględnia kierunek!– Bardzo dobry dla regularnych grafów (np. siatki)– Opiera się na heurystycznym
• Algorytm A* z modyfikacjami– Wygładzanie drogi
Pierwsze wyniki pomiarów• „Rzadki” graf – mało połączeń
• „Gęsty” graf – dużo połączeń
Logika rozmyta gracza SI• Gracz sterowany przez SI określa swoje cele przez logikę
rozmytą• Stany zmieniane są przez nasłuchiwanie o zmianach lub
komunikaty• Obiekty należące do gracza posiadają osobny zestaw stanów
• Implementacja kolejki komunikatów• Przy nasłuchiwaniu co klatkę widoczne opóźnienia
Podsumowanie metodMetoda Czas działania Wpływ na realizm Wpływ na
skomplikowanieTrudność implementacji
Mgła wojny Ma wady i zalety Duży Duży Średna
Operacje na siatce Długi Brak Brak Łatwa
Macierz sąsiedzctwa Krótki Brak Brak Średna
Lista sąsiedzctwa Długi Brak Brak Średna
Algorytm A* Krótki Duży Brak Trudna
Algorytm Bellmana-Forda Długi Mały Brak Łatwa
Algorytm Djikstry Krótki Mały Brak Łatwa
Logika oparta na nasłuchiwaniu
Długi Duży Duży Łatwa
Logika oparta na komunikatach
Krótki Duży Duży Trudna
Bibliografia: SI w grach• Perełki programowania gier. Vademecum profesjonalisty. Dante Treglia, Mark
DeLoura. Tom 1.
• http://aigamedev.com/– Forum, artykuły, gotowe rozwiązania (ang.)
• http://www.gameai.com/ – Lista dyskusyjna, zbiór publikacji (ang.)
• Grafy, drzewa, algorytmy genetyczne– Algorytmy i struktury danych - Alfred V. Aho, John E. Hopcroft, Jeffrey D.
Ullman
Bibliografia: Unity 3d• Unity 3D Game Development by Example Beginner's Guide - Ryan Creighton
(ang.)• Unity Game Development Essentials - Will Goldstone (ang.)
• unity3d.com/ Unity: Game Development Tool (ang.)• unity3d.com/support/documentation/ScriptReference/index.html (ang.)• unity3d.com/support/documentation/Manual/index.html (ang.)