### Utility Systems

 Please tell me how much this site helps you with a number from 0.0-1.0In a utility system we calculate the utility, or usefulness of each action. It's a normalized value that allows us to compare the actions with each other and pick the one that looks the best right now for the agent. There are two major steps do this and they are data processing and decision processing.Data processingThis step takes the state of the world and the agent and map them to normalized utility values. This values are called concepts and can be modified and combines to form new concepts.Example: The number of enemies around the player can be normalized to the concept of threat. The more enemies around the more threat the agent will feel. At the same time we have the concept of homies that is the normalized amount of friends around that make the agent feel more safe. These two can be combined into a new concept called anxiety that can then be used in the flee action to see if the agent panic's and runs for it.Collect StateThe state data need to be collected and it can be expensive so that's why data processing is a separate step from the decision processing. This can run every n frames or update when event's about state changes are revived. Some data will also be older then one frame no matter what, ex is ray casts.NormalizeThis is done with graph functions. Ex ones are Linear, Quadratic, Logistic or Logit. CombineConcept values can be combined in a number of ways. The most easy one is an average or multiplication. Decision processingThe decision process calculate the utility for each action and then use some way to pick the one to perform. Highest: Pick the action with the highest utility.Weighted Random: Pick a choice at random with higher chance for those with high utility.Weighted Top n: Off the top n actions pick one at random with higher chance for those with high utility.ReferenceBuilding a Better Centaur: AI at Massive Scale - 2015Utility Systems and Game AI  - 2013Embracing the Dark Art of Mathematical Modeling in AI - 2012A Game AI Approach to Autonomous Control of Virtual Characters - 2011Improving AI Decision Modeling Through Utility Theory - 2010The Beauty of Response Curves, AIGPW1 p78-82. - 2002.An Introduction to Utility TheoryCurvature