Algorithmic Coalitional Game Theory Lecture 11: Coalition Structure Generation Oskar Skibski University of Warsaw 12.05.2020
Coalition Structure Generation Coalition Structure Generation Find a partition of players π = {π " , β¦ , π # } such that the sum of values of coalitions, i.e. π€ π " + β― + π€(π # ) , is maximized. In other words: which coalition structure will form? β’ There are πΆπππ(π) partitions. β’ We need to check values of all coalitions, so perform at least π(2 ! ) steps. 2 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Coalition Structure Generation Coalition Structure Generation Find a partition of players π = {π " , β¦ , π # } such that the sum of values of coalitions, i.e. π€ π " + β― + π€(π # ) , is maximized. Notation: β’ π¬(π) β the set of all partitions of set π β’ π¬ # (π) β the set of all partitions of set π of size π π π β size of π¬ # π , i.e., Stirling number of the second kind β’ β’ π€ π β value of partition π , i.e., β $β& π€(π) 3 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Coalition Structure Generation π¬ ' (π) 1|2|3|4 π¬ ( (π) 12|3|4 13|2|4 14|2|3 1|23|4 1|24|3 1|2|34 π¬ ) (π) 123|4 124|3 134|2 1|234 12|34 13|24 14|23 π¬ " (π) 1234 4 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Dynamic Programming (DP) [Yeh 1986] Input: Game π, π€ Output: π β β π¬(π) s.t. π€ π β β₯ π€ π for every π β π¬(π) 1: for π from 1 to π do 2: for each π β π, π = π do 3: π π β π€ π ; π’ π β {π} ; 4: for each π΅, πΆ β π¬ " (π) do 5: if π π΅ + π(πΆ) > π π then π π β π π΅ + π πΆ ; 6: 7: π’ π β π’ π΅ βͺ π’ πΆ ; 8: return π’ π ; 5 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Dynamic Programming (DP) [Yeh 1986] π» π π» π» π π» {1} π€ 1 = 2 {1,2,3} π 1 + π 2,3 = 9 {2} π€ 2 = 4 {1,2,4} π 1 + π 2,4 = 11 {3} π€ 3 = 3 1,3,4 π€ 1,3,4 = 10 {4} π€ 4 = 5 {2,3,4} π 2 + π 3,4 = 12 {1,2} π 1 + π 2 = 6 {1,2,3,4} π 1 + π 2,3,4 = 14 {1,3} π€ 1,3 = 5 {1,4} π€ 1,4 = 7 For π€ π = β #β% π + β #β% π πππ 3 {2,3} π€ 2,3 = 7 {2,4} π 2 + π 4 = 9 {3,4} π€ 3,4 = 8 6 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Dynamic Programming (DP) [Yeh 1986] DP Complexity DP runs in time π« 3 ! . Proof: For every coalition π β π , π β β , DP checks 2 $ S" β 1 splits. So: ! π 2 $ S" β 1 = < 2 WS" β 1 = < π‘ $βT,$Uβ WX" ! = 1 π 2 WS" β 1 = 1 2 3 ! + 1 β 2 ! . 2 + < π‘ WXY 7 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Dynamic Programming (DP) [Yeh 1986] π¬ ' (π) 1|2|3|4 OPTIMAL π¬ ( (π) 12|3|4 12|3|4 13|2|4 14|2|3 1|23|4 1|24|3 1|2|34 π¬ ) (π) 123|4 123|4 124|3 124|3 134|2 1|234 12|34 12|34 13|24 14|23 π¬ " (π) 1234 8 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Improved DP (IDP) [Rahwan & Jennings 2008] Main idea: βWe do not have to consider all splits as long as we can reach every coalition structure.β Which splits should we use? For π β π , we consider only splits π΅, πΆ β π¬ ! (π) such that: π΅ , πΆ β€ π β π΅ β πΆ . 9 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Improved DP (IDP) [Rahwan & Jennings 2008] Input: Game π, π€ Output: π β β π¬(π) s.t. π€ π β β₯ π€ π for every π β π¬(π) 1: for π from 1 to π do 2: for each π β π, π = π do 3: π π β π€ π ; π’ π β {π} ; 4: for each π΅, πΆ β π¬ " π s.t. |π΅|, πΆ β€ π β π ππ π = π do 5: if π π΅ + π(πΆ) > π π then π π β π π΅ + π πΆ ; 6: 7: π’ π β π’ π΅ βͺ π’ πΆ ; 8: return π’ π ; 10 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Improved DP (IDP) [Rahwan & Jennings 2008] π¬ ' (π) 1|2|3|4 π¬ ( (π) 12|3|4 13|2|4 14|2|3 1|23|4 1|24|3 1|2|34 π¬ ) (π) 123|4 124|3 134|2 1|234 12|34 13|24 14|23 π¬ " (π) 1234 11 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Improved DP (IDP) [Rahwan & Jennings 2008] π¬ ' (π) 1|2|3|4 π¬ ( (π) 12|3|4 13|2|4 14|2|3 1|23|4 1|24|3 1|2|34 π¬ ) (π) 123|4 124|3 134|2 1|234 12|34 13|24 14|23 π¬ " (π) 1234 We removed 12 arrows We removed 12 splits out of 31 arrows. out of 25 splits. 12 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Improved DP (IDP) [Rahwan & Jennings 2008] IDP Correctness IDP is correct, i.e., finds the optimal coalition structure. Proof: It is enough to show that we can reach every coalition structure. Fix arbitrary π = {π " , β¦ , π # } and assume π " β€ β― β€ |π # | . If π = 2 , then trivial. Assume π > 2 . It is enough to show that π has an incoming edge from the lower level. This is true, because for π " βͺ π ) we have: π " β€ π ) β€ π β π " β π ) . 13 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Improved DP (IDP) [Rahwan & Jennings 2008] IDP Complexity IDP runs in time π« 3 ! . Proof: We can calculate the number of splits that we do not consider and show that it is π 3 ! . Rahwan and Jennings showed that for π = 25 , IDP consider only 38.7% splits of DP. 14 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Optimal DP (ODP) [Michalak et al. 2016] Main idea: βInstead of looking at coalition sizes, we can take a lexicographical orderβ Let us write π΅ βΌ πΆ if π΅ is lexicographically smaller. E.g., 1,2,3 βΌ 1,4 βΌ {2,3,4,5} . For π β π , we consider only splits π΅, πΆ β π¬ ! (π) such that: π΅, πΆ βΌ π β (π΅ βͺ πΆ). 15 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Optimal DP (ODP) [Michalak et al. 2016] Input: Game π, π€ Output: π β β π¬(π) s.t. π€ π β β₯ π€ π for every π β π¬(π) 1: for π from 1 to π do 2: for each π β π, π = π do 3: π π β π€ π ; π’ π β {π} ; 4: for each π΅, πΆ β π¬ " π s.t. π΅, πΆ βΌ π β (π΅ βͺ πΆ) ππ π = π do 5: if π π΅ + π(πΆ) > π π then π π β π π΅ + π πΆ ; 6: 7: π’ π β π’ π΅ βͺ π’ πΆ ; 8: return π’ π ; 16 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Optimal DP (ODP) [Michalak et al. 2016] π¬ ' (π) 1|2|3|4 π¬ ( (π) 12|3|4 13|2|4 14|2|3 1|23|4 1|24|3 1|2|34 π¬ ) (π) 123|4 124|3 134|2 1|234 12|34 13|24 14|23 π¬ " (π) 1234 17 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Optimal DP (ODP) [Michalak et al. 2016] π¬ ' (π) 1|2|3|4 π¬ ( (π) 12|3|4 13|2|4 14|2|3 1|23|4 1|24|3 1|2|34 π¬ ) (π) 123|4 124|3 134|2 1|234 12|34 13|24 14|23 π¬ " (π) 1234 We removed 17 arrows out We removed 12 splits of 31 arrows. out of 25 splits. 18 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Optimal DP (ODP) [Michalak et al. 2016] ODP Correctness There exists a unique path from π to every coalition structure which implies ODP is correct. Proof: Fix arbitrary π = {π " , β¦ , π # } and assume π " βΌ β― βΌ π # . If π = 2 , then trivial. Assume π > 2 . Now, π has exactly one incoming edge from the lower level, specifically from {π " βͺ π ) , π ( , β¦ , π # } , because only for π " βͺ π ) we have: π " βΌ π ) βΌ π β (π " βͺ π ) ). 19 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Optimal DP (ODP) [Michalak et al. 2016] ODP Minimality 2 + π ODP performs π 3 = " ) 3 !S" β 1 splits and less splits cannot be performed. Proof: Number π 2 corresponds to the number of splits of coalition π . Number π 3 corresponds to splits of π΅ βͺ πΆ into {π΅, πΆ} such that π΅, πΆ βΌ π β (π΅ βͺ πΆ) . It is easy to check that π ) (2 ! β 2) and π 2 = " 3 = ` 3 ! β 3 β 2 ! + 3 = " ) (3 !S" β 2 ! + 1) . " 20 Oskar Skibski (UW) Algorithmic Coalitional Game Theory
Recommend
More recommend