Source code for mapof.elections.cultures.euclidean

import logging

import prefsampling.ordinal as pref_ordinal
import prefsampling.approval as pref_approval

from prefsampling.core.euclidean import EuclideanSpace


[docs] def euclidean_ordinal_mask(num_voters=None, num_candidates=None, space=None, dim=2, **kwargs): """ Euclidean Ordinal Masked""" num_dimensions = dim if type(space) is str: if space.lower() == 'uniform': point_sampler = EuclideanSpace.UNIFORM_CUBE elif space.lower() == 'sphere': point_sampler = EuclideanSpace.UNIFORM_SPHERE elif space.lower() == 'ball': point_sampler = EuclideanSpace.UNIFORM_BALL elif space.lower() == 'gaussian': point_sampler = EuclideanSpace.GAUSSIAN_CUBE else: logging.warning("Invalid space type. Using default uniform cube.") point_sampler = EuclideanSpace.UNIFORM_CUBE else: point_sampler = EuclideanSpace.UNIFORM_CUBE return pref_ordinal.euclidean( num_voters=num_voters, num_candidates=num_candidates, num_dimensions=num_dimensions, voters_positions=point_sampler, candidates_positions=point_sampler, **kwargs)
[docs] def euclidean_approval_mask(num_voters=None, num_candidates=None, space=None, dim=2, radius=0.2, **kwargs): """ Euclidean Approval Masked""" num_dimensions = dim if type(space) is str: if space.lower() == 'uniform': point_sampler = EuclideanSpace.UNIFORM_CUBE elif space.lower() == 'sphere': point_sampler = EuclideanSpace.UNIFORM_SPHERE elif space.lower() == 'ball': point_sampler = EuclideanSpace.UNIFORM_BALL elif space.lower() == 'gaussian': point_sampler = EuclideanSpace.GAUSSIAN_CUBE else: logging.warning("Invalid space type. Using default uniform cube.") point_sampler = EuclideanSpace.UNIFORM_CUBE else: point_sampler = EuclideanSpace.UNIFORM_CUBE return pref_approval.euclidean_vcr( num_voters=num_voters, num_candidates=num_candidates, voters_radius=radius, candidates_radius=0, num_dimensions=num_dimensions, voters_positions=point_sampler, candidates_positions=point_sampler, **kwargs)