53
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji Michał Słapa

Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

  • Upload
    thina

  • View
    87

  • Download
    0

Embed Size (px)

DESCRIPTION

Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji. Michał Słapa. Michał Słapa o mnie. CD Projekt Red (2006-2009) Wiedźmin. Michał Słapa o mnie. CD Projekt Red (2006-2009) Wiedźmin Prototyp Wiedźmina 2. Michał Słapa o mnie. CD Projekt Red (2006-2009) Wiedźmin - PowerPoint PPT Presentation

Citation preview

Page 1: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej

Inteligencji

Michał Słapa

Page 2: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

2 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Michał SłapaMichał Słapao mnieo mnie

CD Projekt Red (2006-2009) Wiedźmin

Page 3: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

3 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Michał SłapaMichał Słapao mnieo mnie

CD Projekt Red (2006-2009) Wiedźmin Prototyp Wiedźmina 2

Page 4: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

4 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Michał SłapaMichał Słapao mnieo mnie

CD Projekt Red (2006-2009) Wiedźmin Prototyp Wiedźmina 2

Flying Wild Hog (od 2009-VII 2012) Hard Reset

Page 5: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

5 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Michał SłapaMichał Słapao mnieo mnie

CD Projekt Red (2006-2009) Wiedźmin Prototyp Wiedźmina 2

Flying Wild Hog (od 2009-VII 2012) Hard Reset Kolejny projekt

Page 6: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

6 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Michał SłapaMichał Słapao mnieo mnie

CD Projekt Red (2006-2009) Wiedźmin Prototyp Wiedźmina 2

Flying Wild Hog (od 2009-VII 2012) Hard Reset Kolejny projekt

CD Projekt Red (od lipca 2012)  Dark fantasy RPG

Page 7: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

7 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Gry komputeroweGry komputeroweWprowadzenieWprowadzenie

Stale rozwijająca i przyśpieszająca branża „elektronicznej rozrywki”.

Dzięki coraz to nowym platformom do gier, branża staje się coraz bardziej różnorodna i spolaryzowana: Wielkobudżetowe gry AAA. Tańsze gry „mainstream’owe” Niskobudżetowe tytuły „indie” Social gaming Massive Multiplayer Free to play Gry casual Gry na platformy mobilne – telefony, tablety

Miejsce zarówno dla dużych korporacji, prywatnych developerów, ale też kilkuosobowych zespołów.

Page 8: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

8 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Gry komputeroweGry komputeroweWprowadzenieWprowadzenie

Page 9: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

9 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Gry komputeroweGry komputeroweWprowadzenieWprowadzenie

Programiści stanowią proporcjonalnie niewielką część zespołu: Artyści Design QA Produkcja Programiści

Stały kontakt z ludźmi z różnych specjalizacji. Mniej lub bardziej technicznymi, mniej lub bardziej artystycznymi, ale zawsze fanami gier.

Przy pracy nad AI programista musi stale i blisko współpracować z Designem. W zależności od specyfiki firmy: Odpowiada za serce systemu, bądź też implementację

konkretnych zachowań i przeciwników. Ma mniej lub więcej swobody w tworzeniu zachowań.

Page 10: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

10 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Plan prezentacjiPlan prezentacji

Projektowanie systemu AI Charakterystyka Skończonych Maszyn Stanów. Hierarchiczne Drzewa Zachowań. Wnioski

Page 11: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

11 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

AI marzeńAI marzeńdla programistydla programisty

Prosta, spójna i logiczna struktura Skalowalność:

Systemu Zachowań

Możliwość jednoczesnej realizacji wysoko poziomowego procesu decyzyjnego i niskopoziomowego sterowania

Atomowe, hermetyczne akcje Łatwy reuse kodu Wydajność

Page 12: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

12 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

AI marzeńAI marzeńdla designeradla designera

Prosta, spójna i logiczna struktura Łatwy w projektowaniu Łatwy w skryptowaniu Przewidywalne działanie Konfiguracja

Page 13: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

13 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Zabieramy się za AIZabieramy się za AIZagrożeniaZagrożenia

Róbmy AI wcześnie, inaczej skończymy w sytuacji gdy wiele systemów, które powinno na nim bazować będzie zrobione "obok".

Róbmy JEDEN system AI obejmujący wszystkie mechanizmy decyzyjne.

Design czasem chce AI, które już zaprojektował. Nie dajmy narzucać sobie rozwiązań systemowych.

Nie próbujmy być zbyt sprytni (przerost autonomii). Nie bójmy się sprytnych rozwiązań (unikajmy

łopatologii).

Page 14: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

14 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Zabieramy się za AIZabieramy się za AI„Atom” AI Zachowanie/Stan/Zadanie„Atom” AI Zachowanie/Stan/Zadanie

Może byc bezstanowy, lub miec wewnętrzny stan Definiuje metody:

Aktywacji Deaktywacji Update Odpowiedź na zdarzenia + i dużo innych

Systemy AI o jakich będziemy mówić różnią się mechanizmami łączenia i zarządzania tymi atomami.

Page 15: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

15 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Maszyna stanówMaszyna stanówIdeaIdea

Swojego czasu najpopularniejsza struktura systemu sztucznej inteligencji.

Atomowe zachowania AI implementowane są przez stany maszyny.

Pomiędzy stanami definiowane są skierowane przejścia i ich warunki.

Page 16: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

16 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Maszyna stanówMaszyna stanów

Page 17: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

17 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Maszyna stanówMaszyna stanów

Dodajmy do gry efekt czaru „Strach”.

Page 18: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

18 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Maszyna stanówMaszyna stanów

Dodajmy nowy wierzchołek

Page 19: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

19 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Maszyna stanówMaszyna stanów

Albo całą funkcjonalność…

Page 20: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

20 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Maszyna stanówMaszyna stanówDla designeraDla designera

Zalety Czytelny Łatwy w projektowaniu Łatwy w skryptowaniu Przewidywalne działanie

Wady Jak to się komplikuje... (kwadratowy rząd ilości połączeń do

wielkości grafu)

Page 21: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

21 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Maszyna stanówMaszyna stanówDla programistyDla programisty

Zalety Prostota, spójna i logiczna struktura

Wady NIE- Atomowe stany NIE- Hermetyczne stany CIĘŻKI reuse kodu BRAK Skalowalności

Page 22: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

22 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Maszyna stanówMaszyna stanówGrzech głównyGrzech główny

Płaska struktura

AI zaimplementowane na zadanym poziomie. Problem z zaimplementowaniem

wysokopoziomowych procesów decyzyjnych i konieczność tworzenia wrapperów na

niskopoziomowe sterowanie.

Page 23: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

23 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Maszyna stanówMaszyna stanówPrzykładPrzykład

The Witcher

Page 24: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

24 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Inne podejściaInne podejścia

Planowanie Hierarchiczne FSM Drzewa Zachowań (Behavior Tree) Goal Based Behavior

Page 25: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

25 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Drzewa ZachowańDrzewa ZachowańIdeaIdea

Wprowadźmy pojęcie wierzchołka drzewa == zachowania złożonego mającego pod sobą uporządkowany zbiór zachowań.

Zastąpmy maszynę stanów korzeniem drzewa -"Mózgiem". Niech każdy stan jest w stanie stwierdzić czy są spełnione

warunki by mógł się wykonywać. Ewentualnie niech warunki wykonania każdego "zachowania"

określa osobny funkcyjny obiekt z nim związany. Wprowadźmy prosty proces decyzyjny dla stanu złożonego -

gdy jest aktywny, wówczas aktywuje on pierwszy dostępny ze swoich pod-stanów.

Otrzymamy strukturę drzewiastą w którym węzły są stanami wyższego rzędu, a liście - niskiego. W drzewie jednocześnie aktywna jest cała gałąź zachowań.

Page 26: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

26 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Drzewa ZachowańDrzewa Zachowań

Page 27: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

27 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Drzewa ZachowańDrzewa ZachowańProces decyzyjnyProces decyzyjny

• Węzeł złożony ewaluuje swoje dzieci aż trafi na gotowe.

• Możliwe uproszczenie, że co najmniej jedno dziecko węzła jest gotowe.

o Umożliwia niezależne ewaluacje wierzchołków, upraszcza proces decyzyjny.

o Wymusza dokładniejsze testy warunków wierzchołka rodzica.

Page 28: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

28 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Drzewa ZachowańDrzewa ZachowańProces decyzyjny - optymalizacjaProces decyzyjny - optymalizacja

Potężna optymalizacja: reewaluacja procesu decyzyjnego odbywa się możliwie rzadko - powiedzmy raz na 1-2 sekundy.

W odpowiedzi na zdarzenia możemy wymusić reewaluację wierzchołka w następnej klatce. Dzięki temu reakcja na zdarzenia będące "bodźcem" jest natychmiastowa.

Optymalizacja powoduje przypadkowe ale też całkiem naturalne ("ludzkie") opóźnienia w reakcji AI na zmiany środowiska nie dotyczące go bezpośrednio.

W Hard Reset całe AI działało w języku skryptowym, poza tym nie miało wielu innych optymalizacji o których wspomnę w tej prezentacji. Mimo tego, dzięki rzadkim aktualizacjom złożonych wierzchołków nigdy nie wyskakiwało wysoko w profilerach.

Page 29: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

29 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Drzewa ZachowańDrzewa ZachowańCykl wykonania węzłaCykl wykonania węzła

Aktywacja - Activate Aktualizacje - Update Zakończenie wykonania:

Jeśli zachowanie się wykonało wywołuje Complete, które z kolei wykonuje Deactivate.

Jeśli wykonanie węzła zostanie wywłaszczone przez proces decyzyjny - węzeł dostaje Deactivate. 

Page 30: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

30 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Drzewa ZachowańDrzewa ZachowańPrzechwytywanie zdarzeńPrzechwytywanie zdarzeń

Podstawowy mechanizm - zdarzenie przechodzi przez całą gałąź aktywnych zadań.

Dodatkowy mechanizm - węzły mogą rejestrować

się na odsłuch konkretnych eventów.

Page 31: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

31 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Drzewa ZachowańDrzewa ZachowańPrzechwytywanie zdarzeńPrzechwytywanie zdarzeń

Węzeł obsługujący zdarzenie może poprosić "rodzica" o reewaluację ponieważ zdarzenie zmieniło jego stan wewnętrzny

Page 32: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

32 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozwinięcia Drzew ZachowańRozwinięcia Drzew ZachowańNarzucane zadaniaNarzucane zadania

Page 33: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

33 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozwinięcia Drzew ZachowańRozwinięcia Drzew ZachowańSekwencjeSekwencje

Page 34: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

34 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozwinięcia Drzew ZachowańRozwinięcia Drzew ZachowańDekoratoryDekoratory

Bardzo często będziemy spotykali się z zapotrzebowaniem na akcje AI, które właściwie już zaimplementowaliśmy, ale do których potrzebujemy wprowadzić "małe" zmiany.

Potrzebujemy alternatywy dla mechanizmu dziedziczenia klas akcji.

Wykorzystajmy wzorzec projektowy "dekorator" do zmodyfikowania działania węzła potomnego.

Umożliwia budowanie całego AI w oparciu o bardzo podstawowe, ale dodatkowo oskyptowane akcje.

Właściwie stosowane dekoratory upraszczają cały system AI, zmniejszają ilość klas, zależności projektowych i zapobiegają karkołomnemu dziedziczeniu.

Page 35: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

35 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozwinięcia Drzew ZachowańRozwinięcia Drzew ZachowańKonfiguracjaKonfiguracja

By umożliwić prawdziwy reuse kodu, skalowalność systemu i ograniczyć stosowanie metody Kopjego-Pejsta:

Najpierw oczywistość: wszystkie węzły drzewa powinny móc być parametryzowane z poziomu definicji AI.

Page 36: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

36 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozwinięcia Drzew ZachowańRozwinięcia Drzew ZachowańKonfiguracjaKonfiguracja

Page 37: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

37 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozwinięcia Drzew ZachowańRozwinięcia Drzew ZachowańKonfiguracjaKonfiguracja

By umożliwić prawdziwy reuse kodu, skalowalność systemu i ograniczyć stosowanie metody Kopjego-Pejsta:

Najpierw oczywistość: wszystkie węzły drzewa powinny móc być parametryzowane z poziomu definicji AI. Pozwólmy zapisywać dowolne definicje AI (również całe Drzewa Zachowań) by wykorzystywać je w innych definicjach na równi z wbudowanymi zachowaniami.

Page 38: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

38 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozwinięcia Drzew ZachowańRozwinięcia Drzew ZachowańKonfiguracjaKonfiguracja

Page 39: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

39 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozwinięcia Drzew ZachowańRozwinięcia Drzew ZachowańKonfiguracjaKonfiguracja

By umożliwić prawdziwy reuse kodu, skalowalność systemu i ograniczyć stosowanie metody Kopjego-Pejsta:

Najpierw oczywistość: wszystkie węzły drzewa powinny móc być parametryzowane z poziomu definicji AI. Pozwólmy zapisywać dowolne definicje AI (również całe Drzewa Zachowań) by wykorzystywać je w innych definicjach na równi z wbudowanymi zachowaniami. Niech zapisane definicje AI mogą również parametryzować się dowolnymi zmiennymi.

Page 40: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

40 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozwinięcia Drzew ZachowańRozwinięcia Drzew ZachowańKonfiguracjaKonfiguracja

Page 41: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

41 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozwinięcia Drzew ZachowańRozwinięcia Drzew ZachowańKonfiguracjaKonfiguracja

By umożliwić prawdziwy reuse kodu, skalowalność systemu i ograniczyć stosowanie metody Kopjego-Pejsta:

Najpierw oczywistość: wszystkie węzły drzewa powinny móc być parametryzowane z poziomu definicji AI. Pozwólmy zapisywać dowolne definicje AI (również całe Drzewa Zachowań) by wykorzystywać je w innych definicjach na równi z wbudowanymi zachowaniami. Niech zapisane definicje AI mogą również parametryzować się dowolnymi zmiennymi. Niech parametrem węzła może być inny węzeł.

Page 42: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

42 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozwinięcia Drzew ZachowańRozwinięcia Drzew ZachowańKonfiguracjaKonfiguracja

Page 43: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

43 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozwinięcia Drzew ZachowańRozwinięcia Drzew ZachowańKonfiguracjaKonfiguracja

Zależne od parametrów wierzchołki opcjonalne.

Page 44: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

44 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozwinięcia Drzew ZachowańRozwinięcia Drzew ZachowańBlackboardBlackboard

Problem reprezentacji wiedzy i optymalizacji zapytań. AI powinno posiadać pewien obiekt reprezentujący bazę

"wiedzy". Możliwe postaci:

Aktualizowany na bieżąco zbiór identyfikatorów i ich wartości reprezentujących wiedzę obiektu.

Opierający się o uleniwione zmienne obiekt funkcyjny wyliczający częste podzapytania wykonywane przez AI.

Hybryda obu powyższych.

Page 45: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

45 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Drzew ZachowańDrzew ZachowańProblemyProblemy

Ciężko reprezentować warunek "jeśli «coś» lub jeśli następujące węzły są niedostępne".

Ciężko reprezentować nie deterministyczne drzewa.

Page 46: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

46 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Drzew ZachowańDrzew ZachowańRozwiązanie - rozmyta Rozwiązanie - rozmyta

ewaluacjaewaluacja

Page 47: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

47 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Drzew ZachowańDrzew ZachowańRozmyta ewaluacjaRozmyta ewaluacja

Modyfikacja procesu decyzyjnego. Wierzchołki zwracają swój priorytet na podstawie którego podejmowany jest wybór.

Można zastosować rozwiązanie hybrydowe (w którym na różnych poziomach mamy różne procesy decyzyjne).

Zalety

"Mocniejszy" mechanizmRozwiązuje przedstawione problemy

Wady

Utrudniona czytelność drzewaGorsza atomowość zadań

Kosztowniejszy proces decyzyjny

Page 48: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

48 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Drzew ZachowańDrzew ZachowańProblemyProblemy

Decyzje a hierarchia.

Page 49: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

49 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Hierarchiczne system AIHierarchiczne system AI

Wszystkie systemy hierarchiczne są podobne! Moja propozycja: niech ciężar implementacyjny spoczywa

na klasach węzłów. Implementacje węzłów bazowych są "proste" w

odniesieniu do implementacji konkretnych AI przeciwników.

Hierarchiczne systemy AI różnią się tylko szczegółami, przy odpowiedniej architekturze możemy swobodnie między nimi się przemieszczać: Hierarchiczne FSM Drzewa zachowań Logika rozmyta Planowanie

Page 50: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

50 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Hierarchiczne system AIHierarchiczne system AIPrzykład: Behavior Tree vs Przykład: Behavior Tree vs

HFSMHFSM

Page 51: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

51 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Hierarchiczne system AIHierarchiczne system AI

Nie ma idealnego rozwiązania.

Wymyśl własną hybrydę!

Page 52: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

52 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

PytaniaPytania

?

Page 53: Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji

53 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Dziękuję za wykładDziękuję za wykładGarść linkówGarść linków

Niezły tekst o Drzewach Zachowań na AIGamedev.com

http://aigamedev.com/insider/presentations/behavior-trees/

Drzewa Zachowań w Spore

http://chrishecker.com/My_Liner_Notes_for_Spore/Spore_Behavior_Tree_Docs

 Goal Oriented Action Planning == FEAR

http://web.media.mit.edu/~jorkin/goap.html

Drzewa Zachowań a Crysis

http://files.aigamedev.com/coverage/GAIC09_CoordinatingAgents_RicardoPillosu.pdf