„Behavior Tree“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
K Tippfehler korrigiert (u)nd |
K Vorlagen-fix (Online, Seiten) |
||
Zeile 1: | Zeile 1: | ||
[[ |
[[Datei:Hierarchical Model.svg|mini|Hierarchical Model]] |
||
'''Behavior Trees''' sind weiterentwickelte [[Endlicher Automat|endliche Automaten]] zur Steuerung von [[Computerspiel]]en. Sie wurden ab dem Jahr 2000 eingesetzt und sind fester Bestandteil in [[Gameengine]]s wie der [[Unreal Engine]].<ref name="unrealAPI" /> Auch das Robotik-Framework [[Robot Operating System|ROS]] enthält die SMACH-Engine, um Behavior-Tree-ähnliche Abläufe zu spezifizieren.<ref name="Bohren2011" /><ref name="Nguyen2013" /> |
'''Behavior Trees''' sind weiterentwickelte [[Endlicher Automat|endliche Automaten]] zur Steuerung von [[Computerspiel]]en. Sie wurden ab dem Jahr 2000 eingesetzt und sind fester Bestandteil in [[Gameengine]]s wie der [[Unreal Engine]].<ref name="unrealAPI" /> Auch das Robotik-Framework [[Robot Operating System|ROS]] enthält die SMACH-Engine, um Behavior-Tree-ähnliche Abläufe zu spezifizieren.<ref name="Bohren2011" /><ref name="Nguyen2013" /> |
||
Zeile 35: | Zeile 35: | ||
== Weiterentwicklungen == |
== Weiterentwicklungen == |
||
Es gibt Bestrebungen das ursprüngliche Behavior-Tree-Konzept zu erweitern. GOAP (Goal-Oriented Action Planning) ist ein Planungssystem, bei dem ein Solver automatisch die passenden Einzelbefehle ermittelt.<ref name="bjarnolf2008threat" /> Im Bereich [[Reinforcement Learning]] werden Behavior Trees durch [[maschinelles Lernen]] erzeugt.<ref name="Perez2011" /> Auch hier ist die Intention die manuelle Erstellung von Code zu vermeiden. In der Domäne Computerspiele sind sogenannten „Behavior Objects“ im Gespräch, damit wird das Behavior-Tree-Konzept ergänzt um [[Objektorientierte Programmierung|objektorientierte]] Elemente, dass man also den Übergang vollzieht von der strukturierten Programmierung hin zur Verwendung von Klassen.<ref name="cerny2016using">{{Literatur | |
Es gibt Bestrebungen das ursprüngliche Behavior-Tree-Konzept zu erweitern. GOAP (Goal-Oriented Action Planning) ist ein Planungssystem, bei dem ein Solver automatisch die passenden Einzelbefehle ermittelt.<ref name="bjarnolf2008threat" /> Im Bereich [[Reinforcement Learning]] werden Behavior Trees durch [[maschinelles Lernen]] erzeugt.<ref name="Perez2011" /> Auch hier ist die Intention die manuelle Erstellung von Code zu vermeiden. In der Domäne Computerspiele sind sogenannten „Behavior Objects“ im Gespräch, damit wird das Behavior-Tree-Konzept ergänzt um [[Objektorientierte Programmierung|objektorientierte]] Elemente, dass man also den Übergang vollzieht von der strukturierten Programmierung hin zur Verwendung von Klassen.<ref name="cerny2016using">{{Literatur |Autor=Cerny, Martin and Plch, Tomas and Marko, Matej and Gemrot, Jakub and Ondracek, Petr and Brom, Cyril |Titel=Using Behavior Objects to Manage Complexity in Virtual Worlds |Sammelwerk=IEEE Transactions on Computational Intelligence and AI in Games IEEE |Datum=2016 |Online=https://arxiv.org/pdf/1508.00377.pdf |Format=PDF |KBytes= |DOI=10.1109/tciaig.2016.2528499}}</ref> |
||
== Einzelnachweise == |
== Einzelnachweise == |
||
<references> |
<references> |
||
<ref name="unrealAPI">{{Literatur |
<ref name="unrealAPI"> |
||
{{Literatur |
|||
|Autor=Epic Games |
|||
| Titel = Behavior Trees - Unreal Engine Dokumentation |
|||
|Titel=Behavior Trees - Unreal Engine Dokumentation |
|||
| Online = https://docs.unrealengine.com/latest/INT/Engine/AI/BehaviorTrees/ |
|||
|Datum= |
|||
| Autor = Epic Games |
|||
|Online=https://docs.unrealengine.com/latest/INT/Engine/AI/BehaviorTrees/}} |
|||
}}</ref> |
|||
<ref name="atterer2001hybride">{{Literatur |
</ref> |
||
<ref name="atterer2001hybride"> |
|||
{{Literatur |
|||
| |
|Autor=Atterer, Richard |
||
| |
|Titel=Hybride automaten |
||
|Sammelwerk=TU München, Hauptseminar Design hybrider, eingebetteter Systeme |
|||
| Datum = 2001 |
|||
|Datum=2001 |
|||
| Sammelwerk = TU München, Hauptseminar Design hybrider, eingebetteter Systeme |
|||
|Online=http://ww.atterer.org/sites/atterer/files/2010-05/hauptseminar/hybride-automaten.pdf |
|||
| Band = |
|||
| |
|Format=PDF |
||
| |
|KBytes=}} |
||
</ref> |
|||
| DOI = |
|||
<ref name="bjarnolf2008threat"> |
|||
| Online = http://ww.atterer.org/sites/atterer/files/2010-05/hauptseminar/hybride-automaten.pdf |
|||
{{Literatur |
|||
}}</ref> |
|||
|Autor=Bjarnolf, Philip and Gustavsson, Per M and Brax, Christoffer and Fredin, Mikael |
|||
<ref name="bjarnolf2008threat">{{Literatur |
|||
|Titel=Threat analysis using goal-oriented action planning |
|||
| Autor = Bjarnolf, Philip and Gustavsson, Per M and Brax, Christoffer and Fredin, Mikael |
|||
|Sammelwerk=University of Skövde |
|||
| Titel = Threat analysis using goal-oriented action planning |
|||
| |
|Datum=2008 |
||
|Online=https://www.researchgate.net/profile/Per_Gustavsson/publication/259476495_Threat_Analysis_Using_Goal-Oriented_Action_Planning/links/0c96052c05e726386f000000.pdf |
|||
| Sammelwerk = University of Skövde |
|||
| |
|Format=PDF |
||
| |
|KBytes=}} |
||
</ref> |
|||
| Seiten = |
|||
<ref name="Bohren2011"> |
|||
| DOI = |
|||
{{Literatur |
|||
| Online = https://www.researchgate.net/profile/Per_Gustavsson/publication/259476495_Threat_Analysis_Using_Goal-Oriented_Action_Planning/links/0c96052c05e726386f000000.pdf |
|||
|Autor=Jonathan Bohren and Radu Bogdan Rusu and E. Gil Jones and Eitan Marder-Eppstein and Caroline Pantofaru and Melonee Wise and Lorenz Mosenlechner and Wim Meeussen and Stefan Holzer |
|||
}}</ref> |
|||
|Titel=Towards autonomous robotic butlers: Lessons learned with the {PR}2 |
|||
<ref name="Bohren2011">{{Literatur |
|||
|Sammelwerk=2011 {IEEE} International Conference on Robotics and Automation Institute of Electrical and Electronics Engineers ({IEEE}) |
|||
| Autor = Jonathan Bohren and Radu Bogdan Rusu and E. Gil Jones and Eitan Marder-Eppstein and Caroline Pantofaru and Melonee Wise and Lorenz Mosenlechner and Wim Meeussen and Stefan Holzer |
|||
|Datum=2011 |
|||
| Titel = Towards autonomous robotic butlers: Lessons learned with the {PR}2 |
|||
|Online=http://www.meloneewise.com/wp-content/uploads/2015/08/ICRA11_1089_FI.pdf |
|||
| Datum = 2011 |
|||
|Format=PDF |
|||
| Sammelwerk = 2011 {IEEE} International Conference on Robotics and Automation Institute of Electrical and Electronics Engineers ({IEEE}) |
|||
| |
|KBytes= |
||
|DOI=10.1109/icra.2011.5980058}} |
|||
| Nummer = |
|||
</ref> |
|||
| Seiten = |
|||
<ref name="Brooks1986"> |
|||
| DOI = 10.1109/icra.2011.5980058 |
|||
{{Literatur |
|||
| Online = http://www.meloneewise.com/wp-content/uploads/2015/08/ICRA11_1089_FI.pdf |
|||
|Autor=R. Brooks |
|||
}}</ref> |
|||
|Titel=A robust layered control system for a mobile robot |
|||
<ref name="Brooks1986">{{Literatur |
|||
|Sammelwerk=IEEE Journal on Robotics and Automation Institute of Electrical and Electronics Engineers (IEEE) |
|||
| Autor = R. Brooks |
|||
|Band=2 |
|||
| Titel = A robust layered control system for a mobile robot |
|||
| |
|Datum=1986 |
||
|Seiten=14–23 |
|||
| Sammelwerk = IEEE Journal on Robotics and Automation Institute of Electrical and Electronics Engineers (IEEE) |
|||
|Online=https://dspace.mit.edu/bitstream/handle/1721.1/6432/AIM-864.pdf?sequence=2 |
|||
| Band = 2 |
|||
| |
|Format=PDF |
||
|KBytes= |
|||
| Seiten = 14--23 |
|||
| |
|DOI=10.1109/jra.1986.1087032}} |
||
</ref> |
|||
| Online = https://dspace.mit.edu/bitstream/handle/1721.1/6432/AIM-864.pdf?sequence=2 |
|||
<ref name="Colvin2007"> |
|||
}}</ref> |
|||
{{Literatur |
|||
| |
|Autor=Robert Colvin and Lars Grunske and Kirsten Winter |
||
| |
|Titel=Probabilistic Timed Behavior Trees |
||
|Sammelwerk=Lecture Notes in Computer Science Springer Nature |
|||
| Datum = 2007 |
|||
|Datum=2007 |
|||
| Sammelwerk = Lecture Notes in Computer Science Springer Nature |
|||
|Seiten=156–175 |
|||
| Band = |
|||
|Online=http://s3.amazonaws.com/academia.edu.documents/30755716/Jim_Davies_Integrated_Formal_Methods_6_conf_IFM.pdf?AWSAccessKeyId=AKIAIWOWYYGZ2Y53UL3A&Expires=1486719115&Signature=dtmBFvkg8c9Hfps5Di%2FAZFJAydk%3D&response-content-disposition=inline%3B%20filename%3DFinding_state_solutions_to_temporal_logi.pdf#page=164 |
|||
| Nummer = |
|||
|Format=PDF |
|||
| Seiten = 156--175 |
|||
|KBytes= |
|||
| DOI = 10.1007/978-3-540-73210-5_9 |
|||
|DOI=10.1007/978-3-540-73210-5_9}} |
|||
| Online = http://s3.amazonaws.com/academia.edu.documents/30755716/Jim_Davies_Integrated_Formal_Methods_6_conf_IFM.pdf?AWSAccessKeyId=AKIAIWOWYYGZ2Y53UL3A&Expires=1486719115&Signature=dtmBFvkg8c9Hfps5Di%2FAZFJAydk%3D&response-content-disposition=inline%3B%20filename%3DFinding_state_solutions_to_temporal_logi.pdf#page=164 |
|||
</ref> |
|||
<ref name="gaudl2013behaviour">{{Literatur |
<ref name="gaudl2013behaviour"> |
||
{{Literatur |
|||
| |
|Autor=Gaudl, Swen E and Davies, Simon and Bryson, Joanna J |
||
| |
|Titel=Behaviour oriented design for real-time-strategy games. |
||
|Sammelwerk=FDG |
|||
| Datum = 2013 |
|||
|Datum=2013 |
|||
| Sammelwerk = FDG |
|||
|Seiten=198--205 |
|||
| Band = |
|||
|Online=http://www.cs.bath.ac.uk/~jjb/ftp/GaudlFDG13.pdf |
|||
| Nummer = |
|||
|Format=PDF |
|||
| Seiten = 198--205 |
|||
| |
|KBytes=}} |
||
</ref> |
|||
| Online = http://www.cs.bath.ac.uk/~jjb/ftp/GaudlFDG13.pdf |
|||
<ref name="klockner2013behavior"> |
|||
}}</ref> |
|||
{{Literatur |
|||
| |
|Autor=Klöckner, Andreas |
||
| |
|Titel=Behavior trees for UAV mission management |
||
|Sammelwerk=INFORMATIK 2013: Informatik angepasst an Mensch, Organisation und Umwelt Köllen Druck+ Verlag GmbH, Bonn |
|||
| Datum = 2013 |
|||
|Datum=2013 |
|||
| Sammelwerk = INFORMATIK 2013: Informatik angepasst an Mensch, Organisation und Umwelt Köllen Druck+ Verlag GmbH, Bonn |
|||
|Seiten=57--68 |
|||
| Band = |
|||
|Online=http://elib.dlr.de/91679/1/kloeckner2013behavior.pdf |
|||
| Nummer = |
|||
|Format=PDF |
|||
| Seiten = 57--68 |
|||
| |
|KBytes=}} |
||
</ref> |
|||
| Online = http://elib.dlr.de/91679/1/kloeckner2013behavior.pdf |
|||
<ref name="Lim2010"> |
|||
{{Literatur |
|||
| |
|Autor=Chong-U Lim and Robin Baumgarten and Simon Colton |
||
| |
|Titel=Evolving Behaviour Trees for the Commercial Game DEFCON |
||
|Sammelwerk=Applications of Evolutionary Computation Springer Nature |
|||
| Datum = 2010 |
|||
|Datum=2010 |
|||
| Sammelwerk = Applications of Evolutionary Computation Springer Nature |
|||
|Seiten=100–110 |
|||
| Band = |
|||
|Online=http://people.csail.mit.edu/culim/lim2010evolving.pdf |
|||
| Nummer = |
|||
|Format=PDF |
|||
| Seiten = 100--110 |
|||
|KBytes= |
|||
| DOI = 10.1007/978-3-642-12239-2_11 |
|||
|DOI=10.1007/978-3-642-12239-2_11}} |
|||
| Online = http://people.csail.mit.edu/culim/lim2010evolving.pdf |
|||
</ref> |
|||
<ref name="Maggiorini2013">{{Literatur |
<ref name="Maggiorini2013"> |
||
{{Literatur |
|||
| |
|Autor=Dario Maggiorini and and Laura Ripamonti and Samuele Panzeri |
||
| |
|Titel=Follow the Leader: a Scalable Approach for Realistic Group Behavior of Roaming NPCs in MMO Games |
||
|Sammelwerk=Advances in Artificial Life, ECAL 2013 MIT Press - Journals |
|||
| Datum = 2013 |
|||
|Datum=2013 |
|||
| Sammelwerk = Advances in Artificial Life, ECAL 2013 MIT Press - Journals |
|||
|Online=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.458.8024&rep=rep1&type=pdf |
|||
| Band = |
|||
| |
|Format=PDF |
||
| |
|KBytes= |
||
| |
|DOI=10.7551/978-0-262-31709-2-ch101}} |
||
</ref> |
|||
| Online = http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.458.8024&rep=rep1&type=pdf |
|||
<ref name="myers2011comodeling"> |
|||
}}</ref> |
|||
{{Literatur |
|||
| |
|Autor=Myers, Toby and Schamai, Wladimir and Fritzon, Peter |
||
| |
|Titel=Comodeling revisited: Execution of behavior trees in modelica |
||
|Sammelwerk=Proceedings of the 4th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools; Zurich; Switzerland; September 5; 2011 Linköping University Electronic Press |
|||
| Datum = 2011 |
|||
|Nummer=056 |
|||
| Sammelwerk = Proceedings of the 4th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools; Zurich; Switzerland; September 5; 2011 Linköping University Electronic Press |
|||
| |
|Datum=2011 |
||
|Seiten=97–106 |
|||
| Nummer = 056 |
|||
|Online=http://www.ep.liu.se/ecp/056/011/ecp1105611.pdf |
|||
| Seiten = 97--106 |
|||
| |
|Format=PDF |
||
|KBytes=}} |
|||
| Online = http://www.ep.liu.se/ecp/056/011/ecp1105611.pdf |
|||
</ref> |
|||
<ref name="Nguyen2013">{{Literatur |
<ref name="Nguyen2013"> |
||
{{Literatur |
|||
| |
|Autor=Hai Nguyen and Matei Ciocarlie and Kaijen Hsiao and Charles C. Kemp |
||
| |
|Titel=ROS commander (ROSCo): Behavior creation for home robots |
||
|Sammelwerk=2013 IEEE International Conference on Robotics and Automation Institute of Electrical and Electronics Engineers (IEEE) |
|||
| Datum = 2013 |
|||
|Datum=2013 |
|||
| Sammelwerk = 2013 IEEE International Conference on Robotics and Automation Institute of Electrical and Electronics Engineers (IEEE) |
|||
|Online=https://smartech.gatech.edu/bitstream/handle/1853/49852/rosco_icra2013.pdf?sequence=1&isAllowed=y |
|||
| Band = |
|||
| |
|Format=PDF |
||
| |
|KBytes= |
||
| |
|DOI=10.1109/icra.2013.6630616}} |
||
</ref> |
|||
| Online = https://smartech.gatech.edu/bitstream/handle/1853/49852/rosco_icra2013.pdf?sequence=1&isAllowed=y |
|||
<ref name="Ouali2015"> |
|||
}}</ref> |
|||
{{Literatur |
|||
| |
|Autor=Lydia Ould Ouali and Charles Rich and Nicolas Sabouret |
||
| |
|Titel=Plan Recovery in Reactive HTNs Using Symbolic Planning |
||
|Sammelwerk=Artificial General Intelligence Springer Nature |
|||
| Datum = 2015 |
|||
|Datum=2015 |
|||
| Sammelwerk = Artificial General Intelligence Springer Nature |
|||
|Seiten=320–330 |
|||
| Band = |
|||
|Online=https://pdfs.semanticscholar.org/29bd/c17c1ec3e1ae656f07e1c67fd3888587db39.pdf |
|||
| Nummer = |
|||
|Format=PDF |
|||
| Seiten = 320--330 |
|||
|KBytes= |
|||
| DOI = 10.1007/978-3-319-21365-1_33 |
|||
|DOI=10.1007/978-3-319-21365-1_33}} |
|||
| Online = https://pdfs.semanticscholar.org/29bd/c17c1ec3e1ae656f07e1c67fd3888587db39.pdf |
|||
</ref> |
|||
<ref name="Perez2011">{{Literatur |
<ref name="Perez2011"> |
||
{{Literatur |
|||
| |
|Autor=Diego Perez and Miguel Nicolau and Michael O'Neill and Anthony Brabazon |
||
| |
|Titel=Evolving Behaviour Trees for the Mario AI Competition Using Grammatical Evolution |
||
|Sammelwerk=Applications of Evolutionary Computation Springer Nature |
|||
| Datum = 2011 |
|||
|Datum=2011 |
|||
| Sammelwerk = Applications of Evolutionary Computation Springer Nature |
|||
|Seiten=123–132 |
|||
| Band = |
|||
|Online={{Webarchiv |url=http://researchrepository.ucd.ie/bitstream/handle/10197/3534/EvoGames2011_Perez.pdf |text=researchrepository.ucd.ie |wayback=20170211075122}} |
|||
| Nummer = |
|||
|Format=PDF |
|||
| Seiten = 123--132 |
|||
|KBytes= |
|||
| DOI = 10.1007/978-3-642-20525-5_13 |
|||
|DOI=10.1007/978-3-642-20525-5_13}} |
|||
| Online = [http://researchrepository.ucd.ie/bitstream/handle/10197/3534/EvoGames2011_Perez.pdf online] |
|||
</ref> |
|||
}} {{Webarchiv|url=http://researchrepository.ucd.ie/bitstream/handle/10197/3534/EvoGames2011_Perez.pdf |wayback=20170211075122 |text=Evolving Behaviour Trees for the Mario AI Competition Using Grammatical Evolution |archiv-bot=2018-12-01 09:06:37 InternetArchiveBot }}</ref> |
|||
<ref name="Wiener1961">{{Literatur |
<ref name="Wiener1961"> |
||
{{Literatur |
|||
| |
|Autor=Norbert Wiener |
||
| |
|Titel=Cybernetics, or control and communication in the animal and the machine (2nd ed.). |
||
|Sammelwerk=American Psychological Association (APA) |
|||
| Datum = 1961 |
|||
|Datum=1961 |
|||
| Sammelwerk = American Psychological Association (APA) |
|||
|Online=https://catalog.hathitrust.org/Record/000468497 |
|||
| Band = |
|||
|DOI=10.1037/13140-000}} |
|||
| Nummer = |
|||
</ref> |
|||
| Seiten = |
|||
| DOI = 10.1037/13140-000 |
|||
| Online = https://catalog.hathitrust.org/Record/000468497 |
|||
}}</ref> |
|||
</references> |
</references> |
||
Version vom 24. September 2022, 21:48 Uhr

Behavior Trees sind weiterentwickelte endliche Automaten zur Steuerung von Computerspielen. Sie wurden ab dem Jahr 2000 eingesetzt und sind fester Bestandteil in Gameengines wie der Unreal Engine.[1] Auch das Robotik-Framework ROS enthält die SMACH-Engine, um Behavior-Tree-ähnliche Abläufe zu spezifizieren.[2][3]
Geschichte
Die Steuerung von Echtzeitsystemen wurde traditionell in der Kybernetik diskutiert.[4] Relativ früh war klar, dass man eine Art von künstlicher Intelligenz benötigt, um Entscheidungen zu treffen. Wenn beispielsweise im Spiel Pong der Paddel bewegt wird, muss irgendwo spezifiziert sein, wann das zu geschehen hat und mit welcher Intensität. Geschichtlich sind Behavior Trees aus den "Hierarchical Finite State Machines" hervorgegangen. Es handelt sich um endliche Automaten, die um Unterfunktionen erweitert wurden.[5][6]
Behavior Trees in der Spieleprogrammierung kamen erstmals im Jahr 2005 in dem Ego-Shooter Halo 2 zum Einsatz.[7] Zuvor wurden Vorläuferkonzepte ab den 1980ern in der Behaviorbased Robotik von Rodney Brooks verwendet.[8] Brooks war unzufrieden mit den klassischen Topdown-Planungssystemen, wie sie im PDDL und STRIPS Umfeld verwendet wurden, und suchte eine Methode, die ohne explizites Umgebungsmodell auskommt. Während man bei PDDL zunächst die Domäne umfassend spezifiziert und darin dann mit einem Solver nach einer Aktionsfolge sucht, geht man bei der Subsumption-Architektur genau umgekehrt vor: Man programmiert zuerst den Roboter und schaut dann, welche Probleme damit gelöst werden können.[9]
Automatentheorie
In der Informatik relativ gut erforscht sind Finite-States-Machines. Damit wird ein System so spezifiziert, dass es in genau einem Zustand sein kann. Finite-States-Machines sind deshalb so verbreitet, weil von der Hardwareseite Digitalschaltungen nach dieser Methode aufgebaut sind. Dieses Konzept lässt sich auf Echtzeitsysteme übertragen. Man spricht dann von „timed automaton“.[10] Bei Behavior Trees handelt es sich um eine vereinfachte Programmiermethode. Es können ähnliche Aufgaben bewältigt werden, wie mit einer Finite-State-Maschine. Der Fachbegriff lautet „timed Behavior Tree“, was eine Tautologie darstellt. Behavior Trees werden ausschließlich für Echtzeitsysteme verwendet, sind also immer mit einem Timer versehen.[11]
Praktische Realisierung
In der Game-Engine Unity werden Behavior Trees als grafischer Prozessflow realisiert.[12] Der Entwickler kann mit der Maus neue Unterfunktionen einfügen und if-then-Bedingungen formulieren. Man kann Behavior Trees aber auch rein textuell in einer Hochsprache wie Modelica implementieren, sie sind dann ähnlich aufgebaut wie ein normales Computerprogramm. Inhaltlich werden sie jedoch für Prozess-Steuerungsaufgaben eingesetzt und erzeugen zeitlich abgestimmte Abläufe.[13]
Codebeispiel in Python
class Behaviortree:
def __init__(self):
t = threading.Thread(target=self.taskmain)
t.start()
def taskmain():
self.gehe_durch_tuer()
time.sleep(1)
self.schliesse_tuer()
def gehe_durch_tuer(self):
self.benutze_schluessel()
self.druecke_tuerklinke()
def schliesse_tuer(self):
pass
def benutze_schluessel(self):
pass
def druecke_tuerklinke(self):
pass
Weiterentwicklungen
Es gibt Bestrebungen das ursprüngliche Behavior-Tree-Konzept zu erweitern. GOAP (Goal-Oriented Action Planning) ist ein Planungssystem, bei dem ein Solver automatisch die passenden Einzelbefehle ermittelt.[14] Im Bereich Reinforcement Learning werden Behavior Trees durch maschinelles Lernen erzeugt.[15] Auch hier ist die Intention die manuelle Erstellung von Code zu vermeiden. In der Domäne Computerspiele sind sogenannten „Behavior Objects“ im Gespräch, damit wird das Behavior-Tree-Konzept ergänzt um objektorientierte Elemente, dass man also den Übergang vollzieht von der strukturierten Programmierung hin zur Verwendung von Klassen.[16]
Einzelnachweise
- ↑ Epic Games: Behavior Trees - Unreal Engine Dokumentation. (unrealengine.com).
- ↑ Jonathan Bohren and Radu Bogdan Rusu and E. Gil Jones and Eitan Marder-Eppstein and Caroline Pantofaru and Melonee Wise and Lorenz Mosenlechner and Wim Meeussen and Stefan Holzer: Towards autonomous robotic butlers: Lessons learned with the {PR}2. In: 2011 {IEEE} International Conference on Robotics and Automation Institute of Electrical and Electronics Engineers ({IEEE}). 2011, doi:10.1109/icra.2011.5980058 (meloneewise.com [PDF]).
- ↑ Hai Nguyen and Matei Ciocarlie and Kaijen Hsiao and Charles C. Kemp: ROS commander (ROSCo): Behavior creation for home robots. In: 2013 IEEE International Conference on Robotics and Automation Institute of Electrical and Electronics Engineers (IEEE). 2013, doi:10.1109/icra.2013.6630616 (gatech.edu [PDF]).
- ↑ Norbert Wiener: Cybernetics, or control and communication in the animal and the machine (2nd ed.). In: American Psychological Association (APA). 1961, doi:10.1037/13140-000 (hathitrust.org).
- ↑ Chong-U Lim and Robin Baumgarten and Simon Colton: Evolving Behaviour Trees for the Commercial Game DEFCON. In: Applications of Evolutionary Computation Springer Nature. 2010, S. 100–110, doi:10.1007/978-3-642-12239-2_11 (mit.edu [PDF]).
- ↑ Klöckner, Andreas: Behavior trees for UAV mission management. In: INFORMATIK 2013: Informatik angepasst an Mensch, Organisation und Umwelt Köllen Druck+ Verlag GmbH, Bonn. 2013, S. 57--68 (dlr.de [PDF]).
- ↑ Gaudl, Swen E and Davies, Simon and Bryson, Joanna J: Behaviour oriented design for real-time-strategy games. In: FDG. 2013, S. 198--205 (bath.ac.uk [PDF]).
- ↑ R. Brooks: A robust layered control system for a mobile robot. In: IEEE Journal on Robotics and Automation Institute of Electrical and Electronics Engineers (IEEE). Band 2, 1986, S. 14–23, doi:10.1109/jra.1986.1087032 (mit.edu [PDF]).
- ↑ Lydia Ould Ouali and Charles Rich and Nicolas Sabouret: Plan Recovery in Reactive HTNs Using Symbolic Planning. In: Artificial General Intelligence Springer Nature. 2015, S. 320–330, doi:10.1007/978-3-319-21365-1_33 (semanticscholar.org [PDF]).
- ↑ Atterer, Richard: Hybride automaten. In: TU München, Hauptseminar Design hybrider, eingebetteter Systeme. 2001 (atterer.org [PDF]).
- ↑ Robert Colvin and Lars Grunske and Kirsten Winter: Probabilistic Timed Behavior Trees. In: Lecture Notes in Computer Science Springer Nature. 2007, S. 156–175, doi:10.1007/978-3-540-73210-5_9 (amazonaws.com [PDF]).
- ↑ Dario Maggiorini and and Laura Ripamonti and Samuele Panzeri: Follow the Leader: a Scalable Approach for Realistic Group Behavior of Roaming NPCs in MMO Games. In: Advances in Artificial Life, ECAL 2013 MIT Press - Journals. 2013, doi:10.7551/978-0-262-31709-2-ch101 (psu.edu [PDF]).
- ↑ Myers, Toby and Schamai, Wladimir and Fritzon, Peter: Comodeling revisited: Execution of behavior trees in modelica. In: Proceedings of the 4th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools; Zurich; Switzerland; September 5; 2011 Linköping University Electronic Press. Nr. 056, 2011, S. 97–106 (liu.se [PDF]).
- ↑ Bjarnolf, Philip and Gustavsson, Per M and Brax, Christoffer and Fredin, Mikael: Threat analysis using goal-oriented action planning. In: University of Skövde. 2008 (researchgate.net [PDF]).
- ↑ Diego Perez and Miguel Nicolau and Michael O'Neill and Anthony Brabazon: Evolving Behaviour Trees for the Mario AI Competition Using Grammatical Evolution. In: Applications of Evolutionary Computation Springer Nature. 2011, S. 123–132, doi:10.1007/978-3-642-20525-5_13 (researchrepository.ucd.ie ( vom 11. Februar 2017 im Internet Archive) [PDF]).
- ↑ Cerny, Martin and Plch, Tomas and Marko, Matej and Gemrot, Jakub and Ondracek, Petr and Brom, Cyril: Using Behavior Objects to Manage Complexity in Virtual Worlds. In: IEEE Transactions on Computational Intelligence and AI in Games IEEE. 2016, doi:10.1109/tciaig.2016.2528499 (arxiv.org [PDF]).