5.5.2 Team Protocol
A team of agents in Concurrent METATEM is a group of agents that
have a joint goal to achieve, while sharing some beliefs regarding both
the status of the team’s goal (whether it is achievable or not) and beliefs
regarding each member’s contribution to the achievement of that goal.
Here we presuppose that communication between the members of the
team is essential and, furthermore, we assume that teamwork is achieved
through some specific interactions (message exchange) occurring between
the agents of the team.
In order to show how we can describe teamwork in this way, we introduce
a protocol upon which the coordination of the team members can
be based. In order to formally describe this protocol, we introduce certain
message predicates (outlined in Table 5.1) that every agent involved will
be able to recognize and, additionally, we outline the essential rules that
have to be present in the involved agent descriptions that will cause the
agents to act in a desirable way.
5.5.3 Emergence of a Team
A team emerges when an agent recognizes the need for external input
with respect to one of its internal goals. In our case, agent i is not capable
of renting a car or booking a flight. Thus, although the agent has
a conceptual plan indicating what is needed in order to achieve this internal
commitment (e.g. the agent believes it has to perform book hotel,
book flight, etc), in our case the agent does not have the appropriate capabilities
to carry out this plan alone. In an attempt to achieve its own goals,
agent i might choose to broadcast messages to its environment, waiting
for other agents x and y (not necessarily disjoint) which have those capabilities
of booking a hotel and renting a car, required for the achievement
of its goals. The idea here is that agent i will try to form a team with
agents x and y to achieve the goal book holiday. We can model the behavior
of querying other agents through:
(5.6) Bi♦done(σ) ∧ ¬capable(i, σ) ⇒ capable?(σ)
where capable?(σ) is broadcast.
In our scenario, suppose there is an agent x in the environment,
which deals with car rental. Every time agent x receives a message
capable?(rent car), it immediately broadcasts back the message Bx♦
done(rent car), which indicates its belief that rent car can be achieved.
Agent x may therefore be added to the team of agent i, through the next
rule (where σ is instantiated to rent car)
(5.7) Bx♦done(σ) ∧ Bi♦done(σ) ∧ ¬capable(i, σ) ⇒ add(x, i)
and this, together with the next rule, will make agent i believe it (the
team) is now capable of achieving this goal.
(5.8) added(x, i) ∧ Bx♦done(σ) ⇒ capable(i, σ) .
The same might happen with an agent y capable of booking hotels, as y
might broadcast back a similar message By♦done(book hotel), and then
be added to the team of agent i.
The fact that Bi♦done(rent car) and Bi♦done(book hotel) can be satisfied
guarantees that agent i will eventually achieve its initial goal. In
fact, agent i is capable of booking a flight (equation (5.5)) and it has a
goal Bi♦done(book flight). Therefore, it is able to use equation (5.3) in
order to force ♦done(book flight) to be true. Moreover, agents x and y will
(sooner or later) make rent car and book hotel true (again by using equation
(5.3)). They will broadcast these facts to i which will be able to falsify
the premises of equation (5.4), and so make done(book holiday) true.
Note that, here we have chosen to follow a very simple approach to
team formation, in the sense that the team agent will add the appropriate
team-members into its Contents with respect to which agents reply first
to its requests. Another, probably more interesting approach would have
been to employ some form of negotiation process between x/y and i in this
phase of team-formation.
As a final remark note that our approach does not exclude the possibility
of prespecified and/or fixed teams of agents. In fact, together with
enabling the possibility of team emergence and formation, our approach allows the definition of a specific team, say T, of agents, simply including
the required agents a1, . . . , an into the Contents of T. Moreover, rules
can be specified so that no other agents can be added (removed) to the
Contents of T.