What is the difference between goal-based and utility-based agents? Please, provide a real-world example.
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.
What is the difference between goal-based and utility-based agents?
Both goal-based and utility-based agents have goals. However, having goals isn't effective (or efficient) enough, given that a goal-based agent may have several actions that can lead to the goals, but not all these actions are equally effective. So there's the need for an agent to perform the most effective action. And this is done by a 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.
Consider two drones $G$ and $U$, where $G$ is a goal-based and $U$ a utility-based agent. (The two drones have onboard computerized chips, so there is no need for ground control). These drones are sent on a mission and they have a goal. Both drones detect the given goal, but $G$ does not know which of its available actions is more efficient or effective. However, $U$, based on its utility function, can select the most efficient or effective action.
Sections 2.4.4. and 2.4.5 of the book Artificial Intelligence: A Modern Approach (3rd edition) provide more info.