Promotor: dr inż. Leszek Koszałka Autor: Markuszewski Kamil 171016

14
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

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 Presentation

Transcript of Promotor: dr inż. Leszek Koszałka Autor: Markuszewski Kamil 171016

Page 1: 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

Promotor: dr inż. Leszek Koszałka Autor: Markuszewski Kamil 171016

Page 2: 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

Page 3: Promotor: dr inż. Leszek Koszałka  Autor: Markuszewski Kamil 171016

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

Page 4: Promotor: dr inż. Leszek Koszałka  Autor: Markuszewski Kamil 171016

Kryteria analizy rozwiązań• Czas działania • Wpływ na skomplikowanie gry• Wpływ na realizm

Page 5: Promotor: dr inż. Leszek Koszałka  Autor: Markuszewski Kamil 171016

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

Page 6: Promotor: dr inż. Leszek Koszałka  Autor: Markuszewski Kamil 171016

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

Page 7: Promotor: dr inż. Leszek Koszałka  Autor: Markuszewski Kamil 171016

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

Page 8: Promotor: dr inż. Leszek Koszałka  Autor: Markuszewski Kamil 171016

Reprezentacja poprzez graf

Page 9: Promotor: dr inż. Leszek Koszałka  Autor: Markuszewski Kamil 171016

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

Page 10: Promotor: dr inż. Leszek Koszałka  Autor: Markuszewski Kamil 171016

Pierwsze wyniki pomiarów• „Rzadki” graf – mało połączeń

• „Gęsty” graf – dużo połączeń

Page 11: Promotor: dr inż. Leszek Koszałka  Autor: Markuszewski Kamil 171016

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

Page 12: Promotor: dr inż. Leszek Koszałka  Autor: Markuszewski Kamil 171016

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

Page 13: Promotor: dr inż. Leszek Koszałka  Autor: Markuszewski Kamil 171016

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

Page 14: Promotor: dr inż. Leszek Koszałka  Autor: Markuszewski Kamil 171016

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.)