Appears in: Proc. of WebNet '97, Oct. 1997, Toronto, Canada.

An Adaptive Multi-Agent Architecture for
the ProFusion* Meta Search System


Yizhong Fan
Sprint Corporation
yizhong.fan@mail.sprint.com

Susan Gauch
Department of Electrical Engineering and Computer Science
University of Kansas
sgauch@eecs.ku.edu

*http://profusion.ittc.ku.edu/


The goal of this project is to develop an intelligent, adaptive Web search tool. Our work is based on ProFusion, a Web meta-search engine developed at the University of Kansas. ProFusion analyzes incoming queries, categorizes them, and automatically picks the best search engines for the query based on a priori knowledge (confidence factors) which represents the suitability of each search engine for each category. It uses these confidence factors to merge the search results into a re-weight list of the returned documents, removes duplicates and, optionally, broken links and presents the final rank-ordered list to the user. The main goals of the current research are to 1) provide ProFusion with a multi-agent architecture which is easier to extend, maintain and distribute and 2) to include automatic adaptation algorithms to replace the hard-coded a priori knowledge.

The multi-agent system consists of four different types of agents, namely, a dispatch agent, a search agent, a learning agent, and a guarding agent. The dispatch agent communicates with the user and then dispatches queries to the search agent and the learning agent. The search agent interacts with the underlying search engines and is responsible for reporting search results, confidence factors, and time-out values of the underlying search engines to the dispatch agent, as well as invoking the guarding agent when necessary. The learning agent is in charge of the learning and development of the underlying search engines, in particular adjusting confidence factors. The guarding agent is invoked when a search engine is down and it is responsible for preventing the dispatch of future queries to a non-responsive search engine as well as detecting when the search engine is back online. Figure 1 shows the control flow and intercommunication between agents in the ProFusion system.

Our multi-agent architecture demonstrates various desirable agent characteristics [Mae 1994] including: task-oriented modules, task-specific solutions, de-emphasized representations, decentralized control structure, and learning and development. The search agent, learning agent, and guarding agent each consists of a set of 6 identical competence modules, each of which is responsible for one of 6 underlying search engines (task-oriented modules). These competence modules are self-contained black boxes which handle all the representation, computation, "reasoning", and execution that is necessary for its particular search engine. Although all 6 competence modules for each of the 3 agents are implemented using identical code, each uses its own local configuration and knowledge files to achieve its competence (task-oriented competence). In other words, there is no central representation shared by the several modules. Instead, every task-oriented module represents locally whatever it needs to operate autonomously. The localized representations of different modules are not related (de-emphasized representations).

Figure 2 illustrates the ProFusion multi-agent system architecture view. This architecture is highly distributed and decentralized. Each search engine keeps its competence modules and local representations in a separate directory. Except for the dispatch agent, all of the competence modules of the search agent, learning agent, and guarding agent operate in parallel. None of the modules is "in control" of other modules (decentralized control structure). Because of this distributed operation, the new system is able to react quickly to changes in the environment and make the corresponding adjustments.

The adjustments are made by the learning agent which uses adaptation algorithms. The new ProFusion adapts to changes in search engine's performance, to changes in search engine's response time, and to changes in search engine's result formats. The adaptation to performance is achieved by observing user behavior to provide feedback which dynamically changes the performance knowledge base, the adaptation to response time is achieved by using dynamically changing time-out values, and the adaptation to result formats is achieved by using a dynamic extraction pattern, or in other words, a parser.

With this adaptive multi-agent architecture, the ProFusion system is now more competitive in the dynamic Web environment since it automatically adjusts to changes in its environment. ProFusion is also much easier to maintain and extend because it no longer requires a priori knowledge of a new search engine's confidence factors for each category (this will be determined by the learning agent). Since the search agent incorporates a parser, no more custom code is needed for extracting the search results, only a description of the language the search engine currently speaks.

References

[Mae 1994]. Pattie Maes, "Modeling Adaptive Autonomous Agents", Artificial Life Journal, edited by C. Langton, Vol. 1, No. 1 & 2, pp. 135-162, MIT Press, 1994.