Metadata-Version: 2.1
Name: poisson_approval
Version: 0.5.1
Summary: Poisson Approval studies the Poisson Game of Approval Voting.
Home-page: https://github.com/francois-durand/poisson_approval
Author: François Durand
Author-email: fradurand@gmail.com
License: GNU General Public License v3
Description: ================
        Poisson Approval
        ================
        
        
        .. image:: https://img.shields.io/pypi/v/poisson_approval.svg
                :target: https://pypi.python.org/pypi/poisson_approval
        
        .. image:: https://img.shields.io/travis/francois-durand/poisson_approval.svg
                :target: https://travis-ci.org/francois-durand/poisson_approval
        
        .. image:: https://readthedocs.org/projects/poisson-approval/badge/?version=latest
                :target: https://poisson-approval.readthedocs.io/en/latest/?badge=latest
                :alt: Documentation Status
        
        .. image:: https://codecov.io/gh/francois-durand/poisson_approval/branch/master/graphs/badge.svg
                :target: https://codecov.io/gh/francois-durand/poisson_approval/branch/master/graphs/badge
                :alt: Code Coverage
        
        
        Poisson Approval studies the Poisson Game of Approval Voting.
        
        
        * Free software: GNU General Public License v3
        * Documentation: https://poisson-approval.readthedocs.io.
        
        --------
        Features
        --------
        
        * Implement only the case of 3 candidates.
        * Deal with ordinal or cardinal profiles.
        * Compute the asymptotic developments of the probability of pivot events when the number of players tends to infinity.
        * Compute the best response to a given tau-vector.
        * Explore automatically a grid of ordinal profiles or a grid of tau-vectors.
        * Perform Monte-Carlo experiments on profiles or tau-vectors.
        
        -------
        Credits
        -------
        
        This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.
        
        .. _Cookiecutter: https://github.com/audreyr/cookiecutter
        .. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
        
        
        =======
        History
        =======
        
        ------------------
        0.5.1 (2020-01-18)
        ------------------
        
        * Configure Codecov.
        * Reach 100% coverage for this version.
        
        ------------------
        0.5.0 (2020-01-11)
        ------------------
        
        * In iterated voting, implement the possibility to move only *progressively* towards the best response:
        
          * Add ``ProfileCardinal.iterated_voting_taus``: at each iteration, a given ratio of voters update their ballot.
          * Replace the former method ``ProfileCardinal.iterated_voting`` by ``ProfileCardinal.iterated_voting_strategies``:
            as in former versions, at each iteration, the threshold utility of each ranking's strategy is moved in the
            direction of the best response's threshold utility. The method now returns a cycle of tau-vectors and the
            corresponding cycle of best response strategies, in order to be consistent with
            ``ProfileCardinal.iterated_voting_taus``.
          * Add the utility ``barycenter``: compute a barycenter while respecting the type of one input if the other input has
            weight 0.
          * Accelerate the algorithm used in iterated voting.
        
        * In ``ProfileCardinal``, add the possibility of partial sincere voting:
        
          * Add parameter ``ratio_sincere``: ratio of sincere voters.
          * Add property ``tau_sincere``: the tau-vector if all voters vote sincerely.
          * The former method ``tau`` is renamed ``tau_strategic``: the tau_vector if all voters vote strategically.
          * The new method ``tau`` takes both sincere and strategic voting into account.
          * The method ``is_equilibrium`` has a new implementation to take this feature into account.
        
        * Add ``TauVector.isclose``: whether the tau-vector is close to another tau-vector (in the sense of
          ``math.isclose``). This method is used by the new version of ``ProfileCardinal.is_equilibrium``.
        
        * Add ``Profile.best_responses_to_strategy``: convert a dictionary of best responses to a ``StrategyThreshold`` that
          mentions only the rankings that are present in the profile.
        
        * In random generators of profiles (``GeneratorProfileOrdinalUniform``, ``GeneratorProfileOrdinalGridUniform``,
          ``GeneratorProfileOrdinalVariations``, ``GeneratorProfileHistogramUniform``): instead of having explicit arguments
          like ``well_informed_voters`` or ``ratio_sincere``, there are ``**kwargs`` that are directly passed to the
          ``__init__`` of the relevant Profile subclass.
        
        * Update the tutorials with these new features.
        
        ------------------
        0.4.0 (2020-01-08)
        ------------------
        
        * Add ``image_distribution``: estimate the distribution of ``f(something)`` for a random ``something``.
        * Update the tutorial on mass simulations with this new feature.
        
        ------------------
        0.3.0 (2020-01-08)
        ------------------
        
        * Add new random generators:
        
          * ``GeneratorExamples``: run another generator until the generated object meets a given test.
          * ``GeneratorStrategyOrdinalUniform``: draw a StrategyOrdinal uniformly.
          * ``GeneratorProfileOrdinalGridUniform``: draw a ProfileOrdinal uniformly on a grid of rational numbers.
          * ``GeneratorTauVectorGridUniform``: draw a TauVector uniformly on a grid of rational numbers.
        
        * Utilities:
        
          * Add ``rand_integers_fixed_sum``: draw an array of integers with a given sum.
          * Add ``rand_simplex_grid``: draw a random point in the simplex, with rational coordinates of a given denominator.
          * Update ``probability``: allow for a tuple of generators.
        
        * Tutorials:
        
          * Add a tutorial on asymptotic developments.
          * Update the tutorial on mass simulations with the new features.
        
        ------------------
        0.2.1 (2020-01-05)
        ------------------
        
        * Relaunch deployment.
        
        ------------------
        0.2.0 (2020-01-05)
        ------------------
        
        * Add ``GeneratorProfileStrategyThreshold``.
        * Add ``ProfileHistogram.plot_cdf``.
        * Modify ``masks_distribution``: remove the trailing zeros. This has the same impact on
          ``ProfileOrdinal.distribution_equilibria``.
        * Modify ``NiceStatsProfileOrdinal.plot_cutoff``: center the textual indications.
        * Replace all notations ``r`` with ``profile`` and ``sigma`` with ``strategy``.
        * Add tutorials.
        
        ------------------
        0.1.1 (2019-12-24)
        ------------------
        
        * Convert all the documentation to NumPy format, making it more readable in plain text.
        
        ------------------
        0.1.0 (2019-12-20)
        ------------------
        
        * First release on PyPI.
        * Implement only the case of 3 candidates.
        * Deal with ordinal or cardinal profiles.
        * Compute the asymptotic developments of the probability of pivot events when the number of players tends to infinity.
        * Compute the best response to a given tau-vector.
        * Explore automatically a grid of ordinal profiles or a grid of tau-vectors.
        * Perform Monte-Carlo experiments on profiles or tau-vectors.
        
Keywords: poisson_approval
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.5
Description-Content-Type: text/x-rst
