of the Kota research (Kota, 2009), but focus on the
deficiencies of its model. In our method, Selective-
Adaptation, each agent selects agents among its
neighbours based on different approaches. The
adaptation part of Selective-Adaptation method is
composed of two parts which are Meta-Reasoning
and Reorganization. The relation of an agent and its
neighbours is based on the two-way task passing.
Most of the time agents utilize the capabilities from
their neighbourhood subordinates and peers;
however, there are some cases in which agent’s
needs are not fulfilled using its peers and
subordinates. Therefore, an agent passes the request
back to its superior. Its superior is in charge of
finding a suitable agent for this request. Figure 3
summarizes the task passing mechanism; it shows
how an agent and its neighbours cooperate in
executing different parts of tasks.
We term service-providing agents (which are not
currently connected as a peer or superior/subordinate)
as outsideHelpers. Since the goal of adaptation is
promoting relations with agents who are useful to it,
we need to consider outsideHelpers. In this model, we
use the term neighbours for peers and subordinates of
agent
x
. In our system, an agent’s activities includes
executing tasks, management (communications,
evaluation of neighbours, task passing and updating
neighbour information) and reorganization. Load
refers to the computational units used to perform an
agent’s duties.
3.1 Meta-Reasoning
In Meta-Reasoning, each agent determines the
number of agents from its neighbourhood which
should be considered for reorganization.
Determining this number is critical because
evaluating too many agents wastes the resources of
the current agent. In addition, the agent needs to find
out which neighbours to consider for reorganization.
Meta-Reasoning used in this research is a history-
based process and utilizes different approaches
namely Fixed approach, Need-Based approach,
Performance-Based approach and Satisfaction-based
approach. We discuss these approaches in the
following subsections.
3.1.1 Fixed Approach
In the Fixed approach, agents have an opportunity to
evaluate their relationship with their neighbours in
all iterations. Our experiments show that the cost of
reorganization is one of the most important factors
that affect profit of the system. In order to increase
the profit, each agent needs the most useful
neighbours. The best neighbours are the ones that
result in a higher utility for the system. In order to
make reasonable decisions about reorganization, the
reorganization load coefficient, R, has been defined
(Kota, 2009). Evaluating many relationships might
exhaust the resources of the agent. Thus, agent
x
has
to restrict the set of its neighbours to consider for
reorganization. Agent resources include
computational capacity (which is used in each cycle
and does not roll over to next iteration) and
computational power. These types of resources are
distinct. Computational capacity must be consumed
in each iteration or it is lost. Computational power
represents a separate resource which can be saved
between iterations (like gasoline for a car). Agents
are recharged with computational power every d
time steps. Agents use the recharge interval to
estimate how much of the resource can be consumed
in any iteration. Since fuel costs are not negligible,
the use of fuel should be wisely monitored. This
amount is kept in InitialComp variable. Since agents
execute their assigned tasks first in each iteration
and then they go to the reorganization phase, the
remaining computational capacity of each iteration
after executing tasks can be used on reorganization.
By dividing the amount of remaining computational
power by R, the number of agents that can be
considered for reorganization is determined and
stored in k
t
. Equations 3 and 4 show the process of
determining k
t
. In these equations, i stands for
current iteration and RemComp indicates the
remaining power of iteration.
(3)
⁄
(4)
The number of agents to be considered for
reorganization, k
t,
should be divided between
neighbours and outsideHelpers of agent
x
. For this
division, we use the fraction w
f
to determine the
proportion of agents in each category based on
Equation 5 and 6.
w
∗numAgents
(5)
k
(6)
We found that the system reached highest profit
when w
f
=0.3. Thus, 30 percent of agents we consider
for reorganization are from outsideHelpers and the
rest are agent
x
’s neighbours. Figure 5 shows the
pseudocode of the Fixed approach algorithm. The
strategy of agent
x
in selecting the most suitable
outsideHelpers and most suitable neighbours is
different. Agent
x
calculates earned utility of its
neighbours and ranks them by this attribute. The
more utility they have earned, the better rank they
EfficientSelfAdaptingAgentOrganizations
297