Represent preferences as a directed graph with edge weights. (A.k.a. a network.)
An edge from A to B with weight W means ‘the agent would trade A for B in exchange for >=W units of utility’.
(I’m still debating as to if this definition of edge weight is backwards or not. There are arguments either way. That being said, it’s just a sign flip.)
An edge does not automatically imply a backedge. (Or alternatively, could have a backedge with a weight of infinity.)
A loop (self-edge) is technically allowed, but is ‘interesting’.
Then:
An agent is exploitable if there is any negative cycle (cycle with sum weight negative).
An agent is open to timewasting if there is any zero cycle.
I don’t know if there is a better term here.
There are several approaches to removing the inconsistancies in an inconsistant set of preferences.
One suboptimal but simple approach:
While the graph has a negative cycle of weight -W and length L
Add W/L to all edges in the cycle.
Another suboptimal but slightly better approach:
While the graph has a negative cycle:
Find the edge with the highest minimum W/L (that is, for all negative cycles, calculate W/L for all edges involved in said cycle, then find the edge with the maximum minimum W/L calculated) and add said W/L to it.
I strongly suspect that the ‘optimal’ solution is NP-hard[1]. That being said, roughly:
Minimize the total amount of weight added such that there are no negative cycles.
Tiebreak by minimum maximum weight added to a single edge.
Some examples of a 3-element cycle:
A =1> B =1> C =1> A
(That is, the agent would trade B for A only if you provide >=one unit of utility.)
No inconsistencies here.
A =1> B =1> C =-2> A
No inconsistencies here either, though the agent is open to timewasting. (‘I’ll trade A B C for A B C. Again. Again. Again. Etc.’)
A =1> B =1> C =-5> A
This is inconsistent. Someone could trade A B C for A B C and 3 units of utility.
Here’s a somewhat similar approach:
Represent preferences as a directed graph with edge weights. (A.k.a. a network.)
An edge from A to B with weight W means ‘the agent would trade A for B in exchange for >=W units of utility’.
(I’m still debating as to if this definition of edge weight is backwards or not. There are arguments either way. That being said, it’s just a sign flip.)
An edge does not automatically imply a backedge. (Or alternatively, could have a backedge with a weight of infinity.)
A loop (self-edge) is technically allowed, but is ‘interesting’.
Then:
An agent is exploitable if there is any negative cycle (cycle with sum weight negative).
An agent is open to timewasting if there is any zero cycle.
I don’t know if there is a better term here.
There are several approaches to removing the inconsistancies in an inconsistant set of preferences.
One suboptimal but simple approach:
While the graph has a negative cycle of weight -W and length L
Add W/L to all edges in the cycle.
Another suboptimal but slightly better approach:
While the graph has a negative cycle:
Find the edge with the highest minimum W/L (that is, for all negative cycles, calculate W/L for all edges involved in said cycle, then find the edge with the maximum minimum W/L calculated) and add said W/L to it.
I strongly suspect that the ‘optimal’ solution is NP-hard[1]. That being said, roughly:
Minimize the total amount of weight added such that there are no negative cycles.
Tiebreak by minimum maximum weight added to a single edge.
Some examples of a 3-element cycle:
A =1> B =1> C =1> A
(That is, the agent would trade B for A only if you provide >=one unit of utility.)
No inconsistencies here.
A =1> B =1> C =-2> A
No inconsistencies here either, though the agent is open to timewasting. (‘I’ll trade A B C for A B C. Again. Again. Again. Etc.’)
A =1> B =1> C =-5> A
This is inconsistent. Someone could trade A B C for A B C and 3 units of utility.
Consistent result is
A =2> B =2> C =-4> A
A =1> B =1> C =-5> A ; A =1> D =1> C
Consistent results from approaches above:
A =2> B =2> C =-3.33> A ; A =1.67> D =1.67> C
A =1> B =1> C =-2> A ; A =1> D =1> C
A =1> B =1> C =-2> A ; A =1> D =1> C
I strongly suspect there’s a reduction to 3SAT, in particular.