<<
>>

Software Agents

Wooldridge describes computer systems as software agents, in case they comply with the following two requirements:

• The computer system is situated in some environment and

• it is capable of autonomous action in this environment in order to meet its design­ers objectives.

These so called autonomous actions are not meant to be compared to the basic exchange of data. Interactions performed by software agents are rather inspired by human social behavior such as cooperation, coordination or negotiation between individuals (Woolridge and Wooldridge 2001).

Fig. 2.3 A software agent located in its environment (Woolridge and Wooldridge 2001; Russell and Norvig 2003)

Awareness of the current state of the world (the agent’s environment) and changes occurring in the world are necessary for making autonomous behavior possible. By using sensors for observing the environment agents can perceive different states of the world and react according to its objectives to be achieved, as shown in Fig. 2.3. As agents have to choose the most suitable action from a set of possible actions, a dif­ferentiated decision function (also called agent function) is required. Agent functions can either be simple mathematical functions mapping certain perceptions to prede­fined actions or more sophisticated mechanisms enabling agents to behave “intelli­gent”.

Intelligent agents, as a special type of software agents, are characterized by apply­ing proactive behavior for accomplishing goals given. For this purpose, the use of techniques from the area of artificial intelligence is required, as agents need to learn from recent behavior or observations and use practical reasoning in order to achieve more sophisticated goals. Furthermore, a social ability is required, as intelligent agents are meant to interact with other agents.

Based on the environment agents are located in and the goals agents are given to achieve, the design needs to be individual. The degree of intelligence required for accomplishing tasks influences the amount of considerations which are necessary before making a decision. Figure 2.4 shows structures of different agent types.

Fig. 2.4 Schematic structure diagrams of different agent types (Russell and Norvig 2003). a Sim­ple reflex agent. b Utility-based agent

Fig. 2.5 Agent function of a simple reflex agent in charge of a heating control

Simple relfex agents are the most elementary type of software agents. Actions are chosen by ignoring the history of events which occurred in the agent’s environment. Instead, only current observations are considered for selecting the next action. These predefined connections leading from sensor-aided perceptions to agent behavior are called condition-action-rules. For example in case of an agent being in charge of a heating control linked to the heather of a house, the condition-action-rules might be defined as shown in Fig. 2.5.

Considering more complex scenarios where agents are meant to control more sophisticated entities, simple differentiations by cases likely lack of specialization. When choosing an agent’s next action a detailed consideration of the action’s con­sequences might be necessary. The hypothetical condition of the world, after the agent has performed its action, may influence the decision of the agent. Even though an action might appear to be useful or appropriate regarding the current state of the agent’s world, changing the environment by performing the action might cause a dis­advantage to the agent. For example, when thinking of an agent located in a natural environment, harvesting and eating the remaining wheat results in the satisfaction of hunger, however, using it to grow more wheat would have provided a food supply in the long term.

By comparing different states of the world resulting from an action, agents can select the most beneficial action. To provide a consistent way of measuring the per­formance of each possible state, agents’ are provided utility functions. These utility­based agents then choose their actions by trying to maximize the utility expected when applying a certain action.

Simple reflex agents and utility-based agents are only two examples for possible structures of software agents. However, comparing these two structures shows that software agents can be applied in diverse scenarios and for solving problems at dif­ferent levels of difficulty. Either as a reactive unit for unambiguous decisions-making or as a highly specialized autonomous entity planing its actions ahead.

2.3.2

<< | >>
Source: Barcelo Juan A., Del Castillo Florencia (eds.). Simulating Prehistoric and Ancient Worlds. Springer,2016. — 410 p.. 2016

More on the topic Software Agents:

  1. Financialization and software
  2. Why study the digital and software?
  3. Agents
  4. Antiherpetic Agents
  5. Antiviral Agents
  6. Infectious Agents
  7. Future agents
  8. Trading Agents
  9. Antimycobacterial Agents
  10. Agents and Doers, Actions and Actional Events