Optimization of Multi-Agent Task Allocation using ...

2 downloads 11922 Views 102KB Size Report
allocation of tasks is required for good system performance, if only to ..... the shopping website has chosen the wrong courier company to handle this work. The.
Advances in Computational Sciences and Technology ISSN 0973-6107 Volume 3 Number 4 (2010) pp. 483–492 © Research India Publications http://www.ripublication.com/acst.htm

Optimization of Multi-Agent Task Allocation using Backtracking Algorithm: A Heuristic Approach Subrat P. Pattanayak1, Sujata Dash2 and Sanjay Sen3 1

Faculty (Comp. Sc.), RIMS, Rourkela, India HOD (Comp. Sc.), OEC, Bhubaneswar, India 3 Faculty (Comp. Sc.), JIT, Cuttack, India E-mail: [email protected], [email protected] , [email protected] 2

Abstract Research in multi-agent systems has been growing rapidly and gaining interest. As the applications of multi-agents are distributed in space, time, or functionally so it requires multiple agents to work together to enhance productivity. The multi-agent allocation not only improves the performance and robustness of the system but also lowers the overall expenditure. The cost might be reduced by constructing multiple cheaper agents rather than a single expensive agent. Multiple agents improve the robustness of the system, as in case of failure of a single agent, another agent can take up the charge and accomplish the job. The objective of a task allocation procedure is either to find any allocation of tasks such that all tasks will get completed in time or to find an allocation that is best for the current time. In the latter case, the allocation could be optimal with respect to a suitable aggregation of the preferences of the individual agents in the system. We tried a specific procedure for task allocation among multi-agents with backtracking facilities which may prove to be useful in multi agent system. When allocations are made among agents, due to human agent’s error, allocation among multiagents may not be appropriate in some cases; if backtracking facilities are available, the error can be minimized. We have also used the reallocation technique for improvement in task allocation procedure. Keywords: Agent, Multi-agent system, Backtracking, Reallocation, Human agent.

484

Subrat P. Pattanayak et al

Introduction Now-a-days, the problem of task allocation in multi-agent systems has received significant and increasing interest in the research community. As researchers design, build, and use cooperative multi-agent systems, they invariably encounter the question: “which agent should execute which task?” This question must be answered, even for relatively simple multi-agent systems, and the importance of task allocation grows with the complexity, in size and capability, of the system under study. Even in the simplest case of homogeneous agents with fixed, identical roles, intelligent allocation of tasks is required for good system performance, if only to minimize physical interference. Task allocation proves to be vey efficient way for minimizing resource and communication between agents. As it has already been discussed, the very basic question arises here “which agent should execute which task” and the answer should be optimized for better performance. Lot of methods has been developed to optimize the answer. Answers may be found but it may fail to optimize the resource and time. Let us take an example of “assignment problem”: If we have to assign 4 jobs to 4 effective people, then we should choose the best pair (x, y) where “x “is the job type and “y” is the allocated person. Now even if we allocate in an unmanned way still we can achieve the global solution but may not be the best one. Assigning jobs to agents is not that difficult, when we are not concerned for the cost and time spend on it and our only objective is to get the solution. But when we want the best solution which is also cost and time effective, it is required to allocate the best job to the best person. Hence allocating the best job to best person not only reduces the cost, time it also gives a valid global solution. In this paper we discuss some issues related to multiagent task allocation and also try to improve the performance of the agents during the allocation procedure.

Multi-Agent System Intelligent agent technology is a sub-field of Distributed Artificial Intelligence (DAI). DAI is concerned with issues arising from problem solving by a collection of smart entities and concurrency of computation at different levels. Some of the basic belief of problem solving by intelligent agents are: (I) each agent may have different knowledge, capabilities, reliability, resources, responsibilities or authority, (II) Different agents may perceive the same event or object differently. (III) Agents may specialize in or focus on different problems and sub-problems. (IV) An important goal is convergence on solutions despite incomplete or inconsistent knowledge or data. When an environment is inhabited by many agents, it might be possible to define the rules of the environment so that the collective good of all agents is maximized when each agent adopts the game theoretic solution that maximized its own utility. Multi-agent systems solve complex problems in distributed fashion without the need for each agent to know about the whole problem being solved. Multi-Agent-based systems technology has generated lots of excitement in recent years because of its promise as a new paradigm for conceptualizing, designing, and implementing software systems. This promise is particularly attractive for creating software that operates in environments that are distributed and open, such as the

Optimization of Multi-Agent Task Allocation

485

Internet. However, as the technology matures and addresses increasingly complex applications, the need for systems that consist of multiple agents that communicate in a peer-to-peer fashion is becoming apparent. We define “an Agent as a set of programs capable of handling a particular work, having the nature of perceiving and acting accordingly in its environment”.

Sometimes it is very difficult to solve a particular problem with a single agent or it may happen the single agent can solve the problem but with high resource or time complexity. To get rid of these situations multi-agent system was developed; where many agents collaborately perform for the global solution of the problem. Here the local agents solve their respective tasks and send their local solution to the centralized agent for the global solution. Hence having multiple agents could speed up a system's operation by providing a method for parallel computation. In case of application that is easily broken into individual tasks can be handled by separate agents could benefit from MAS. That means the parallelism of MAS can help deal with restrictions imposed by time bounded reasoning requirements. While parallelism is achieved by assigning different tasks or abilities to different agents, toughness is a benefit of MAS that have unnecessary agents. If control and responsibilities are sufficiently shared among different agents, the system can tolerate failures by one or more of the agents. Another benefit of MAS is their scalability. Since they are inherently modular, it should be easier to add new agents to MAS than it is to add new capabilities to a monumental system. From a programmer's perspective the modularity of MAS can lead to simpler programming. Rather than tackling the whole task with a centralized agent, programmers can identify sub processes and assign control of those subtasks to different agents. To achieve common goals agents need coordination among themselves. On the other hand, effective coordination requires cooperation, which in turn can be achieved through communication and organization process.

Backtracking Method Backtracking is a general algorithm for finding all (or some) solutions to some computational problem that incrementally builds candidates to the solutions, and

486

Subrat P. Pattanayak et al

abandons each partial candidate c ("backtracks") as soon as it determines that c cannot possibly be completed to a valid solution. Backtracking can be applied only for problems which admit the concept of a "partial candidate solution" and a relatively quick test of whether it can possibly be completed to a valid solution. When it is applicable, however, backtracking is often much faster than brute force enumeration of all complete candidates, since it can eliminate a large number of candidates with a single test. Backtracking helps to come back to the previous solvable position and starts its solution once again knowing the difficulties. Sometimes we choose the local solution for the global solution of a problem. Assuming the local solution may give us the global solution. But selection of local solution is very difficult matter when the environment is explicit in nature. That’s why in many occasions we may not complete with the required global solution. Then the method of Backtracking procedure helps to overcome this situation. Backtracking make the process possible to change the local solution if we arrive at a wrong place in sense of the global solution. The famous 4-Queen Problem is very common example for the same.

Placing the queen in the board such that each row or column has one allocation. That is two queens should not be in the same row or column or attack each other diagonally. If we place the 1st one at cell (1, 1) [Choice -1] then we can not place one at any cells of 1st row, 1st column and diagonally also. Then if we place the next one at cell (3, 2) [Choice -2] then we may not get the solution leading the situation of backtracking to come back to the previous step to rectify the local solution. So in backtracking we are searching for the best solution taking the local solution as the current solution. This method we also have the option to change the current solution for the over all optimal solution. This is a very good search method where the agents are more and we need the best agent for the best job within the scope of the problem. The algorithm can be stated as 1. Generate an implicit (local) solution in search of global solution. 2. Test the next solution step by step. 3. One the path is recognized as a dead line a. The corresponding solution is not valid. b. Undo last choice c. Continue with step 2.

Optimization of Multi-Agent Task Allocation

487

Task allocation Task allocation primarily deals with two parameters: (a) which agent should perform which task if a task is divided into many sub tasks and (b) their optimum number to perform a given task at any given time instant. Most of the existing task allocation mechanisms deal with the first parameter, considering “task” to be a sub-goal that can be accomplished independently and it is necessary for achieving the overall goal of the system. Allocation Procedures The allocation procedure used to find a suitable allocation of tasks could be either centralized or distributed. In the centralized case, a single entity decides on the final allocation of tasks amongst agent, possibly after having elicited the preferences of the other agents in the system. Typical examples for the centralized approach are combinatorial auctions. Here the central entity is the auctioneer and the reporting of preferences takes the form of bidding. In truly distributed approaches, on the other hand, allocations emerge as the result of a sequence of local negotiation steps. Such local negotiation is often restricted to bilateral trading as in the classical Contract-Net approach, but systems allowing for multilateral exchanges of tasks between more than two agents are also possible. In multi-agent systems a team of agents can accomplish certain tasks more efficiently and effectively in terms of improved performance and robustness of the system at a lower cost. The coordination of a team of agents to solve a specified task requires implementation of task allocation and coordination mechanisms. Task allocation determines the team-size for a given task and assigns each agent its own piece of task. Present task allocation methodologies provide solution to either of the problems, allocation of task to agents and finding optimum number of agents for a task. The methodologies, which consider the system to be heterogeneous mainly focus on optimal task allocation to a group of agents, whereas, when the system is considered to be homogenous the task allocation mainly focuses on division of labor that is number of agents to a particular task. Dynamic Auction Allocation with reassignment using backtracking We proposed task allocation procedures which follows dynamic algorithm. The proposed algorithm tries to reduce the communication overhead time and allocation time per iteration. The basic idea is when a task is available for evaluation, it is put up for auction in specific environment as comparing to open environment. First we have decided the environment for task allocation. When the problem is divided into different tasks, division of tasks is done with respect to the restricted environment. An environment provides the conditions under which an entity (agent or object) exists. Designing effective agents requires careful consideration of all of these factors when designing their environment. Conversely environment also reflects the agent’s restrictions. All types of agent may not associate with all types of environment. So we designed the environment looking after the nature of the task. For an Example: for a job of Bank PO the minimum entering qualification may be post graduation. For this

488

Subrat P. Pattanayak et al

type of environment many agent may apply for the auction, but if we limited the environment by limiting the qualification to first class in post graduation then, only qualified agent may call for auction. As we need qualified agent for our task which can conclude the task on proper time, the procedure may be expensive. After modeling the environment we then consider obvious cases 1. Publish: The central auctioneer agent announces the bid with complete set of instructions. In the restricted environment, thus only those agents currently capable of performing the task will receive the message. 2. Procedure & Restrictions: The message accompanied with set of rules and procedures. One of the major procedures is allowed is reassignment using backtracking. 3. Candidate’s Evaluation 4. Bid submission - After evaluating the appropriate fitness value(s) each candidate agent/agents publishes its resulting task-specific fitness "score" as a closed bid message. 5. Close of auction 6. Progress monitoring / contract renewal - While the winner agent/agents execute the task, the central auctioneer monitors task progress periodically.

Algorithm for candidate phase 1. Calculate the HC, RC, and MC for the task and profit. 2. Call for the auction with maximum pay off value. 3. Wait for the allocation if exists. 4. If allotted, decide to accept or not

Backtracking in Task allocation When allocation of the task is completed among the agents according to some criteria, all agents may not carry the same efficient or time to handle the respective tasks. When a particular agent solves its task in its environment, the agent faces many unidentified challenges leads it to incapable position to dealing with its allocated task. Then it may find three ways: 1. Completely quit the process without reaching its solution. 2. Transform its parts to another agent with request message. 3. Backtracks to previous solvable position and starts again knowing the future difficulties. When the allocations of tasks will be completed then the evaluation will be started. In an wide environment finding the agent-task (i, j) pair is not always easy. Even if after finding the pair may not give the optimal solution. The method of back tracking allows us for reassignment. The detailed auctioneer phase algorithm can be treated as follows:

Optimization of Multi-Agent Task Allocation

489

Algorithm for Auctioneer phase The manager (the auctioneer) advertises the resource to a number of partner agents (the bidders) and the manager elects the best bid and assigns the resource accordingly. i.e. 1. Find the agent-task pair (i; j) i.e. task j for agent i 2. Evaluate it and do the following a. If reject (i, j) then backtrack ( j ) // task j is not suitable for agent i b. Assign (i, k) where k is another task. // assigning another suitable task k to agent i c. Go to step I otherwise d. Accept (i, k) and go for next allocation. 3. Assign agent i to task k and remove (i, k) from consideration for further assignment. 4. Go to step 1 & repeat the procedure. Procedure backtrack (j) if reject(i, j) then return // if task j is not correct for agent i if accept(i,k) then output(i, k) // if task k is correct for agent i s ← first(i, k) // first appropriate pair is (i, k) While s ≠ ∅ do bt (s) // find for next appropriate pair s ← next(P,s)

Experiments Let there are tasks (j, k …) with agents (i ……). Tasks and agents may have one-one and many-many relations. We also assume that each agent is capable of estimating its fitness for every task of which it is capable. This estimation includes two factors, both task-dependent and agent dependent.

The primary objective of the agent is to maximize its profit by calculating its expected pay off value and accordingly selecting best pair, either the best task for best agent or conversely. When the task j is not the best task for agent i then the centralized agent cancels the allocation and backwards and reallocate the suitable task to agent i. The overhead running time will be linear in nature.

490

Subrat P. Pattanayak et al

If 1st allocation will take in p times, the backward technique will also take p times. The only concern is the time gap between after allocation and backward technique. That is the point when the centralized agent feels the particular agent is incapable of handling the allocated task. So the progress or monitoring technique is very much useful job in the process. The allocated agent may have many difficulties to handle the particular task such as less resource, less capital or complete incapable etc. The centralized agent monitors the progress and takes the feedback. The allocation time O (p) and the backwards time will be O (p) and again the reallocation time will be O (p). So the total time allocation will be:

Illustration Sometimes Shopping websites procedure follows the concept of backtracking but after non availability of the shipment dealer they used to return the amount to the customer. After getting the order from the customer with requisite payment, shopping websites takes the action to ship the ordered item to the customer address. Its shipment procedure should contain: 1. Customer’s address 2. Courier Type 3. Service of Courier Company in customer’s city. “A particular person ordered an item “Car Watch” price @Rs 165/- including shipping charge. On Day 1 after getting the payment details the shopping websites verified the payments and takes necessary steps for shipment. It calls for courier companies to deal with the order. A particular company takes the order without looking the above points. The company has seen the customer’s address and courier type, but the service of the company is not available in customer’s city. In that case the shopping website has chosen the wrong courier company to handle this work. The shopping company monitors the shipment details through “order status history”. The major difficulty found in all these happened after Day 4, wasting 4 days without any productivity and service to the customer. Thus the shopping company is left with two options:

Optimization of Multi-Agent Task Allocation

491

1. Reallocation and fresh shipping 2. Cancellation Maximum shopping website does the cancellation creating negative feedback in customer’s mind. If the company reallocates a fresh courier company for shipment with guaranteed delivery, it may create an image in customer’s mind. In both the instances the online shopping websites ends in resulting dissatisfied customer hence looses its goodwill, but in the second case where the sopping website decides to resend the product may succeed in retaining the goodwill to some extent also may succeed in creating favorable opinion towards it. The following two figures explain the concept: Case-I

Cass-II

Conclusion & Future scope Multi-agent task allocation is a wide area of research. Solving a distributed problem is very difficult without the concept of coordination among the agents and for better coordination the task allocation among the agents is very much useful. Using the concept of backtracking technique, we can reallocate the tasks among the agents wither greater success. We have seen shopping companies used to cancel their order

492

Subrat P. Pattanayak et al

of a particular customer if they fail to deliver it due to wrong selection of Courier Company. But if we really monitors the progress and reallocate the same to another agent then with almost same overhead time the product reaches to the customer. Using the backtracking, the better allocation procedure among the agents can be maximized. In this way we can achieve the desired output and competency among the agents in a perfect manner. Here we have not specified the environment and the nature of the problem. As Backtracking a search technique, the environment restrictions plays vital role. In future certain algorithm can be developed to define the type of environment where back tracking procedure can be applied more widely.

References [1]

[2]

[3]

[4]

[5]

[6] [7]

[8]

[9] [10]

S.Pattanayak, Dr S. Dash: “Coordination among multi-agents: an advanced ai technique” is published in international journal hit transaction on eccn, ISSN: 0973-6875 VOL.2. No. 5, pp259-265. (2008). M. Kona, X. ChengXu, "Framework for Network Management Using Mobile Agents", Proc. of the16th International Parallel and Distributed Processing Symposium (IPDPS '02), pp. (225—229), April, 2002. F. Rafael and J. Silva, "Migration Transparency in a Mobile Agent Based Computational Grid", Proc. of the 5th International Conference of World Scientific and Engineering Academy and Society (WSEAS '05) on Simulation, Modeling and Optimization, Corfu, Greece, pp. (31-36), August, 2005. R. Michael, X. Chen, and T. Wong, "Design and Evaluation of a FaultTolerant Mobile-Agent System", Proc. of the IEEE Intelligent Systems International Journal, Vol.(19), No.(5), pp. (32- 38), Septemper, 2004. H. Kosch and D. Mario, "Content-based Indexing and Retrieval Supported by Mobile Agent Technology", Proc. of the International Workshop on Multimedia Databases and Image Communications (MDIC '01), Amalfi, Italy, pp. (152-165), September, 2001. FIPA: FIPA abstract architecture specification. Foundation for Intelligent Physical Agents standard (2002). Cox, M. T., Elahi, M., & Cleereman, K. (2003). A distributed planning approach using multiagent goal transformations. In A. Ralescu (Ed.), Proceedings of the 14th Midwest Artificial Intelligence and Cognitive Science Conference (pp. 18-23). Cincinnati: Omnipress. U. Suat and N. Erdogan, “A Flexible Policy Architecture for Mobile Agents”, Proc. of the 32nd International Conference on Current Trends in Theory and Practice of Computer Science (SOFSEM '06), pp. (538–547), January, 2006. N. Asokan, P. A. Janson, M. Steiner, and M. Waidner. The state of the art in electronic payment systems. Computer, 30(9):28–35, 1997. Chmiel, K. et al (2004). Agent Technology in Modelling E-Commerce Processes; Sam-ple Implementation. In: C. Danilowicz (ed.), Multimedia and Network Information Systems, Volume 2, Wroclaw University of Technology Press, pp. 13-22.

Suggest Documents