{'fraction_non_alphanumeric': 0.028328368469294225, 'fraction_numerical': 0.01323327222731439, 'mean_word_length': 4.69450334366335, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
An Evolutionary Approach for Optimizing Hierarchical Multi-Agent System Organization

It has been widely recognized that the performance of a multi-agent system is highly affected by its organization. A large scale system may have billions of possible ways of organization, which makes it impractical to find an optimal choice of organization using exhaustive search methods. In this paper, we propose a genetic algorithm aided optimization scheme for designing hierarchical structures of multi-agent systems. We introduce a novel algorithm, called the hierarchical genetic algorithm, in which hierarchical crossover with a repair strategy and mutation of small perturbation are used. The phenotypic hierarchical structure space is translated to the genome-like array representation space, which makes the algorithm genetic-operator-literate. A case study with 10 scenarios of a hierarchical information retrieval model is provided. Our experiments have shown that competitive baseline structures which lead to the optimal organization in terms of utility can be found by the proposed algorithm during the evolutionary search. Compared with the traditional genetic operators, the newly introduced operators produced better organizations of higher utility more consistently in a variety of test cases. The proposed algorithm extends of the search processes of the state-of-the-art multi-agent organization design methodologies, and is more computationally efficient in a large search space.


Introduction
The organization of a multi-agent system (MAS) provides a framework for agent activities and interactions through the definition of agent roles, groups, tasks, behavioral expectations and authority relationships. A proper organization can ensure the behavior of the agents to be externally observable [3]. Particularly, in large scale systems such as crowdsourcing systems [25], to form and evolve an organization makes it possible for the system to exploit collective efficiencies and to manage emerging situations [9]. Experiments and simulations have shown that various organizations employed by a system with the same set of agents may have different impacts on its performance [16,4,7,18,26,27,23,10].
Among all kinds of organizations, the hierarchical structure is one of the most common structures observed in multi-agent systems. Many multi-agent systems can be abstracted as hierarchical, tree-like structures or sets of parallel hierarchical structures, where agents are categorized in different levels in the hierarchies [8]. Often, the level of an agent indicates its capabilities and roles. A specific level in the system consists of equally capable agents, performing similar roles, as seen in the distributed information retrieval (IR) system described in [7].
For a large hierarchical MAS, there exist a great variety of possible ways to organize the system. Due to the difference in the depth and the width of the hierarchy, the number of organization instances increases exponentially with the number of agents. Although many methodologies for organization modeling have been proposed, few of them present an effective way to search for an optimal organization instance. In order to solve the problem, this paper proposes a genetic algorithm (GA) approach as an alternative to the conventional enumeration methods for optimizing hierarchical multi-agent systems. Inspired by biological evolution processes such as selection, reproduction, and mutation, GAs are known to be robust global search algorithms for optimization and machine learning [6,2,12]. The heuristic nature of GA helps it to locate the global optimum in a vast search space. We design novel crossover and mutation operators to make the algorithm suitable for organization evolution and thereby ensure competitive performance. We will test the algorithm in an example of the IR model [7] which exhibits numerous possible organizational variants and verify its capability through simulations in different scenarios.

Related Work
The design of a multi-agent system organization has been investigated by many researchers. Early methodologies such as Gaia [21] and OMNI [20] aim to assist the manual design process of agent organizations. Instead of relying heavily on the expertise of human designers, it is desirable to automate the process of producing multi-agent organization designs. In this sense, a quantitative measurement of a set of metrics is needed to rapidly and precisely predict the performance of the MAS. With these metrics we can evaluate a number of organization instances, rank them, and select the best one without introducing heavy cost by actually implementing the organization designs.
In [7], an organizational design modeling language (ODML) was proposed, and the utility value was defined as the quantitative measurement of the performance of a distributed sensor network and an information retrieval system. Several approaches, including the exploitation of hard constraints and equivalence classes, parallel search, and the use of abstraction, have been studied in order to reduce the complexity of searching for a valid optimal organization.
Another organization designer, KB-ORG, which also incorporates quantitative utility as a user evaluation criterion, was proposed for multi-agent systems in [18]. It uses both application-level and coordination-level organization design knowledge to explore the search space of candidate organizations selectively. This approach significantly reduces the exploration effort required to produce effective designs as compared to modeling and evaluation-based approaches that do not incorporate designer expertise.
Nonetheless, similar to ODML, KB-ORG aims at pruning the search space. The design knowledge alone is inadequate for the identification of an optimal design when the possible variety of the organization structure becomes large.
Evolutionary based search mechanisms have been used to help the design of MAS organizations on a few occasions. For example, in [22], a GA-based algorithm is proposed for coalition structure formation which aims at achieving the goals of high performance, scalability, and fast convergence rate simultaneously. And in [11], a heuristic search method, called evolutionary organizational search (EOS), which is based on genetic programming (GP), was introduced. A review of evolutionary methodologies, mostly involving co-evolution, for the engineering of multi-agent market mechanisms, can also be found in [17]. These techniques show a promising direction to deal with the organization search in hierarchical multi-agent systems, as exhaustive methods, such as breadth-first search and depth-first search, become inefficient and impractical in a large search space.

Organization Representation
Generally speaking, the organization of a hierarchical MAS consists of a number of tree structures. According to the number of leaders, it can be either a single tree or a set of trees. The intermediate nodes in a tree are responsible of assigning tasks to their subordinates, as well as reporting back to their higherlevel authorities. Information exchange is only allowed in the vertical directions between higher and lower levels. There is no interaction of agents horizontally, or among different hierarchies. The leaf nodes are the bottom of the structure and they complete the most basic tasks.
Optimization in such a search space can be handled by evolutionary algorithms [12], especially genetic programming, which supports populations of tree structures. It has also been shown that some well-structured trees (e.g. binary trees), with a certain number of levels and a fixed number of subordinates per node, can be represented by arrays [15,1]. Transformations are feasible as a result of their regular structures, which allow the traditional crossover and mutation operators of other evolutionary algorithms, such as genetic algorithms, to take effect.
We propose an array representation of hierarchical MAS organizations which is applicable to a much broader range of hierarchical structures than just binary trees. It converts s set of hierarchical trees into a fixed-length array with integer components, which resemble gene sequences. The representation is not limited to describe a single tree, and the number of subordinates of each node need not be a constant. Unbalanced trees, in which leaf nodes are not on the same hierarchical level, can also be depicted using this representation.

Translating Organizations into Genomes
We assume that the hierarchical MAS considered here have the following properties. We assume that the number of leaf node agents is fixed before the search. We also assume that the maximum possible number of levels is determined. Thus, the total number of agents in the organization is bounded. Based on these assumptions, we can make use of the partition concept to convert the organization from tree structures to arrays.
Let N be the total number of leaf nodes or end nodes, so that the they can be numbered as 1, 2, ..., N respectively from left to right. Let M be the maximum tree depth (i.e. maximum height of the structure). The reason for limiting the height is that very tall structures can be slow or irresponsive, as the long path length from root to leaf increases message latency among the agents. The organization of a hierarchical MAS can be outlined by Representation 1: where a i is an integer between 1 and M , denoting the level number where leaf nodes i and i + 1 start to separate. An example with seven leaf nodes (N = 7) is illustrated in Figure 1. It consists of two trees. On Level 1, the four leaf nodes on the left and the three leaf nodes on the right separate into two trees. In other words, there is a separation between the leaf nodes 4 and 5, so a 4 = 1. On Level 2, there are two leaf nodes and one intermediate node (three nodes altogether) under the left tree root, corresponding to the "2 2" (two partition numbers) to the left of the "1" in the array. The one leaf node and one intermediate node (two nodes altogether) under the right tree root give the "2" (one partition number) to the right. Both intermediate nodes on Level 2 have two leaf nodes as their subordinates (leaf nodes 3 and 4, leaf nodes 6 and 7), which are separated on Level 3, resulting in the two 3s in the 3rd and 6th places in the array. Therefore, we get the whole array "2 2 3 1 2 3" for the organization.
Conversely, we can also obtain an organization by interpreting the representation array. For instance, if we want to determine which level node 4 in Figure  1 sits on, we need to examine both the node's left and right neighbor. The 3rd and 4th digits in the array are "3" and "1". It means that node 3 and node 4 are separated on Level 3. Node 4 and node 5 are separated on Level 1. As a result, node 4 is on Level 3 (larger number between 3 and 1). Similarly, because the fifth digit is "2", i.e. node 5 and node 6 are separated on level 2, node 5 should be on level 2 (larger number between 2 and 1). Theorem 1. The above representation has the following properties: 1. For every hierarchical organization instance which satisfies our assumptions in the beginning of Section 3.1, the array representation that can be generated is unique. 2. For every representation of the above mentioned form, there is an organization instance corresponding to it.
Proof. 1. We firstly prove the existence of an array representation for every hierarchical organization instance. The way of generating an array representation of an arbitrary hierarchical organization instance can be expressed as follows. If there are N leaf nodes, we prepare N 1 slots. Firstly, organize the structure well so that the root nodes, intermediate nodes, and leaf nodes are on their proper levels. Secondly, we examine the separation pattern between adjacent leaf nodes one by one from left to right. Fill the slots with the level number where the adjacent leaf nodes start to separate. See Figure 1 for an example. The first two leaf nodes on the left are direct subordinates of the first tree root, i.e. on the root level (Level 1) they do not separate. However, on Level 2, they separate into different nodes. So the first number is 2. The second slot should also be filled with 2 because the second and third leaf nodes on the left separate on Level 2. And as the third and fourth leaf nodes are direct subordinates of an intermediate node on Level 2, they start to separate on Level 3. 3 should be the third number in the array. And so on, we can get the values, which are the level numbers, for all the slots. Together they form the required representation. We then prove the uniqueness of the generated array representation. If array representations a 1 a 2 a 3 ...a N 1 and b 1 b 2 b 3 ...b N 1 which are derived from the same organization instance are different, there exits an i ∈ 1, 2, ..., N such that a i = b i . This shows that the leaf nodes i and i + 1 separate at different levels in the two corresponding organization structures, which means the organization structures are not identical. 2. Given an array representation with positive integers of length L, we would like to construct an organization instance containing L + 1 leaf nodes as follows. Find all the digit "1"s in the representation (if there are any). Calculate the number of digits (greater than 1) between adjacent 1s one by one from left to right, and denote them as n 1 , n 2 , n 3 , ..., n k+1 , where k is the number of 1s. If there are no 1s, then k = 0 and n 1 = L. The corresponding organization has k + 1 root nodes with n 1 + 1, n 2 + 1, n 3 + 1, ..., n k+1 + 1 leaf nodes, respectively, from left to right. So far we have completed the root level (Level 1) of the organization. For instance, with array [2 2 3 1 2 3], n 1 = 3, n 2 = 2, i.e. there are two root nodes with 4 and 3 leaf nodes respectively. For Level 2, we take segments with 1s and 2s as separators. These segments should only contain digits greater than 2 (if any). Like what is done for Level 1, the number of digits between adjacent separators are recorded as r 1 , r 2 , r 3 , ..., r t+1 , where t is the total number of 1s and 2s. If r i = 0, it corresponds to a leaf node; otherwise, it corresponds to an intermediate node on Level 2. After that, take segments with 1s, 2s, and 3s as separators, and repeat the steps until the greatest numbers in the representation are examined. In this way we can obtain the full organization instance. Note that the organization instance is non-unique. Figure 2(a) illustrates an extreme case where all three leaf nodes separate on Level 2, so the representation is [2 2]. It has the same representation as the organization in Figure 2(b). When such circumstances arise, we should examine all the possible organization instances that correspond to a representation and use the best one. In the following sections we explain that in the IR model, the sub-organizations having nodes with only one subordinate are uneconomical and should be simplified to achieve higher utility.
So far, we have established a surjective mapping from the set of all valid structure instances containing N leaf nodes with maximum height M , denoted as A, to the set of all arrays containing N 1 integer elements ranging from 1 to M , denoted as B. Furthermore, the representation is compatible with genetic operators such as one-point, two-point or uniform crossover, i.e. the offspring generated after the crossover of individuals from set B still belong to set B. Bit-wise mutation can also be applied here, so that every bit of the genome ai is mutated to a randomly picked different value from {1, 2, ..., M }/{a i } according to the user defined mutation probability.

Simplifying Organizations
The above representation can be applied to a general hierarchical MAS organization. For specific organization search problems, we may find it beneficial to simplify the representation in order to prune the search space and avoid unnecessary candidate evaluations of the algorithm. Trimming, combining, and reducing of branches are easy to achieve using the proposed representation. We will give an example of how to remove redundant intermediate nodes of the IR system in Section 5.1.

Variations of Representations
In Section 3.1, we have assumed that the leaf nodes are homogeneous. In such circumstances, an N − 1 array is enough to represent a hierarchical organization of a MAS. Nonetheless, in view of the circumstances where each leaf node must be treated uniquely, a second row can be added to the array representation to address the distinction resulting from permutations. This will make the representation to be in the form of a 2(N − 1) array (Representation 2): where {a i } are still integers between 1 and M , denoting the level of the partition between leaf nodes i and i + 1, and p 1 , p 2 , ..., p N 1 are a permutation of 1 to N with the last number discarded. Still using the example in Figure 1, now we use numbers 1, 2, ..., 7 to distinguish the mutually different leaf nodes. If in the organization they are 5, 3, 2, 1, 4, 7, 6, respectively, then the representation is: 2 2 3 1 2 3  5 3 2 1 4 7 One may also want to design an organization in which the number of leaf node agents is not fixed beforehand. To account for varied number of leaf node agents, we may use the following Representation 3: where N 1 is the actual number of leaf nodes of the representation, N 2 is the maximum number of leaf nodes allowed in the organization, and the remaining positions are filled with zeros. These variants of representations will function in the same manner as the Representation 1 when taken to go through genetic operators which are introduced next.

Crossover and Mutation Operators
The traditional one-point crossover chooses a random slicing position along the chromosomes of both parents. All data beyond that point in either solution is swapped between the two parents. The resulting chromosomes are two offspring. Though commonly used in genetic algorithms, this crossover method only influences the structure near the crossover point, as shown in Figure 3(a,b).
It may not be enough to generate new offspring in large-scale systems. To speed up the evolution and increase the chance of getting a desired structure with higher utility, new crossover operators are needed. In this paper, we propose a novel crossover operator, hierarchical crossover, specially designed for optimization of tree-structured organizations. The proposed hierarchical crossover operator based on the previously described Representation 1 contains swapping (a) Array representation.
(c) Hierarchical crossover. of sub-organizations and a repair strategy to keep the number of total leaf nodes constant. It is implemented as follows.
First of all, we compare the number of structure levels of two randomly selected organization solutions from the population. Denote the organization with more levels as the first individual and the number of levels as T . Denote the organization with fewer levels as the second individual. (In the case of a tie, the order can be arbitrarily assigned.) After that, we choose a node randomly from all nodes whose level number is between 1 and T − 1 from the first solution and denote the level number of the chosen node as S. Thirdly, we choose a node randomly at Level S, or the penultimate level, whichever is smaller, from the second solution, and exchange the sub-structures between the two solutions below the chosen nodes. If any of the solution candidates have only one level, we generate two random individuals of maximum tree depth instead. The exchange ensures that the two newly formed organization structures do not exceed the maximum height of their parent structures. However, the exchanged sub-structures do not necessarily contain equal number of leaf nodes. Thus, we propose the following repair strategy.
Find the solution with longer representation and randomly pick out one digit from it and insert this digit into a random slot in the other solution. Continue until the two solutions have equal length. This will guarantee the validity of the two solutions, as shown in Figure 3(a,c). Illustrated in both the array representation and the organization structures, Figure 3 displays the difference between the proposed hierarchical crossover and one-point crossover. The pseudo code of hierarchical crossover is given in Algorithm 1.
To apply hierarchical crossover to Representation 2, all we need is to bundle each column and move the second row together with the first row. As for organizations in Representation 3, the repair strategy is implemented with the digits randomly picked out from non-zero locations only and until each selected organizations have the same number of leaf nodes as before.
As seen from Figure 3, a branch of the tree is corresponding to a piece of gene fragment. By swapping the two selected gene segments in the parents, we get two new organization instances with exchanged sub-organizations. This step is similar to two-point crossover, in which the segments between the two randomly selected crossover points of both parents are swapped to form the offspring. However, like one-point crossover, two-point crossover also does not concern whether the selected gene segments correspond to the whole tree branches or not. And as long as the two crossover points are determined, the locations of the segments in the arrays do not change. Hierarchical crossover is different from two-point crossover in that it focuses on the branches of the tree structures and only change the gene segments that refer to whole branches. Moreover, the locations of the two gene segments of the parents may differ from each other, and the repair strategy promotes organization update.

The Information Retrieval Model
In this paper we will examine the algorithm in the information retrieval system [7]. A structured, hierarchical organization composed of nodes as mediators, aggregators, and databases is used to model the IR system. An agent is assigned for each node to take the corresponding functions. The information recall and the query response time are combined to form a metric to determine the utility of the organization. Detailed procedures to calculate the utility can be found in [7].
At the top level of each hierarchy is a mediator. The user sends a query, which a randomly assigned mediator is responsible to handle. It uses the collection signatures of all the mediators to compare data sources, then routes the query to those mediators that seem appropriate. After the query has been directed through the aggregators and processed by all the databases under the selected mediators, the responsible mediator finally collects and delivers the resulting data.

Simplifying Organization Representation with the IR Model
Since it is assumed in the IR model that all the databases in the system contain the same amount of topic data, and thus, there are no differences among the end nodes (i.e. leaves of the trees), we may apply Representation 1 to the IR model. Here Level 1 is the mediator level, where nodes are all mediators. The intermediate nodes correspond to aggregators, and the leaf nodes are database agents. The whole organization can be outlined by a set of trees.
From a practical viewpoint, we notice that it is not necessary to include an aggregator if it only has one subordinate, because it will only increase the information transmission delay and not bring any integration advantages. Hence, if such an organization instance emerges, we can simply omit the aggregator node and reduce the organization structure by one level.
Related modification can be made in the array representation, which is summarized below. Firstly, obtain all the segments of a genome between adjacent mediators (i.e. the integer series between 1s). Set the smallest values of these segments to 2. Secondly, obtain all the segments with 1s and 2s as separators. Set the smallest values of these segments to 3. Continue until the highest level of the organization. Figure 4 shows the detailed steps of a sample simplifying procedure. It transforms a 5-level sample organization of the IR system to a 4-level one. The simplifying procedure is employed to achieve higher utility. At the same time, the number of organization instances we have to evaluate for every representation is reduced to one.

Implementation and Evaluation Criteria
The optimization is carried out using genetic algorithm with population of organizations represented by arrays, the hierarchical crossover and the mutation of small perturbation as described in the above sections. The utility value serves as the fitness measure of an individual organization.
We recognize that there are likely multiple optimal solutions that achieve the same utility in a given system environment, owing to the symmetry of the structures. Therefore, we need a method that allows growth in several promising areas in the search space. In other words, the diversity of the population Using "1" as separators: 3 1 5 2 3 3 4 2 1 2 5 3 1 4 3 Using "1" "2" as separators: 2 1 5 2 3 3 4 2 1 2 5 3 1 4 2 Using "1" to "3" as separators: 2 1   should be enhanced and over-convergence should be avoided. We increase the competition between similar individuals by applying the restricted tournament selection (RTS) method described in [5]. It helps to preserve diverse building blocks needed to locate the optimal organization. We compare the proposed algorithm, called hierarchical genetic algorithm (HGA), with the standard genetic algorithm using one-point crossover with bitwise mutation (SGA1) and two-point crossover with bit-wise mutation (SGA2) in order to show the benefits of the newly introduced operators. We examine the algorithms in two aspects, the accuracy and the stability of search, which are evaluated by average percentage relative error (APRE) and success rate (SR) respectively. The percentage relative error (PRE) can be calculated by: where f best is the best known fitness value among all the runs of all the algorithms for a given test case, and f is the current fitness value achieved by the algorithm. APRE is the average of the PRE values among all the independent runs of each test case. SR ∈ [0, 1] denotes the ratio of the number of runs in which the best known solution is found by the algorithm to the total number of runs in each test case. We examine the test cases of 12,14,16,18,20,22,24,26,28, and 30 databases. The maximum height of the structures is set to be 4. The population size and the maximum number of candidate evaluations used are shown in Table 1. All algorithms use a window size w = 5 for RTS in the population updating stage. The mutation rate is 0.1. All test cases involve 10 independent runs.
The environment parameters are as follows: message latency = 20 milliseconds, process service rate = 10 per second, response service rate = 20 per second, and query rate = 3 per second. The search set size and query set size are set to be the total number of mediators for each organization. The response recall is therefore identical (100%) in all cases, and the utility is determined by the response time. The computation time of the genetic operators and population updating is negligible compared to that of the candidate evaluations. Therefore, we conclude that the number of candidate evaluations is more suitable as an evaluation. All algorithms are tested in MATLAB 7.9.0.

Comparison of Results
In this section we will demonstrate the advantage of the proposed HGA over the standard GA with one-point and two point crossover in locating the best organization of the IR system. Table 2 shows the APRE and SR values of SGA1, SGA2, and HGA in the 10 test cases. The best value for each test case is highlighted. It can be observed that the accuracy of the proposed HGA is better than SGA1 and SGA2 in 9 out of the 10 cases. Only in the 18-database case, SGA2 outperforms SGA1 and HGA in terms of APRE.
Regarding the search ability, HGA also has an advantage over SGA1 and SGA2 in the majority of the test cases. The superiority of HGA is more pronounced in larger-scale organizations which contain more than 20 database nodes. In those cases, SGA1 and SGA2 fail to locate the best known organization instances for most of the time, whereas the proposed HGA still maintains high SR values of 90%100%. This proves that HGA uses fewer candidate evaluations to locate the best organization than the conventional GAs. Given that the candidate evaluations are very computationally expensive in many real-world systems, it is beneficial to use HGA in such circumstances.
The non-parametric Wilcoxon signed-rank test is performed to judge whether there is a statistically significant difference between HGA and SGA1/SGA2. As a pair-wise test in a multi-problem scenario, we use all the APRE values of each algorithm as sample vectors. The null hypothesis H0 is set as "there is no difference between HGA and SGA1/SGA2 in terms of the APRE values." Accordingly, the alternative hypothesis H1 is "The two methods are significantly different." A significance level of 5% is implemented. We get that the APRE values of HGA is different from those of SGA1 at the p-value of 0.1953% and is different from those of SGA2 at the p-value of 0.3906%, which suggests the proposed algorithm is statistically better than both SGAs.

Comparison with State-of-the-art Multi-agent Organization Design Methodologies
Comparison with ODML In ODML [7], the exploitation of hard constraints, equivalence classes, parallel search, and model abstraction, are used to assist the search process. Rather than going through a decision tree to verify the constraint requirements as ODML does, our algorithm incorporates the array representation that already ensures the satisfaction of constraints in maximum height of  the structure and the number of databases in the system. Parallel search and model abstraction are also intuitively used in HGA.
In ODML, the agents are treated in three equivalence classes: the mediators, the aggregators, and the databases. The number of organization alternatives is cut down by discarding organizations which are equivalent to an existing one under the symmetry principle. For instance, the organizations that are symmetrical to each other are equivalent in ODML, and only one should be kept as a candidate.
For the 10 test cases of the IR system, despite the truncation of redundant equivalent organizations, the total number of evaluations needed for ODML can be approximated as O(2.1 N ), where N is the number of leaf nodes. In particular, the number of evaluations needed for the 12-database case is 4,304, and that of the 30-database case is 3,788,734,984. Compared with ODML, HGA uses much fewer evaluations. This saves a great amount of computation burden, as the calculation of utility functions can be very computationally expensive.
It should be noted that the HGA is compatible with all the above mentioned search space reducing measures. However, we maintain the equivalent organizations, for they may contribute to finding a good solution. This compromise results in a larger search space for HGA, whereas in ODML, the elimination of redundant equivalent organizations helps to narrow down the search range to a great extent. When the number of equivalent organizations is prevailing, ODML should have an advantage benefited from the elimination measure. Nevertheless, in the studied system, HGA still manages to evolve the population of organizations at a reasonable pace, and it spares the computation time for branch pruning at the same time.
Comparison with KB-ORG Different from ODML, KB-ORG [18] emphasizes the use of design knowledge in application and coordination levels. With good knowledge, a system can be designed with relatively affordable cost. However, in certain cases, design knowledge is hard to acquire. It largely depends on the level of expertise of the designer. Design knowledge is not guaranteed to be accurate, and it needs to be updated following the change of environmental variables.
In the IR model, the main difficulty lies in the coordination of agents, e.g. how many levels of hierarchy is needed. Assume that the designer has successfully located the best organizations for 12, 14, 16, and 18 databases. He may think that a 3-level hierarchy is best for the 20-databse case as well. This will reduce the search space to 58,327 organizations, but it will miss out the highest rated organization, which is 4-leveled with the utility of 821.60. The utility of the best 3-level organization is 814.11, which is worse than the worst utility (820.01) found by HGA within 50,000 evaluations in all runs. On the other hand, if the designer reaches at a relaxed bound of structure height of either 3 or 4 for the 20-database case, the number of organization evaluations will mount to 2,120,662. Although design knowledge could bring convenience, it is sometimes far from satisfactory. In contrast, our algorithm searches for the highest rated organization in a heuristic way. It is able to handle these test cases without the assistance of external expertise.

Conclusions and Future Work
We have proposed a novel genetic algorithm based approach to solve the problem of designing the best organization in hierarchical multi-agent systems. Complementary to existing methodologies that emphasize on the pruning of the search space, our algorithm uses a bio-inspired evolutionary approach to lead the search to promising areas of the search space, and is thus suitable for optimizing multiagent systems with a great variety of possible organizations where designer expertise alone is not enough or hard to acquire. In the example of the information retrieval system, we have empirically proved that the algorithm is able to discover competitive baseline structures in different systems and assemble them to obtain the highest rated structure from a magnitude of up to 109 organization alternatives. Moreover, the new crossover and mutation methods helped HGA enhance the search efficiency greatly, promoting its performance both in accuracy and stability.
With necessary modifications, the algorithm is applicable to other models as well. It can be used to optimize any tree-based hierarchical organizations of multi-agent systems, given that proper fitness values are assigned. Application areas include scenario tree and decision tree optimization. On the other hand, the proposed array representation can also be used for other forms of MAS organizations, such as holarchies. We will also explore the incorporation of fuzzy cognitive [14,19], goal-oriented [24], and inference based [13] methods into the proposed framework to improve its robustness and connection with real-world application domains.