behavior tree
Megjelenés
(behavior tree (artificial intelligence, robotics and control) szócikkből átirányítva)
Főnév
behavior tree (tsz. behavior trees)
- (informatika, mesterséges intelligencia) A Behavior Tree (BT) – magyarul: viselkedési fa – egy hierarchikus vezérlési struktúra, amelyet leggyakrabban robotikában, videojáték-fejlesztésben és mesterséges intelligenciában használnak összetett viselkedések felépítésére. Célja, hogy egyszerűen kombinálható, újrahasználható, moduláris viselkedési egységeket szervezzünk strukturált formába.
🌳 1. Mi az a viselkedési fa?
Egy behavior tree egy fa-alapú vezérlőrendszer, ahol minden csomópont (node) egy tevékenységet vagy döntést reprezentál. A fa gyökérből indul, és lefelé haladva dönt a rendszer a viselkedésről.
🧩 2. Alapelemek
✅ Leaf node (levélcsomópontok)
- Action node – végrehajt valamit (pl. “Mozogj előre”, “Támadj”)
- Condition node – logikai feltételt ellenőriz (pl. “Látom az ellenséget?”)
🔀 Control nodes (vezérlőcsomópontok)
- Sequence (→) – sorban végrehajt minden gyereket, amíg egyik nem bukik el
- Selector (?) – kipróbálja a gyerekeket balról jobbra, amíg egy sikeres nem lesz
- Parallel – egyszerre több gyereket futtat, és szabály szerint határozza meg a sikert
🔁 3. Hogyan működik?
Minden csomópont visszatérési értéke lehet:
- SUCCESS – a művelet sikeresen végrehajtva
- FAILURE – nem sikerült
- RUNNING – még folyamatban van
Példa (Sequence):
→ ├── Check Battery ├── Navigate to Target ├── Pick Up Object
→ Az egész sorozat akkor lesz sikeres, ha mindhárom alcsomópont sikeres.
🕹️ 4. Hol használják?
- Videojáték AI: NPC-k döntéshozatala (pl. patrol, chase, attack)
- Robotika: feladatok szekvenciálása (pl. elindul, felismer objektumot, elkerül akadályt)
- Szimuláció: komplex viselkedések modellezése (pl. katonai, mentőrobot)
- Önjáró rendszerek: drónok, robotjárművek szabályozása
⚖️ 5. Előnyök
- ✅ Moduláris – könnyen újrahasználható komponensekből épül
- ✅ Olvasható – vizuálisan jól ábrázolható, könnyen érthető
- ✅ Skálázható – összetett rendszerek is építhetők belőle
- ✅ Jobb, mint FSM (finite state machine) nagy rendszerekre: nem robban szét az állapottér
⚠️ 6. Hátrányok
- ❌ Kevésbé rugalmas, ha nagyon sok feltétel és állapot van (komplex szabályrendszernél zavarossá válhat)
- ❌ Nem feltétlenül optimális idő- vagy memóriaszempontból
- ❌ Nincs beépített tanulási mechanizmus → nem adaptív (de kombinálható RL-lel)
🛠️ 7. Eszközök és implementációk
- Behavior3.js (webes BT editor)
- Unity (Pluggable AI, NodeCanvas, Behavior Designer)
- ROS (BehaviorTree.CPP, py_trees)
- Godot játékmotor (GDScript + behavior tree struktúra)
📚 8. Összefoglalás
A behavior tree:
- Egy hierarchikus, döntésalapú vezérlési modell
- Egyszerűen alkalmazható robotikában, játékokban és MI-ben
- Képes strukturált, olvasható, újrahasználható viselkedési logikát biztosítani
- Alternatívája vagy kiegészítője a véges állapotú automatáknak (FSM)
- behavior tree - Szótár.net (en-hu)
- behavior tree - Sztaki (en-hu)
- behavior tree - Merriam–Webster
- behavior tree - Cambridge
- behavior tree - WordNet
- behavior tree - Яндекс (en-ru)
- behavior tree - Google (en-hu)
- behavior tree - Wikidata
- behavior tree - Wikipédia (angol)