- class svvamp.GeneratorProfileGaussianWell(n_v, n_c, sigma, shift=None, sort_voters=False)[source]#
Profile generator using the ‘Gaussian well’ model.
- Parameters:
Notes
Let us note
n_dimthe number of elements insigma. For voterv(resp. each candidatec) and each axisiinrange(n_dim), a positionx_i[v](resp.y_i[c]) is independently drawn according to a normal distribution of mean 0 and variancesigma[i]. Ifshiftis used, the distribution of positions for candidates is displaced by this vector.Let
d[v, c]denote the Euclidean distance between voterv’s positionx[v]and candidatec’s positiony[c]. Thenpreferences_ut[v, c] = A - d[v, c], whereAis such that the average utility is 0 over the whole population.Remark: if
n_dim = 1, the population is single-peaked.Examples
>>> generator = GeneratorProfileGaussianWell(n_v=10, n_c=3, sigma=[1], shift=[10]) >>> profile = generator() >>> profile.preferences_rk.shape (10, 3)