Różnica między drzewami decyzji a drzewami zachowania dla AI gry


Odpowiedzi:


80

Oba są całkiem różne. Prawdziwy wskaźnik znajduje się w nazwach. Drzewa decyzyjne służą tylko do podejmowania decyzji. Drzewa zachowań służą do kontrolowania zachowań. Pozwól mi wyjaśnić. Główną różnicą między nimi jest sposób, w jaki są one przemieszczane, podobnie jak ich układ i różne typy węzłów.

Drzewa decyzyjne są każdorazowo oceniane od korzenia do liścia. Aby drzewo decyzyjne działało poprawnie, węzły potomne każdego rodzica muszą reprezentować wszystkie możliwe decyzje dla tego węzła. Jeśli na węzeł można odpowiedzieć „Tak, Nie, może”, musi być troje dzieci, Tak, Węzeł, Brak węzła i Może węzeł. Oznacza to, że zawsze jest jakiś dolny węzeł do przejścia, aż do osiągnięcia węzła końcowego. Podróż jest zawsze w dół. Forma graficzna:

wprowadź opis zdjęcia tutaj

Dość proste. Zaczynamy od początku i na podstawie jakiejś oceny wybieramy 1, 2 lub 3. Wybieramy 3. Następnie robimy inną ocenę i wybieramy B lub B ... Cóż, ponownie użyłem grafiki od dołu, przepraszam. Udawaj, że B po lewej to magia B.

Drzewa zachowania mają inną ocenę. Przy pierwszej ocenie (lub resecie) zaczynają się od katalogu głównego (węzły nadrzędne zachowują się jak selektory), a każde dziecko jest oceniane od lewej do prawej. Węzły potomne są uporządkowane według ich priorytetu. Jeśli wszystkie warunki węzła podrzędnego są spełnione, jego zachowanie jest uruchamiane. Gdy węzeł rozpoczyna zachowanie, ten węzeł jest ustawiany na „działający” i zwraca zachowanie. Następnym razem, gdy drzewo jest oceniane, ponownie sprawdza węzły o najwyższym priorytecie, a następnie, jeśli chodzi o „działający” węzeł, wie, gdzie jest ono przerwane. Węzeł może mieć sekwencję działań i warunków przed osiągnięciem stanu końcowego. Jeśli jakikolwiek warunek się nie powiedzie, przejście powraca do rodzica. Selektor nadrzędny następnie przechodzi do następnego priorytetowego dziecka. Spróbuję tutaj formy graficznej:

wprowadź opis zdjęcia tutaj

Podróż rozpoczyna się u nasady, idzie do dziecka 1, sprawdza stan dziecka (coś w rodzaju „żadnych wrogów w pobliżu?”). Warunek kończy się niepowodzeniem, a przejście przechodzi z powrotem w górę drzewa, aby przejść do węzła drugiego. Węzeł 2 ma akcję, która jest wykonywana (może coś w rodzaju znalezienia ścieżki). Następnie zachowanie (coś w stylu podążania ścieżką). Następująca ścieżka jest ustawiona na działającą, a drzewo zwraca swój stan jako działający. Węzły, które się nie powiodły lub ukończyły, są zwracane do „Gotowe”. Następnym razem, gdy sprawdzimy, zaczniemy ponownie od węzła o najwyższym priorytecie. Ponownie się nie udaje, więc przechodzimy do węzła drugiego. Stwierdzamy, że mamy działające zachowanie. Stwierdzamy również, że zachowanie się zakończyło, więc oznaczamy je jako zakończone i zwracamy to. Drzewo jest następnie resetowane i gotowe do ponownego uruchomienia.

Jak widać, drzewa zachowań są bardziej złożone. Drzewa zachowania są silniejsze i pozwalają na bardziej złożone zachowanie. Drzewa decyzyjne są łatwe do zrozumienia i proste do wdrożenia. Tak więc drzewa zachowań byłyby używane, gdy chcemy bardziej złożonego zachowania lub większej kontroli nad zachowaniem. Drzewa decyzyjne można wykorzystać jako część drzewa zachowań lub samodzielnie dla prostej sztucznej inteligencji.

Pewne dobre zrozumienie sposobu analizowania drzew zachowania można znaleźć tutaj .


Świetne wyjaśnienie i ilustracje. Kiedy więc powiesz „Jeśli wszystkie warunki węzła potomnego są spełnione ...”, czy selektory i sekwencje zawierają warunki, czy tylko węzły liści, tj. Akcje?
Wolny Lancer

1
Węzły potomne to zachowania, działania, warunki lub selektory z większą liczbą dzieci. Są oceniane od lewej do prawej.
MichaelHouse

Świetny post, choć myślę, że wciąż mam nierozstrzygnięte pytanie (opublikuję osobno). Czego użyłeś do stworzenia animowanych GIF-ów?
ja--

0-2-A nie powinno być odtwarzane ponownie, jeśli 0-2-B działa ??? github.com/pirobot/pi_trees/issues/1
devside

@ nopnop77 Nie, jeśli warunek 0-2 nadal ma wartość 0-2-B. Widać, że 0-2 jest przewartościowane, ale ponownie nie powoduje wybrania A.
MichaelHouse
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.