240 likes | 377 Views
Designing Agent Societies. Volha Bryl PhD student ICT, DIT bryl@dit.unitn.it. … …. … …. … …. … …. Agent Society. + collaboration (through delegation). - competitive goals. Agent. Goals Capabilities.
E N D
Designing Agent Societies Volha Bryl PhD student ICT, DIT bryl@dit.unitn.it
… … … … … … … … Agent Society + collaboration (through delegation) - competitive goals Agent Goals Capabilities Society member’s objective: use others capabilities to achieve personal goals
Problem Find optimal assignments: • satisfy all goals of all agents or • reach an compromise?
Formalization (1) • Two types: Actors and Goals • Goals: an actor wants a goal to be satisfied • Capabilities: an actor can satisfy a goal • Communication: an actor can pass (or delegate) a goal to another actor
Formalization (2) Goals can be decomposed into subgoals • Only one possible decomposition • Goal is satisfied iff all its subgoals are satisfied • Decomposition can be performed by any actor • Decomposition is actor-independent
Formalization (3) Three basic actions: • an actor satisfies a goal • an actor passes (or delegates) a goal to another actor • an actor decomposes a goal into subgoals Solution is a list ofactions that should be executed to satisfy all initial goals of all actors (or to reach an equilibrium)
Idea Let’s look at PLANNING which is in AI “the problem of finding a sequence of primitive actions to achieve some goal”
Planning problem • we need to formalize actions • an action has precondition and effect • precondition and effectcan be represented as conjunction or disjunction (for precondition only) of predicates or their negations
Planning problem. Predicates • Actor’s capabilities • can_satisfy (a – actor, g – goal) • can_depend_on (a1 – actor, a2 – actor) • Actor’s initial desires • wants (a – actor, g – goal) • Possible decomposition of goals • can_be_decomposed (g – goal, g1 – goal, g2 – goal, …)
Planning problem. Actions 1) Satisfies (a – actor, g – goal) precondition (and can_satisfy (a, g) wants (a, g) ) effect (and done (g)* not (wants(a,g) ) * done (g – goal) is an additional predicate which means “goal g is satisfied, no one wants it anymore”
Planning problem. Actions 2)Decomposes* (a – actor, g – goal, g1 – goal, g2 – goal) precondition (and can_be_decomposed (g, g1, g2) wants (a, g) ) effect (and wants(a,g1) wants(a,g2) not (wants(a,g) ) * can be extended to more than two actions
Planning problem. Actions 3) Passes (a1 – actor, g – goal, a1 – actor) precondition (and can_depend_on (a1, a2) wants (a1, g) ) effect (and wants(a2, g) not (wants(a1, g) )
Planning problem. Intuition (1) wantsare propagated through the graph and then eliminated – becomedone Decomposes (A, G, G1, G2) wants (A, G) wants (A, G1) wants (A, G2)
Planning problem. Intuition (2) wantsare propagated through the graph and then eliminated – becomedone Passes (G, A, B) wants (A, G) wants (B, G) wants (A, G) Satisfies (A, G) done (G)
Example. Informal formulation I want to go to the conference We can help to get the reimbursement …to go there means: buy a ticket and get reimbursement Professor I can buy a ticket Accounting office I can ask accounting office for help
Example. PDDL formulation (define (problem example) (:domain tropos-domain) (:objects Professor Accounting_office - t_actor Go_to_conference Get_reimbursement Buy_ticket - t_goal ) (:goal (and (done Go_to_conference) ) ) (:init (can_do Accounting_office Get_reimbursement ) (can_do Professor Buy_ticket ) (can_depend_on Professor Accounting_office ) (wants Professor Go_to_conference ) (and_subgoal2 Go_to_conference Buy_ticket Get_reimbursement ) )
Example. Solution pass [professor, get-reimbursement, accounting-office] decomposes [professor, go-to-conference, buy-ticket, get-reimbursement]performs [professor, buy-ticket] performs [accounting-office, get-reimbursement]
Big example. Description I know English I need to write a letter to the UK embassy 1st Secretary I can use printer …to write a letter means: type, print and certify it with stamp and boss’s signature Boss 2nd Secretary I have an official stamp I can only sign letters… 3rd Secretary
Big example. Solution decomposes [boss, write-letter, send-letter, type-letter-in-english]decomposes [boss, send-letter, certify-letter, print-letter]pass [boss, type-letter-in-english, secretary-1]pass [boss, print-letter, secretary-1]performs [secretary-1, type-letter-in-english]decomposes [boss, certify-letter, stamp-letter, sign-letter]pass [boss, stamp-letter, secretary-1]performs [boss, sign-letter]pass [secretary-1, print-letter, secretary-2]performs [secretary-2, print-letter]pass [secretary-1, stamp-letter, secretary-2]pass [secretary-2, stamp-letter, secretary-3]performs [secretary-3, stamp-letter] combines [certify-letter, stamp-letter, sign-letter]combines [send-letter, certify-letter, print-letter]combines [write-letter, send-letter, type-letter-in-english]
Summing up… two views We have different views on the problem • Cooperation in multi-agent communities (strategic games) • Analyzing requirements These views might be though as different application areas of the proposed solution
Summing up… or what we do not have • We need iterative solution building (iteration by imposing constraints on next solution) • We need “partial” solution (compromise or equilibrium) and its evaluation • We need the possibility of introducing new actors during the solution building