# What is the difference between goal-based agent and utility-based agent?

What is main difference between goal-based agent and utility-based agent?

Please, give a real world example.

• After perusing the answers to this question on Quora, I'm very glad you've asked it here ;) I'm working on an answer, and hopefully others will as well! – DukeZhou Oct 28 '18 at 19:07
• Very good question, because the explanation in Wikipedia goes not very deep into the subject. If somebody want's to implement his own agent, the difference must become much clearer. – Manuel Rodriguez Oct 29 '18 at 12:34

Utility is a fundamental to Artificial Intelligence because it is the means by which we evaluate an agent's performance in relation to a problem. To distinguish between the concept of economic utility and utility-based computing functions, the term "performance measure" is utilized.

The simplest way to distinguish between a goal-based agent and a utility-based agent is that a goal is specifically defined, where maximization of utility is general. (Maximizing utility is itself a form of goal, but generalized as opposed to specific.)

• A goal-based navigation agent is tasked with getting from point A to point B. If the agent succeeds, the goal has been satisfied.

• A utility-based navigation agent could seek to get from point A to point B in the shortest amount of time, with the minimum expenditure of fuel, or both.

In the above example, the utility agent is also goal based, but where the performance measure for the goal agent is a binary [succeed/fail], the utility agent can use real numbers and measure performance by degree. The utility agent allows more granularity in evaluation.

For an example of a non-goal based utility agent consider a form of a partisan sudoku in which players compete to control regions on the gameboard by placement of weighted integers.

In a game with 9 regions, the goal based agent seeks to control a specific number of regions at the end of play. If the agent is conservative, the goal might be 5 regions. If the agent is hyper-aggressive, the goal might be 9 regions. When evaluating the environment (gameboard), if the agent dominates the desired number of regions, it could choose to consolidate (reinforce); if the agent does not dominate the desired number of regions, it could choose to expand (attack).

The above strategy can be effective, but is limited by the specificity of the goal. A hyper-aggressive goal would work well against a weak opponent, but against a strong opponent it might prove disastrous. If the agent is sophisticated, where performance has been poor, it might alter it's goal by switching to a "turtling strategy" and seek to control fewer regions, but, because the new goal is still specific, the agent may miss opportunities to improve it's final status beyond the adjusted goal.

The utility-based agent can approach the game with no specific goal beyond improving it's status. Rather than seeking to control a set number of regions, the utility-agent evaluates whether a given choice improves or worsens it's status. ("Do I dominate more or less regions if I take this position?") The utility agent can distinguish between sets of beneficial choices ("which choice maximizes my expected benefit?") and, where no benefit can be obtained, distinguish among the set of choices with the least downside ("among the set of bad choices, which is the least bad choice?")

In this example, the utility-agent doesn't even need to understand the victory condition (controlling the more regions than the opponent at the end of play.) Instead, the utility-agent merely seeks to maximize the number of controlled regions over the course of play, which will result in victory if the agent makes more optimal choices than the opponent.

• It doesn't make much sense to explain the difference on a theoretical basis without mention an agent-architecture. In a blackboard system, an utility based agent can recognize if a goal was reached but delivers additional an efficiency parameter. That means, this agent is a bit more chatty. – Manuel Rodriguez Oct 29 '18 at 12:34
• @ManuelRodriguez that's a good point. In an earlier edit I used the idea of the utility agent being able to evaluate it's status with more "granularity", but switched it to the idea of measure of performance by degrees as opposed to a boolean T/F. – DukeZhou Oct 30 '18 at 22:49
• According to the version history, you have mentioned the granularity in the decision process. quote: “utility agent is also goal based, but allows greater granularity in measurement“. Deleting this statement makes only sense if the idea is to explain the concept from a mathematical perspective. – Manuel Rodriguez Oct 31 '18 at 7:10
• @ManuelRodriguez added "granularity" back in. Thanks for commenting! – DukeZhou Oct 31 '18 at 21:20

Agents is a research based topic in Artificial Imtelligence and it has a wide implementations most especially in Robotics.

Difference between goal based agent and utility based agent?

Both goal based and utility based agents have goals in common,however, having goals isn't effective enough,simply because an agent (goal based agent)may have several actions which all satisfy it's goals , so there's need for an agent to perform the most effective action. And this is done by utility based agent.

That said, for an agent that exhibits the utility function,it maps each state after each action being taken nor performed efficiently and effectively.

Real World Example

Lets have drone 'X' and 'K' ; the two drones have onboard computerised chips(so no need of ground control).sent on a mission. In this case;

X == goal-based agent

K == utility based agent

Both 'X' and 'K' are sent in field ; which both drones detects a given target,so X is uncertain on which actions to perform or take on, nor some of it's actions may not perform efficiently as others. However, 'K ' has got an efficient and effective action,thus the effective output from it's utility function is selected effectively, No daunt in this scenario.

You can as well checkout; TheConsortiumOnCognitive ScienceInstruction