Indholdsfortegnelse

AI ved BehaviorTree

Et behavior tree (BT) er, som navnet antyder, en træstruktur der er opbygget af knuder og blade. Knuderne (Nodes) beskriver det logiske flow i træet, og blade (Leaves) beskriver konkrete handlinger (Tasks).

Træets struktur er hierarkisk, hvilket betyder at hver node kan have en eller flere underordnede noder, kaldet *children* (child nodes). En node der ligger over andre noder kaldes en *parent node*.

Parent-node styrer evalueringen af sine child-nodes, og bestemmer, hvornår og hvordan de udføres.

Træet og dets del-trær er et hieraki af handlinger af forskellige abstraktons niveauer e.g. En opgave som fx. „Tag på arbejde“ kan bestå af (Tag jakke på, find bilnøgle, kør mod arbejde)

Her vil Tag på arbejde være en parent node, og de tre underliggende handlinger vil være dens children.



Hvornår skiftes tilstand?

Der er tre fundamentale grunde til at skifte fra en tilstand til en anden.

Uddybet

SUCCESS

FAILURE

RUNNING


Virkemåde


Evaluering af Behavior Tree (Ticks)

Et Behavior Tree bliver evalueret ved hjælp af *ticks*.

Et tick er et opdateringssignal, der fortæller træet:

"Vurder hvad der skal ske nu."

I praksis kaldes root node typisk én gang pr. frame eller pr. AI-update. Når root modtager et tick, sendes det videre ned gennem træet.


Hvordan bevæger et tick sig gennem træet?

Tick fortsætter kun ned gennem de nodes, som logikken tillader.

Eksempel:

Det betyder, at et tick ikke nødvendigvis gennemløber hele træet — kun den del der er relevant i den aktuelle situation.


Video tutorials