What Is a Rational Agent?

Mary McMahon
Mary McMahon

A rational agent is a computer program capable of making autonomous decisions to accomplish desired goals. Such programs can collect information about their environment to gather as much data as possible to support their decisions. They can also evaluate the outcome to determine whether the ultimate choice was a good one, and how they could improve results in the future. Designing rational agents requires a knowledge of computer programming and the ability to develop models and preferences within a program.

Man holding computer
Man holding computer

The level of complexity involved can depend on the kind of tasks a program needs to accomplish. Some rational agents are simple and can rely heavily on a very basic model. For example, the rational agent might be responsible for checking outgoing mail to make sure mailing information is complete, to reduce the risk of items returned to sender. It can use a model of what addresses should look like to check against an optical scan and either accept or reject items for mailing.

More complex agents may need to make multiple decisions to act on their environments, or could require complex models to help them identify specific issues in a given situation. The goal of the rational agent is to select the most optimal outcome, given an array of options and a specific situation. It can measure success by response, and may be able to learn from this to adjust behaviors in the future. A rational agent at a nuclear plant responsible for controlling temperatures in the reactor, for instance, knows what affects core temperatures and how it can adjust them if temperatures rise or fall outside an established range.

Success is not always possible, because rational agents are not omniscient. They cannot predict every possible outcome, and may not be able to compensate for events outside of their control. When a problem does arise, the agent may evaluate it to find out what happened and if it could have been predicted. If the instruments on a weather balloon were hit by a meteor, for instance, the automated program that selected a launch site and launched the balloon couldn’t possibly have accounted for this in its calculations. The launch may have failed, but not because of anything the rational agent did.

Computer programming courses sometimes include discussions on rational agents, along with simple programming assignments to allow students to create their own. More complex programs may be developed in information technology, science, medicine, and other fields where automated actors may be necessary. The more complexity, the greater the functionality.

Mary McMahon
Mary McMahon

Ever since she began contributing to the site several years ago, Mary has embraced the exciting challenge of being a wiseGEEK researcher and writer. Mary has a liberal arts degree from Goddard College and spends her free time reading, cooking, and exploring the great outdoors.

You might also Like

Readers Also Love

Discuss this Article

Post your comments
Forgot password?