www.wikidata.de-de.nina.az
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 enthalt die SMACH Engine um Behavior Tree ahnliche Ablaufe zu spezifizieren 2 3 Hierarchical Model Inhaltsverzeichnis 1 Geschichte 1 1 Automatentheorie 2 Praktische Realisierung 2 1 Codebeispiel in Python 3 Weiterentwicklungen 4 EinzelnachweiseGeschichte BearbeitenDie Steuerung von Echtzeitsystemen wurde traditionell in der Kybernetik diskutiert 4 Relativ fruh war klar dass man eine Art von kunstlicher Intelligenz benotigt 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 Intensitat 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 Vorlauferkonzepte 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 Wahrend man bei PDDL zunachst die Domane 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 gelost werden konnen 9 Automatentheorie Bearbeiten 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 lasst sich auf Echtzeitsysteme ubertragen Man spricht dann von timed automation 10 Bei Behavior Trees handelt es sich um eine vereinfachte Programmiermethode Es konnen ahnliche Aufgaben bewaltigt werden wie mit einer Finite State Maschine Der Fachbegriff lautet timed Behavior Tree was eine Tautologie darstellt Behavior Trees werden ausschliesslich fur Echtzeitsysteme verwendet sind also immer mit einem Timer versehen 11 Praktische Realisierung BearbeitenIn der Game Engine Unity werden Behavior Trees als grafischer Prozessflow realisiert 12 Der Entwickler kann mit der Maus neue Unterfunktionen einfugen und if then Bedingungen formulieren Man kann Behavior Trees aber auch rein textuell in einer Hochsprache wie Modelica implementieren sie sind dann ahnlich aufgebaut wie ein normales Computerprogramm Inhaltlich werden sie jedoch fur Prozess Steuerungsaufgaben eingesetzt und erzeugen zeitlich abgestimmte Ablaufe 13 Codebeispiel in Python Bearbeiten 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 passWeiterentwicklungen BearbeitenEs gibt Bestrebungen das ursprungliche 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 Domane Computerspiele sind sogenannten Behavior Objects im Gesprach damit wird das Behavior Tree Konzept erganzt um objektorientierte Elemente dass man also den Ubergang vollzieht von der strukturierten Programmierung hin zur Verwendung von Klassen 16 Einzelnachweise Bearbeiten 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 Klockner Andreas Behavior trees for UAV mission management In INFORMATIK 2013 Informatik angepasst an Mensch Organisation und Umwelt Kollen 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 Munchen 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 Linkoping 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 Skovde 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 Memento 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 Abgerufen von https de wikipedia org w index php title Behavior Tree amp oldid 235882460