A quick tour of computational social choice
Where Artificial Intelligence meets collective decision making Sylvain Bouveret
LIG – Grenoble INP
A quick tour of computational social choice Where Artificial - - PowerPoint PPT Presentation
A quick tour of computational social choice Where Artificial Intelligence meets collective decision making Sylvain Bouveret LIG Grenoble INP Journes inaugurales du Pr-GDR IA Montpellier, 13 et 14 juin 2016 Outline A short history of
LIG – Grenoble INP
2 / 62 Introduction to computational social choice
3 / 62 Introduction to computational social choice
4 / 62 Introduction to computational social choice
◮ A set of alternatives O
4 / 62 Introduction to computational social choice
◮ A set of alternatives O ◮ A set of agents A = {a1, . . . , an}...
4 / 62 Introduction to computational social choice
◮ A set of alternatives O ◮ A set of agents A = {a1, . . . , an}... ◮ ...Expressing opinions over the alternatives.
4 / 62 Introduction to computational social choice
◮ A set of alternatives O ◮ A set of agents A = {a1, . . . , an}... ◮ ...Expressing opinions over the alternatives.
4 / 62 Introduction to computational social choice
5 / 62 Introduction to computational social choice
◮ Alternatives: candidates ◮ Agents: voters ◮ Preferences: ballots (usually linear orders)
5 / 62 Introduction to computational social choice
◮ X = {a, b, c, . . .} set of candidates ◮ N = {1, . . . , n} set of voters ◮ each voter reports a ranking ≻i over candidates; ◮ voting profile: P = ≻1, . . . , ≻n
6 / 62 Introduction to computational social choice
◮ X = {a, b, c, . . .} set of candidates ◮ N = {1, . . . , n} set of voters ◮ each voter reports a ranking ≻i over candidates; ◮ voting profile: P = ≻1, . . . , ≻n
6 / 62 Introduction to computational social choice
◮ X = {a, b, c, . . .} set of candidates ◮ N = {1, . . . , n} set of voters ◮ each voter reports a ranking ≻i over candidates; ◮ voting profile: P = ≻1, . . . , ≻n
6 / 62 Introduction to computational social choice
◮ X = {a, b, c, . . .} set of candidates ◮ N = {1, . . . , n} set of voters ◮ each voter reports a ranking ≻i over candidates; ◮ voting profile: P = ≻1, . . . , ≻n
6 / 62 Introduction to computational social choice
7 / 62 Introduction to computational social choice
7 / 62 Introduction to computational social choice
◮ Alternatives: allocations of the cake ◮ Agents: cake eaters ◮ Preferences: valuation functions (generally additive)
7 / 62 Introduction to computational social choice
◮ Proportionality: each agent feels that her share is worth at least 1 n of the cake. ◮ Envy-freeness: each agent feels that her share is better than the
8 / 62 Introduction to computational social choice
◮ Proportionality: each agent feels that her share is worth at least 1 n of the cake. ◮ Envy-freeness: each agent feels that her share is better than the
◮ Agent 1 cuts the cake into two pieces of equal value to her. ◮ Agent 2 chooses.
8 / 62 Introduction to computational social choice
n)
9 / 62 Introduction to computational social choice
n)
9 / 62 Introduction to computational social choice
n)
9 / 62 Introduction to computational social choice
n)
9 / 62 Introduction to computational social choice
n)
9 / 62 Introduction to computational social choice
n)
9 / 62 Introduction to computational social choice
10 / 62 Introduction to computational social choice
◮ Alternatives: allocations of the objects ◮ Agents: object consumers ◮ Preferences: valuation functions / orders,...
10 / 62 Introduction to computational social choice
◮ Alternatives: allocations of the objects ◮ Agents: object consumers ◮ Preferences: valuation functions / orders,...
10 / 62 Introduction to computational social choice
11 / 62 Introduction to computational social choice
◮ Matching students to schools (one-to-many matching) ◮ Matching students to projects (many-to-many matching) ◮ Matching men to women – stable marriage (one-to-one
11 / 62 Introduction to computational social choice
◮ n men and n women ◮ each man has a linear preference order over women, and vice
◮ We look for a stable marriage.
12 / 62 Introduction to computational social choice
◮ n men and n women ◮ each man has a linear preference order over women, and vice
◮ We look for a stable marriage.
◮ Each man who is not yet engaged proposes to his favourite
◮ Each woman picks her favourite among all the proposal she has
◮ Loop until everyone is engaged.
12 / 62 Introduction to computational social choice
13 / 62 Introduction to computational social choice
◮ Alternatives: valid partitions of the participants. ◮ Agents: participants. ◮ Preferences: usually numerical (additive) preferences on the
13 / 62 Introduction to computational social choice
◮ Alternatives: valid partitions of the participants. ◮ Agents: participants. ◮ Preferences: usually numerical (additive) preferences on the
13 / 62 Introduction to computational social choice
◮ Alternatives: logically interdependent issues ◮ Agents: judges ◮ Preferences: usually approval (yes / no) opinions.
14 / 62 Introduction to computational social choice
◮ Instructions from IJCAI-ECAI-2018 PC chair: accept a paper if and
◮ Accept ↔ Original ∧ Valid
15 / 62 Introduction to computational social choice
◮ Instructions from IJCAI-ECAI-2018 PC chair: accept a paper if and
◮ Accept ↔ Original ∧ Valid
◮ (Metareview). Your paper was judged to be original and
◮ Judgment aggregation: aggregate opinions about logically
15 / 62 Introduction to computational social choice
◮ Instructions from IJCAI-ECAI-2018 PC chair: accept a paper if and
◮ Accept ↔ Original ∧ Valid
◮ (Metareview). Your paper was judged to be original and
◮ Judgment aggregation: aggregate opinions about logically
◮ Strong links to nonmonotonic reasoning, belief merging,
15 / 62 Introduction to computational social choice
◮ Assigning courses to students ◮ Electing a political representative (e.g. the head of the
◮ Choosing a collective meeting date ◮ Choosing the future name for a region ◮ Electing the winner of the Eurovision song contest ◮ Scheduling the workload of a team of workers ◮ Matching patients with hospitals ◮ Diving a piece of land ◮ Forming teams ◮ Choosing the place for a common facility ◮ ...
16 / 62 Introduction to computational social choice
17 / 62 Introduction to computational social choice
◮ From Ancient Greece and India: Aristotle, Chânakya... ◮ ...To the late XVIIIth century:
◮ Condorcet ◮ Borda
◮ And the British philosophical roots of utilitarianism: Bentham,
18 / 62 Introduction to computational social choice
◮ Arrow’s theorem (1951):
19 / 62 Introduction to computational social choice
◮ Arrow’s theorem (1951):
◮ Results are mainly axiomatic (economics/mathematics) ◮ Impossibility theorems: incompatibility of a small set of
◮ Computational issues are neglected so far.
19 / 62 Introduction to computational social choice
◮ Around the 50’s: protocols for fair division (e.g. Banach-Knaster)
◮ Early 80’s: combinatorial auctions ◮ Early 90’s: computer scientists start studying computational
◮ 2006: First COMSOC Workshop ◮ As of 2016: a very active community, well represented in AAMAS,
20 / 62 Introduction to computational social choice
21 / 62 Introduction to computational social choice
21 / 62 Introduction to computational social choice
COMSOC
22 / 62 Introduction to computational social choice
COMSOC
economics
microeconomics social choice
22 / 62 Introduction to computational social choice
COMSOC
economics
microeconomics social choice
AI
preference repre- sentation constraint programming multiagent systems
22 / 62 Introduction to computational social choice
COMSOC
economics
microeconomics social choice
AI
preference repre- sentation constraint programming multiagent systems
combinatorial auctions
22 / 62 Introduction to computational social choice
COMSOC
economics
microeconomics social choice
AI
preference repre- sentation constraint programming multiagent systems
combinatorial auctions Theoretical Computer Science
algorithmics complexity logic
22 / 62 Introduction to computational social choice
COMSOC
economics
microeconomics social choice
AI
preference repre- sentation constraint programming multiagent systems
combinatorial auctions Theoretical Computer Science
algorithmics complexity logic
OR / Decision Theory
uncertainty / risk algorithmic decision theory combinatorial
multicriteria
22 / 62 Introduction to computational social choice
23 / 62 Introduction to computational social choice
24 / 62 Introduction to computational social choice
24 / 62 Introduction to computational social choice
24 / 62 Introduction to computational social choice
24 / 62 Introduction to computational social choice
24 / 62 Introduction to computational social choice
24 / 62 Introduction to computational social choice
24 / 62 Introduction to computational social choice
25 / 62 Introduction to computational social choice
25 / 62 Introduction to computational social choice
25 / 62 Introduction to computational social choice
◮ Borda rule ◮ a single voter hasn’t voted yet
◮ 4 voters so far:
◮ Current Borda scores
26 / 62 Introduction to computational social choice
◮ Borda rule ◮ a single voter hasn’t voted yet
◮ 4 voters so far:
◮ Current Borda scores
◮ a ≻ . . . ◮ yes
26 / 62 Introduction to computational social choice
◮ Borda rule ◮ a single voter hasn’t voted yet
◮ 4 voters so far:
◮ Current Borda scores
26 / 62 Introduction to computational social choice
◮ Borda rule ◮ a single voter hasn’t voted yet
◮ 4 voters so far:
◮ Current Borda scores
◮ c ≻ e ≻ d ≻ b ≻ a ◮ scores: c → 12, a → 10, b → 11, d → 9, e → 8 ◮ yes
26 / 62 Introduction to computational social choice
◮ Two voters haven’t voted yet ◮ Borda rule ◮ Tie-breaking priority a > b > c > d > e > f. ◮ Current Borda scores:
◮ Do the last two voters have a constructive manipulation for e? ◮ A simple greedy algorithm like before does not work.
27 / 62 Introduction to computational social choice
◮ for a single voter : in P
◮ Bartholdi, Tovey & Trick, Social Choice and Welfare, 89
◮ for a coalition of at least two voters : NP-complete
◮ Betzler, Niedermeyer & Woeginger, IJCAI-11 ◮ Davies, Katsirelos, Narodytska & Walsh, AAAI-11
◮ Lots of results of this kind
28 / 62 Introduction to computational social choice
29 / 62 Introduction to computational social choice
29 / 62 Introduction to computational social choice
29 / 62 Introduction to computational social choice
29 / 62 Introduction to computational social choice
30 / 62 Introduction to computational social choice
◮ S (build a new swimming pool) ◮ T (build a new tennis court)
30 / 62 Introduction to computational social choice
◮ S (build a new swimming pool) ◮ T (build a new tennis court)
30 / 62 Introduction to computational social choice
31 / 62 Introduction to computational social choice
31 / 62 Introduction to computational social choice
◮ voters 1, 2 and 5: S; voters 3 and 4: ¯
◮ voters 3,4 and 5: T; voters 1 and 2: ¯
31 / 62 Introduction to computational social choice
32 / 62 Introduction to computational social choice
32 / 62 Introduction to computational social choice
33 / 62 Introduction to computational social choice
◮ we elicit the voters’ preferences about a single variable; ◮ a local rule is used to compute the value chosen for this
◮ this value is communicated to the voters.
34 / 62 Introduction to computational social choice
35 / 62 Introduction to computational social choice
◮ New votes are coming (online vote, Doodle poll...) ◮ New candidates are coming (Doodle poll, recruiting committee...) ◮ Incomplete lists ◮ Truncated ballots
36 / 62 Introduction to computational social choice
◮ New votes are coming (online vote, Doodle poll...) ◮ New candidates are coming (Doodle poll, recruiting committee...) ◮ Incomplete lists ◮ Truncated ballots
◮ x is a necessary winner if she wins under all possible
◮ x is a possible winner if she wins under at least one completion
36 / 62 Introduction to computational social choice
◮ Borda rule ◮ a single voter hasn’t voted yet
◮ 4 voters so far:
◮ Current Borda scores
37 / 62 Introduction to computational social choice
◮ Borda rule ◮ a single voter hasn’t voted yet
◮ 4 voters so far:
◮ Current Borda scores
37 / 62 Introduction to computational social choice
◮ Automated verification of known proofs (e.g. the
◮ Simpler proofs or shorter counterexamples found (e.g the
38 / 62 Introduction to computational social choice
39 / 62 Introduction to computational social choice
◮ a finite set of objects O = {1, . . . , m} ◮ a finite set of agents A = {1, . . . , n} having some preferences on
40 / 62 Introduction to computational social choice
◮ a finite set of objects O = {1, . . . , m} ◮ a finite set of agents A = {1, . . . , n} having some preferences on
40 / 62 Introduction to computational social choice
◮ a finite set of objects O = {1, . . . , m} ◮ a finite set of agents A = {1, . . . , n} having some preferences on
◮ an allocation −
◮ such that πi ∩ πj = ∅ if i = j (preemption), ◮ i∈A πi = O (no free-disposal), ◮ and which takes into account the agents’ preferences
40 / 62 Introduction to computational social choice
41 / 62 Introduction to computational social choice
◮ We assume that the preferences are ordinal. ◮ Each agent specifies a linear order ⊲ on O (single objects)
41 / 62 Introduction to computational social choice
◮ We assume that the preferences are ordinal. ◮ Each agent specifies a linear order ⊲ on O (single objects)
?
?
41 / 62 Introduction to computational social choice
◮ We assume that the preferences are ordinal. ◮ Each agent specifies a linear order ⊲ on O (single objects)
?
?
41 / 62 Introduction to computational social choice
42 / 62 Introduction to computational social choice
42 / 62 Introduction to computational social choice
42 / 62 Introduction to computational social choice
◮ Expressing preferential dependencies is necessary in many
◮ however...explicit representation and elicitation of or u are
43 / 62 Introduction to computational social choice
◮ Expressing preferential dependencies is necessary in many
◮ however...explicit representation and elicitation of or u are
43 / 62 Introduction to computational social choice
◮ Expressing preferential dependencies is necessary in many
◮ however...explicit representation and elicitation of or u are
◮ Cardinal utilities: Weighted propositional logic, bidding
◮ Ordinal utilities: Prioritized goal bases, CI-nets...
43 / 62 Introduction to computational social choice
44 / 62 Introduction to computational social choice
44 / 62 Introduction to computational social choice
∅ a b c d ab ac ad bc bd cd abc abd acd bcd abcd
45 / 62 Introduction to computational social choice
∅ a b c d ab ac ad bc bd cd abc abd acd bcd abcd Induced preference relation ≻N : the smallest monotonic preference relation compatible with all CI-statements.
45 / 62 Introduction to computational social choice
◮ Expressivity:
◮ CI-nets can express all strict monotonic preference relations on
◮ Full expressivity is lost as soon as we only allow positive (resp.
◮ Complexity:
◮
◮
46 / 62 Introduction to computational social choice
◮ Expressivity:
◮ CI-nets can express all strict monotonic preference relations on
◮ Full expressivity is lost as soon as we only allow positive (resp.
◮ Complexity:
◮
◮
46 / 62 Introduction to computational social choice
47 / 62 Introduction to computational social choice
◮ We assume that the preferences are ordinal. ◮ Restriction: each agent specifies a linear order ⊲ on O (single
47 / 62 Introduction to computational social choice
◮ We assume that the preferences are ordinal. ◮ Restriction: each agent specifies a linear order ⊲ on O (single
?
?
47 / 62 Introduction to computational social choice
◮ We assume that the preferences are ordinal. ◮ Restriction: each agent specifies a linear order ⊲ on O (single
?
?
47 / 62 Introduction to computational social choice
◮ We assume that the preferences are ordinal. ◮ Restriction: each agent specifies a linear order ⊲ on O (single
?
?
47 / 62 Introduction to computational social choice
◮ A : a ⊲ b ⊲ c ⊲ d ◮ Responsiveness ◮ Monotonicity
48 / 62 Introduction to computational social choice
◮ A : a ⊲ b ⊲ c ⊲ d ◮ Responsiveness ◮ Monotonicity
48 / 62 Introduction to computational social choice
◮ A : a ⊲ b ⊲ c ⊲ d ◮ Responsiveness ◮ Monotonicity
48 / 62 Introduction to computational social choice
◮ A : a ⊲ b ⊲ c ⊲ d ◮ Responsiveness ◮ Monotonicity
48 / 62 Introduction to computational social choice
◮ A : a ⊲ b ⊲ c ⊲ d ◮ Responsiveness ◮ Monotonicity
48 / 62 Introduction to computational social choice
49 / 62 Introduction to computational social choice
◮ { a , c , d } ≻A { b , c , e } ◮ { a , d , e } and { b , c , f } are incomparable. ◮ {a, c, d} and {b, c, e, f} are incomparable.
49 / 62 Introduction to computational social choice
◮ { a , c , d } ≻A { b , c , e } ◮ { a , d , e } and { b , c , f } are incomparable. ◮ {a, c, d} and {b, c, e, f} are incomparable.
49 / 62 Introduction to computational social choice
◮ { a , c , d } ≻A { b , c , e } ◮ { a , d , e } and { b , c , f } are incomparable. ◮ {a, c, d} and {b, c, e, f} are incomparable.
49 / 62 Introduction to computational social choice
◮ { a , c , d } ≻A { b , c , e } ◮ { a , d , e } and { b , c , f } are incomparable. ◮ {a, c, d} and {b, c, e, f} are incomparable.
49 / 62 Introduction to computational social choice
50 / 62 Introduction to computational social choice
50 / 62 Introduction to computational social choice
50 / 62 Introduction to computational social choice
◮ π is Possibly Envy-Free iff for all i, j, we have π(j) ≻i π(i); ◮ π is Necessary Envy-Free iff for all i, j, we have π(i) ≻i π(j).
50 / 62 Introduction to computational social choice
51 / 62 Introduction to computational social choice
◮ Complete allocation. ◮ Pareto-efficiency
51 / 62 Introduction to computational social choice
◮ π is possibly Pareto-efficient (PPE) if there exists no allocation
◮ π′ is necessarily Pareto-efficient (NPE) if there exists no
51 / 62 Introduction to computational social choice
52 / 62 Introduction to computational social choice
52 / 62 Introduction to computational social choice
52 / 62 Introduction to computational social choice
52 / 62 Introduction to computational social choice
◮ under which conditions is it guaranteed that there exists a
◮ how hard it is to determine whether such an allocation exists?
52 / 62 Introduction to computational social choice
(algorithm)
(algorithm)
(P for 2 agents)
(Σp
2-completeness
conjectured)
53 / 62 Introduction to computational social choice
(algorithm)
(algorithm)
(P for 2 agents)
(Σp
2-completeness
conjectured) ◮ Results refined and extended by [Aziz et al., 2015], to the case of
◮ Notion of stochastic dominance
53 / 62 Introduction to computational social choice
◮ Start from an initial allocation ◮ Let the agents negotiate by swapping (bundles of) resources.
◮ with / without money ◮ bounded in the number of resources involved ◮ rational ◮ ... 54 / 62 Introduction to computational social choice
◮ Good news: for any separable collective criterion (utilitarian SW,
55 / 62 Introduction to computational social choice
◮ Good news: for any separable collective criterion (utilitarian SW,
◮ Bad news:
◮ Any kind of restriction on the types of deals ruins this
◮ The sequence of deals can be exponentially long
55 / 62 Introduction to computational social choice
56 / 62 Introduction to computational social choice
56 / 62 Introduction to computational social choice
◮ Best sequence: We “feel” that ABCCBA is fairer than AABBCC...
57 / 62 Introduction to computational social choice
◮ Best sequence: We “feel” that ABCCBA is fairer than AABBCC...
57 / 62 Introduction to computational social choice
◮ Best sequence: We “feel” that ABCCBA is fairer than AABBCC...
57 / 62 Introduction to computational social choice
◮ Best sequence: We “feel” that ABCCBA is fairer than AABBCC...
57 / 62 Introduction to computational social choice
◮ Best sequence: We “feel” that ABCCBA is fairer than AABBCC...
57 / 62 Introduction to computational social choice
◮ Manipulation: I know all the other agents’ preferences. At my
58 / 62 Introduction to computational social choice
◮ Manipulation: I know all the other agents’ preferences. At my
◮ First result: if I want S, I can find a manipulation to get it if it is
◮ Idea: greedy algorithm (pick the items in the same order of the
◮ Observation: reminds the algorithm for Borda manipulation? 58 / 62 Introduction to computational social choice
◮ Manipulation: I know all the other agents’ preferences. At my
◮ First result: if I want S, I can find a manipulation to get it if it is
◮ Idea: greedy algorithm (pick the items in the same order of the
◮ Observation: reminds the algorithm for Borda manipulation?
◮ Optimal manipulation: P for two agents
58 / 62 Introduction to computational social choice
◮ Manipulation: I know all the other agents’ preferences. At my
◮ First result: if I want S, I can find a manipulation to get it if it is
◮ Idea: greedy algorithm (pick the items in the same order of the
◮ Observation: reminds the algorithm for Borda manipulation?
◮ Optimal manipulation: P for two agents
◮ Game-theoretic issues: Subgame-Perfect Nash Equilibrium,
58 / 62 Introduction to computational social choice
59 / 62 Introduction to computational social choice
◮ COMSOC: Social Choice meets Computer Science ◮ A lot of space for problems related to IA and CS in general:
◮ A young (≈ 15-20 years) but active field.
60 / 62 Introduction to computational social choice
61 / 62 Introduction to computational social choice
61 / 62 Introduction to computational social choice
61 / 62 Introduction to computational social choice
◮ Ulle Endriss’s web page. A lot of resources:
◮ http://www.illc.uva.nl/COMSOC/ ◮ https://staff.fnwi.uva.nl/u.endriss/teaching/comsoc/
◮ Some tutorials by Jérôme Lang (on which this presentation is
◮ Handbook of Computational Social Choice (2016). Brandt, Felix,
◮ Economics and Computation. An Introduction to Algorithmic
◮ Panorama de l’IA (2014), volume 1, chapitre 15 (Systèmes
62 / 62 Introduction to computational social choice
62 / 62 Introduction to computational social choice
62 / 62 Introduction to computational social choice
62 / 62 Introduction to computational social choice
62 / 62 Introduction to computational social choice