Cooperative multi-agent systems • In cooperative MAS agents strive to reach a common goal and increase the combined utility of their actions • Limitations on computational power and bandwidth prohibit the global view of the task structure • Exchange of complete local views between agents is prohibitive • Need to find a trade-off between the amount of information exchanged and the negotiation’s contribution to increasing combined utility 1 Contribution The proposed negotiation protocol: – Empirically shown to approach the utility of distributed agents’ actions very close to that of their aggregation – Multi-parameter – Uses marginal utility gain and cost to drive the negotiation 2 Assumptions • Agents possess local views of the task structures that define their functionality • Agents have access to a scheduler that takes a task structure and utility function as input and produces a set of schedules that increase the utility function locally 3 Motivating example: task allocation The agent needs a certain non-local task to be performed by some other agent. The negotiation’s goal is to increase the combined utility of actions of both agents by choosing a certain quality and time range of the non-local task. 4 Vocabulary 1 • Contractor – agent that has a non-local task NL that needs to be assigned to another agent • Contractee – agent that performs this task for the contractor • Utility – weighted sum of quality, cost, and duration of a schedule 5 Vocabulary 2 • Marginal utility gain (MUG) – local utility increment for the contractor with NL performed • Marginal utility cost (MUC) – local utility decrement for the contractee with NL performed 6 Motivating example: task structures TCR TCE sum sum Task1 Task2 sum M2 M3 M4 q:10 q:10 q:10 c:10 c:10 c:10 d:9 d:9 d:9 q:15 c:0 d:0 Task2 sum sum enables M1 Task1 sum enables M5 q:10 c:10 d:9 deadline:50 enables B1 B2 q:10 q:10 c:10 c:10 d:9 d:9 deadline:11 deadline:21 B3 q:10 c:10 d:9 B4 q:10 c:10 d:9 deadline:47 7 Contractor’s FSM rcvMsgCounterProposal always evalCounterProposal buildProposal sndMsgProposal Start Wait always rcvMsgAccept& HaveEnough sndMsgFinish EvalCounterProposal Accept&HaveEnough sndMsgFinish Reject sndMsgReject rcvMsgAccept& GetNext Finish generateNewProposal sndMsgProposal Accept&GetNext NewProposal 8 Contractee’s FSM rcvMsgReject Wait rcvMsgProposal evalProposal EvalProposal Start Reject rcvMsgFinish buildCounterProposal sndMsgCounterProposal Accept Finish sndMsgAccept 9 Binary search approach Each next proposal is the midpoint between the contractor’s current proposal and contractee’s current counter proposal. Disadvantages: • Finish time of first counter proposal may not be the actual reasonable finish time • Negotiation is about multiple issues (time range, quality) while the binary search focuses only on finish time • Binary search requires greater certainty about NL’s time range • Both agents are likely to cling to their own proposals, greater the likelihood that some solutions are missed. 10 Proposal/counterproposal information • EST - Earliest start time of the non-local task NL • FT - Finish time • minq - Requested quality • MUC - Marginal utility cost • MUG - Marginal utility gain 11 Protocol functions overview • buildProposal: – Creates the initial contractor’s proposal including the time range and quality of NL and MUG – Insists on highest local utility by executing NL according to the contractor’s best local schedule 12 Protocol functions overview • generateCounterProposal: – Creates the contractee’s counter proposals including the time range and quality of NL and MUC – Initially insists on highest local utility by executing NL according to the contractee’s best local schedule 13 Protocol functions overview • generateCounterProposal: – Tries to increase combined utility by lowering MUC – Successive counter proposals relax the time range and quality of NL until a schedule is found s.t. MUG>MUC 14 Protocol functions overview • generateNewProposal: – Creates the next contractor’s proposal based on the preceding proposal or counter proposal 15 Protocol functions overview • generateNewProposal: – Tries to increase combined utility by doing multi-parameter heuristic-based search in quality and time range space 16 Protocol functions: buildProposal • buildProposal: – produces the initially requested earliest start time and finish time of the non-local task according to the contractor’s best schedule – has limited information about the NL’s quality, cost, and duration – the greater the time range of NL’s execution is the closer to the high bound the requested quality is 17 Protocol functions: generateCounterProposal • If no previous Counter Proposal exists: – produces a “what-if” local contractee’s schedule ignoring the time range and quality of NL in the current proposal, but enforcing NL to be in the schedule, thus delivering the minimum marginal utility cost for the NL • If there is a previous Counter Proposal : – Alternatively relaxes the NL’s time range and lowers the requested quality from the current proposal until an acceptable schedule is found (MUG>MUC) 18 Protocol functions: generateNewProposal 1 • If Previous Proposal is acceptable for the contractee: – If the NL is out of initial time range and its quality below average then increase the quality request and make later the deadline for the NL – If the NL is in initial time range and its quality is above average then reduce quality request in the same time range thus trying to lower MUC – Otherwise shift time range later and reduce quality request thus trying to lower MUC 19 Protocol functions: generateNewProposal 2 • If Previous Proposal is not acceptable for the contractee: – If this is first counter proposal: • If the initial time range is too short then the deadline is moved later and lower quality is requested • Otherwise make the initial range a bit longer than the current estimate of NL’s execution time and request higher than average quality 20 Protocol functions: generateNewProposal 3 – If this is not first counter proposal • Assume a previous counter proposal from the contractee as current proposal • If requested quality above average then shift the time range later • If requested quality below average then request higher quality and shift the NL’s deadline later 21 Modified task structure New_TCE TCR sum sum TCE Task1 Task2 sum M2 M3 M4 q:10 q:10 q:10 c:10 c:10 c:10 d:9 d:9 d:9 q:15 c:0 d:0 Task1 enables Task2 sum deadline:50 M41 M42 M43 sum M5 q:10 c:10 d:9 exactly_one sum sum enables M1 M4 enables B1 B2 q:10 q:10 c:10 c:10 d:9 d:9 deadline:11 deadline:21 B3 q:15 c:0 d:0 B4 q:10 c:10 d:9 deadline:47 22 Protocol variants • Single step: the contractor sends a proposal PC to the contractee which accepts it if MUG(PC)>MUC(PC) or rejects it otherwise • Multi-step-Multiple-Try: the agents perform the negotiation process until a predefined number of acceptable solutions are found or iteration limits are exceeded • Multi-step-Limited-Effort: the agents perform the negotiation process until iteration limits are exceeded 23 Experiment task structures TCR TCE sum sum Task1 Task2 sum enables M1 M2 enables M4 q:10 q:10 q:10 c:10 c:10 c:10 d:9 d:9 d:9 q:15 c:0 d:0 enables M5 q:10 c:10 d:9 deadline:50 Task2 sum sum M3 est:10 est:24 Task1 enables enables B1 sum B2 q:10 q:10 c:10 c:10 d:9 d:9 deadline:11 deadline:21 enables B3 q:15 c:0 d:0 B4 q:10 c:10 d:9 deadline:47 24 Utility function • S – schedule Utility(S) = quality_gain(S)*quality_weight + cost_gain(S)*cost_weight + duration_gain(S)*duration_weight 25 Collected data • Negotiation outcome: success if the combined utility is increased • Utility gain: MUG - MUC • Gain percentage: percentage of utility gain relative to the combined utilities without the task allocation • Solution quality: utility percentage relative to the utility of the combined tasks • Complexity of task structures: function of the number of interrelationships and temporal constraints in the task structures • Number of negotiation steps (proposal/counterproposal messages). 26 Protocol comparison Success Average Gain Percentage Single-step ANNS Gain per Step Solution Quality 2850 7.63 1.0 7.63 94.43 Multi-stepOne-Try 4088 10.17 1.48 6.87 96.69 Multi-stepTwo-Try 4088 11.9 4.69 2.55 98.23 Multi-stepThree-Try 4088 13.4 6.42 2.09 99.51 Multi-stepLimited Effort 4088 13.9 8.15 1.7 99.93 27 Complexity • • • • ir1 – number of interrelationships in contractor’s task structure tr1 – number of temporal constraints in the contractor’s task structure ir2 – number of interrelationships in contractee’s task structure tr2 – number of temporal constraints in the contractee’s task structure Complexity of task structure = ir1 + tc1 + ir2 + tc2 + (ir1*tc1 + ir2*tc2 + ir1*ir2 + tc1*tc2 + ir1*tc2 + ir2*tc1)/6 28 Dependence of SQ on complexity 102 100 solution quality 98 96 94 92 MultiStepLimitedSearch MultiStepThreeTry MultiStepTwoTry MultiStepOneTry SingleStep 90 88 0 5 10 15 complexity of task structures 20 29 Net negotiation gain Assume that one negotiation step costs 0.5% of the overall utility of the negotiating agent’s schedules Net negotiation utility gain = negotiation utility gain – negotiation effort 30 Dependence of net gain on complexity 102 net negotiation gain 100 98 96 94 92 MultiStepLimitedSearch MultiStepThreeTry MultiStepTwoTry MultiStepOneTry SingleStep 90 88 0 5 10 15 complexity of task structures 20 31 Observations • The Multi-step-One-Try protocol is much better than Single step in almost all situations(except for very simple ones) • The Multi-step-Two-Try and Multi-step-ThreeTry protocols are useful in moderately constrained situations • The number of constraints can be used to choose a protocol that balances negotiation gain and effort for a certain situation 32
© Copyright 2026 Paperzz