• No se han encontrado resultados

Cómo construir el nuevo sujeto histórico?

In document Houtart – El camino hacia la utopía (página 79-84)

LOS MOVIMIENTOS SOCIALES Y LA CONSTRUCCIÓN DE UN NUEVO SUJETO HISTÓRICO

III. Cómo construir el nuevo sujeto histórico?

In this section, we will deal with the problems of finding an allocation maximizingex-anteandex-postutilities. In the fol- lowing, we will restrict to the classical egalitarian criterion –

s {1} {2} {3} {4} {1,2} {1,3} . . . {2,3,4} {1,2,3,4} E(u) Pr(s) 0.016 0.004 0.016 0.004 0.064 0.016 0.064 . . . 0.256 0.064 —

u1,s 0 10 0 0 7 10 10 . . . 7 17 9.4

u2,s 0 0 8 4 0 8 4 . . . 12 12 8.4

M(u) 0 0 0 0 0 8 4 . . . 7 12 PPP6.448PPP8.4

Table 1: Utility profile andex-anteandex-postutility computation for a problem with 2 agents, 4 objects, probabilitiesp=

h0.8,0.5,0.5,0.2i, weights w1 = h10,2,4,7iand w2 = h3,8,4,10i, decisionπ = h{1,4},{2,3}i, M = min. Here,

pcu(π) = 6.448andacu(π) = 8.4(see Section 2.2).

that is,M= min– which is worthy of attention in this con-

text, as it represents exactly the expected utility of the poorest agent.

Ex-ante collective utility Ex-ante collective utility is de- fined by Equation (3) ; introducing some “expected weights”

˜

wij = pjwij, the expression can be simplified: ∀π ∈

D, acu(π) =Mi∈Au˜i(π)whereu˜i(π) =Pj∈πiw˜ij.

Thus, since thew˜ij coefficients can be computed in mere linear-time, the problem of finding anex-anteoptimal alloca- tion can be reduced to a classical risk-free resource allocation problem with additive preferences, known as the Santa Claus problem [1]. Since this problem has already been tackled in litterature, we focus in the following on theex-postoptimiza- tion problem.

Ex-post collective utility A basic algorithm forcomputing

the ex-post collective utility, directly applying formula (4), requires the computation of the collective utility in each pos- sible state (i.eeach column in Table 1), that is, the enumera- tion of an exponential number of values. Clearly, computing theex-postcollective utility of a given decision is in#P, but

we do not know yet if it is complete for this class (even if we strongly believe it).1

However, as soon as all the objects allocated to an agent are in bad condition, the utility of this agent is zero, and so is the collective utility, whatever states the remaining ob- jects are in. Algorithm 1, which computes theex-postcol- lective utility for a given decision, is based on this remark: it quickly “eliminates” such states of nature, whose enumer- ation is unnecessary. A functionSORT is used in this algo-

rithm in the following manner: SORT(u, f) returns a vec-

toru↑ which is a permutation of the values of u, such that

i < i0 ⇒f(u↑i)≤f(u↑i0).

Theoptimization problem is tackled with both exact and approximate algorithms.

The exact approach is based on a classicbranch and bound

algorithm. Efficiency of such an algorithm highly depends on its ability to quickly detect poor allocations in order to “cut” significant parts of the search tree. A cut must be based on an easy-to-compute function which maximizes the value to be optimized.

Ex-post utility computation is time-consuming, and is therefore not used as a cut strategy, but only to assess com- plete allocations.

1Of course, computing an optimal allocation is even harder.

Algorithm 1: EXPOSTfunction:ex-postcollective utility computation

Data: A complete allocationπ

Result:Ex-postcollective utilitypcu(π)

π↑←SORT(hπ1, . . . , πni,X 7→ |X |);

returnBRANCH(h0, . . . ,0i,1,π↑,1);

FunctionBRANCH(u,pr,hρ1, . . . , ρni,i)

Data: A utility vectoru, a numberpr∈[0; 1], a vector

of sharesρ, an agenti Result:Ex-postcollective utility

ifρi=∅then ifi=nthen returnmin(u)×pr; else ifui= 0then return0; returnBRANCH(u,pr,ρ,i+ 1); else j arbitrary object inρa; ρ0← h. . . , ρi−1, ρi\ {j}, ρi+1, . . .i; u0← h. . . , ui−1, ui+wij, ui+1, . . .i;

returnBRANCH(u,pr·pj,ρ0,i)+BRANCH(u0,

pr·pj,ρ0,i);

Instead, we use inequality (5) and choose functionacuas upper bound ;acurepresents theex-anteutility of a virtual

decision which would allocate toall the agentsthe set of ob- jects (denoted π0) that are not yet allocated by the current

decisionπ: acu(π) = min i∈A( X j∈πi ˜ wij+ X j∈π0 ˜ wij)

Even thoughacuis clearly a rough upper bound, this value

remains fast to compute.

At this point, it seemed interesting to look for a intermedi- ate function, which would be a better upper bound thanacu

and faster to compute thanpcu. The idea is to compute utility in anex-postmanner for a subsetΩof objects, and in anex- antemanner for the other ones ; we introduce in this sense the

mixed utility, denotedmui,s for a given agentiand a given state of natures.

Algorithm 2: Stochastic greedy

Data: A risky fair division problem instance.

Result: A good allocation, according toex-post

collective utility Stock← ∅; π?=hπ? 1, .., πl?i ← h∅, . . . ,∅i; pcu? ←0; i0;

whilegiven time has not elapseddo

πBUILDALLOCATION(); ifacu(π)pcu?then

pcuapp←EXPOSTA(π);

ifpcuapp>minπ∈Stock(EXPOSTA(π))then

STORE(π);

ii+ 1;

ifi=nbStorage×nbBef oreExactComputation then

forπ∈Stockdo pcu←EXPOST(π); ifpcu > pcu?then

π? ←π; pcu? ←pcu; Stock← ∅; i0; returnπ?;

ProcedureBUILDALLOCATION()

u=hu1, .., uni ← h0, . . . ,0i; π=hπ1, .., πni ← h∅, . . . ,∅i; while∃j∈π0do ˚iargmini ∈A(alter(ui)); ˚jargmaxj ∈π0(alter(w˚ij)); π˚i ←π˚i∪˚j; u˚i ←u˚i+w˚i˚j; returnπ; mui,s(π,Ω) = X j∈Ω∩good(s) j∈πi wij+ X j /∈Ω j∈πi ˜ wij

The mixed utility represents the utility of an agent which considers that objects outsideΩare for sure in good condi-

tion and which assigns them weightsw˜ij. Themixed collec-

tive utilityis defined by Equation (6) as theex-postcollective utility from individual mixed utilities.

mcu(π,Ω) =X

s∈S

Pr(s)·min

i∈Amui,s(π,Ω) (6) Note that individual mixed utilities are independent from the states of the objects outside Ω. The expected value

computation in Equation (6) can therefore boil down to the formula (7), where for s s.t. good(s) ⊆ Ω, one denotes Pr(s,Ω) = Qjgood(s)pjQj∈Ω\good(s)pj the probability for objects in Ωto be in the state specified by s, whatever

states the other objects are in. The number of states of nature to list is halved for each object outsideΩ, which shows the algorithmic point of mixed collective utility.

mcu(π,Ω) = X

s∈S good(s)⊆Ω

Pr(s,Ω)·min

i∈Aumi,s(π,Ω) (7)

We can prove that mixed collective utility lies betweenex- postandex-antecollective utilities (proof omitted due to lack of space).

Proposition 2 (Mixed collective utility) For all decision

π∈ Dand for all subsetΩ⊆ O, one has:

acu(π)≥mcu(π,Ω)≥pcu(π) (8)

Our branch and bound algorithm uses the upper bound functionacuto cut within the body of research: the function

mcuis used only when a complete allocation has been made,

to avoid unnecessaryex-postcollective utility computations. Dynamic heuristics are used as suggested by [2] : each ob- ject will be firstly allocated to the poorest agent (i.e. the one whose expected utility is currently the lower) ; when a new object has to be allocated, the one preferred by the currently poorest agent is chosen among those still left.

The approximate algorithm (Algorithm 2) is based upon a greedy stochastic algorithm [3]. As soon as a complete allocation has been built, an approximateex-post collective utility computation is made by EXPOSTA, in order to de- cide if the allocation will be stored or not. The approxi- mate computation is made using the mixed collective util- ity or the Monte-Carlo method (the latter being based on a sequence of random draws in the space of states of na- ture). A fixed numbernbStorageof promising allocations

is stored within the course of the algorithm ; if an alloca- tion is better – as far as the approximate computation can tell – than the worst currently stored, the function STORE

saves this new allocation (and the other one is deleted if the storage capacity is reached). As soon asnbStorage×

nbBef oreExactComputationallocations have been made, an exactex-postcollective utility computation occurs for each stored allocation, and only the best one is kept.

During the building of an allocation, we use randomly bi- ased heuristics, introducing functionalter : R R, such

that∀yR, alter(y) =y·(1 +φX), whereφis a positive real parameter andX a standard normal random variable.

4 Results

Algorithms introduced in this article are implemented using Java and run on random instances, where weightswaoare uni- formly drawn in{0,1, ..,99}, and probabilitiespjuniformly in[0; 1].

Table 2 and Figure 1 show the results of the exact search algorithm. Four configurations are tested: the algorithm is firstly run with a cut based uponacufunction only (case (a)), then by using dynamic heuristics (case (b)), next by intro- ducing Algorithm 1 forex-postcollective utility computation (case (c)), and finally by adding mixed collective utility cuts (case (d)). Figure 1 shows efficiency of configuration (d),

10 20 30 40 50 60 70 80 90 100 6 7 8 9 10 11

ex-post comput. time (% total time)

objects (b) (a) (c) (d) 0 10 20 30 40 50 60 70 80 90 100 7 7.5 8 8.5 9 9.5 10

ex-post comput. time (% total time)

objects (b)

(a)

(c)

(d)

Figure 1: Exact resolution. Duration ofex-postcollective utility computations, as a percentage of total execution time, for 5 (left) and 7 (right) agents (mean over 100 instances)

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 2 3 4 5 6 7 8 9 10 11 (acu*-pcu*)/acu* objects n = 2 n = 3 n = 4 n = 5 n = 6 n = 7

Figure 2: Timing effect influence. The ratio

(acu?pcu?)/acu?varies with the number of objects, for different numbers of agents..

0.01 0.1 1 10 100 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

ex-post utility comput. nb

probability p_o n=2, l=2

n=2, l=10

n=4, l=4

n=4, l=8

Figure 3: Probabilities influence. Number of totally explored search tree branches, as a percentage of the total number of branches (mean over 100 instances for different numbers of agents and “equaly likely” objects)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 20 40 60 80 100 120 pcu(t)/pcu* time(s) N=5000 N=1000 N=200

(a) Monte-Carlo approximation, for different numbers of draws. 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 20 40 60 80 100 120 pcu(t)/pcu* time(s) |Omega| = 4 |Omega| = 8

(b) Mixed collective utility approximation, for different sizes of theΩset.

Figure 4: Approached resolution. Evolution of the bestex-postcollective utility with time, for two approximation methods (means over 100 instances involving 5 agents and 12 objects).

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 20 40 60 80 100 120 pcu(t)/pcu* time(s) (5,30) (5,12) (30,5) (30,2)

Figure 5: Approached resolution with Monte-Carlo method.

Ex-post collective utility evolution for different couples

(nbStorage, nbBef oreExactComputation) (means over

100 instances involving 5 agents and 12 objects)

in which use of mixed collective utility produces good cuts, and therefore deeply reduces the number ofex-postcollective utility computations made during the algorithm.

n l (a) (b) (c) (d) 5 ≤9 100 100 100 100 5 10 49 52 89 100 5 11 1 1 10 52 5 ≥12 0 0 0 0 7 ≤8 100 100 100 100 7 9 27 47 100 100 7 10 0 1 19 32 7 11 0 0 0 0

Table 2: Exact resolution. Number of instances solved in 30 seconds (over 100 random instances).

Figure 2 shows influence of thetiming effect. Relative dif- ference between ex-post and ex-ante collective utilities in- creases when the number of agents increases or when the number of objects decreases.

The algorithm efficiency highly depends on probabilities

p, which is clearly illustrated by Figure 3. Because of higher

proximity between ex-ante and ex-post collective utilities when the probabilitiespj are closer to1, cutting strategies are more efficient in this case.

Algorithm 2 is tested on 100 instances (n = 5,l = 12), for a duration of 2 minutes2. Figure 4 illustrates the influence

of the approximation methods parameters ; Figure 5 shows the importance of functionnal parameters: the best solution quality significantly increases with the number of allocations stored during the run.

In document Houtart – El camino hacia la utopía (página 79-84)