Skip to content

Commit 749bc52

Browse files
committed
Urn samplers for approval ballots
1 parent 3671193 commit 749bc52

File tree

25 files changed

+718
-529
lines changed

25 files changed

+718
-529
lines changed

docs-source/source/quickstart.rst

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,11 +121,19 @@ Reference: :py:mod:`prefsampling.approval`
121121
- ---
122122
- ---
123123
* - :py:func:`~prefsampling.approval.impartial`
124-
- :code:`rel_num_approvals`
124+
- :code:`p`
125125
- ---
126126
* - :py:func:`~prefsampling.approval.impartial_constant_size`
127127
- :code:`rel_num_approvals`
128128
- ---
129+
* - :py:func:`~prefsampling.approval.urn`
130+
- | :code:`p`
131+
| :code:`alpha`
132+
- ---
133+
* - :py:func:`~prefsampling.approval.urn_constant_size`
134+
- | :code:`rel_num_approvals`
135+
| :code:`alpha`
136+
- ---
129137
* - :py:func:`~prefsampling.approval.resampling`
130138
- | :code:`p`
131139
| :code:`phi`

docs-source/source/reference/approval/index.rst

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,31 @@ Approval
22
========
33

44
.. automodule:: prefsampling.approval
5-
:members:
5+
6+
.. automodule:: prefsampling.approval.identity
7+
8+
.. automodule:: prefsampling.approval.empty
9+
10+
.. automodule:: prefsampling.approval.full
11+
12+
.. automodule:: prefsampling.approval.impartial
13+
14+
.. automodule:: prefsampling.approval.impartial_constant_size
15+
16+
.. automodule:: prefsampling.approval.urn
17+
18+
.. automodule:: prefsampling.approval.urn_constant_size
19+
20+
.. automodule:: prefsampling.approval.urn_partylist
21+
22+
.. automodule:: prefsampling.approval.resampling
23+
24+
.. automodule:: prefsampling.approval.disjoint_resampling
25+
26+
.. automodule:: prefsampling.approval.moving_resampling
27+
28+
.. automodule:: prefsampling.approval.euclidean
29+
30+
.. automodule:: prefsampling.approval.noise
31+
32+
.. automodule:: prefsampling.approval.truncated_ordinal

docs/_modules/index.html

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -282,14 +282,7 @@ <h1></h1>
282282

283283
<h1>All modules for which code is available</h1>
284284
<ul><li><a href="prefsampling.html">prefsampling</a></li>
285-
<ul><li><a href="prefsampling/approval/euclidean.html">prefsampling.approval.euclidean</a></li>
286-
<li><a href="prefsampling/approval/identity.html">prefsampling.approval.identity</a></li>
287-
<li><a href="prefsampling/approval/impartial.html">prefsampling.approval.impartial</a></li>
288-
<li><a href="prefsampling/approval/noise.html">prefsampling.approval.noise</a></li>
289-
<li><a href="prefsampling/approval/partylist.html">prefsampling.approval.partylist</a></li>
290-
<li><a href="prefsampling/approval/resampling.html">prefsampling.approval.resampling</a></li>
291-
<li><a href="prefsampling/approval/truncated_ordinal.html">prefsampling.approval.truncated_ordinal</a></li>
292-
<li><a href="prefsampling/core/composition.html">prefsampling.core.composition</a></li>
285+
<ul><li><a href="prefsampling/core/composition.html">prefsampling.core.composition</a></li>
293286
<li><a href="prefsampling/core/euclidean.html">prefsampling.core.euclidean</a></li>
294287
<li><a href="prefsampling/core/filters.html">prefsampling.core.filters</a></li>
295288
<li><a href="prefsampling/inputvalidators.html">prefsampling.inputvalidators</a></li>

docs/_modules/prefsampling/ordinal/urn.html

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
<link rel="preload" as="script" href="../../../_static/scripts/pydata-sphinx-theme.js?digest=8d27b9dea8ad943066ae" />
3636
<script src="../../../_static/vendor/fontawesome/6.5.1/js/all.min.js?digest=8d27b9dea8ad943066ae"></script>
3737

38-
<script src="../../../_static/documentation_options.js?v=e645c8fa"></script>
38+
<script src="../../../_static/documentation_options.js?v=7ed07c24"></script>
3939
<script src="../../../_static/doctools.js?v=888ff710"></script>
4040
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
4141
<script src="../../../_static/scripts/sphinx-book-theme.js?v=efea14e4"></script>
@@ -159,6 +159,8 @@
159159
<li class="toctree-l2"><a class="reference internal" href="../../../reference/approval/index.html">Approval</a></li>
160160
<li class="toctree-l2"><a class="reference internal" href="../../../reference/tree/index.html">Tree</a></li>
161161
<li class="toctree-l2"><a class="reference internal" href="../../../reference/core/index.html">Core</a></li>
162+
<li class="toctree-l2"><a class="reference internal" href="../../../reference/constants.html">Constants</a></li>
163+
<li class="toctree-l2"><a class="reference internal" href="../../../reference/inputvalidators.html">Input Validators</a></li>
162164
</ul>
163165
</li>
164166
</ul>
@@ -285,7 +287,7 @@ <h1>Source code for prefsampling.ordinal.urn</h1><div class="highlight"><pre>
285287

286288
<span class="kn">from</span> <span class="nn">prefsampling.inputvalidators</span> <span class="kn">import</span> <span class="n">validate_num_voters_candidates</span>
287289

288-
<span class="kn">from</span> <span class="nn">prefsampling.core.urn</span> <span class="kn">import</span> <span class="n">urn_votes</span>
290+
<span class="kn">from</span> <span class="nn">prefsampling.core.urn</span> <span class="kn">import</span> <span class="n">urn_scheme</span>
289291

290292

291293
<div class="viewcode-block" id="urn">
@@ -323,7 +325,13 @@ <h1>Source code for prefsampling.ordinal.urn</h1><div class="highlight"><pre>
323325
<span class="sd"> &quot;&quot;&quot;</span>
324326
<span class="n">rng</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">default_rng</span><span class="p">(</span><span class="n">seed</span><span class="p">)</span>
325327

326-
<span class="k">return</span> <span class="n">urn_votes</span><span class="p">(</span><span class="n">num_voters</span><span class="p">,</span> <span class="n">num_candidates</span><span class="p">,</span> <span class="n">alpha</span><span class="p">,</span> <span class="n">rng</span><span class="p">)</span></div>
328+
<span class="n">votes</span> <span class="o">=</span> <span class="n">urn_scheme</span><span class="p">(</span>
329+
<span class="n">num_voters</span><span class="p">,</span>
330+
<span class="n">alpha</span><span class="p">,</span>
331+
<span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">permutation</span><span class="p">(</span><span class="n">num_candidates</span><span class="p">),</span>
332+
<span class="n">rng</span>
333+
<span class="p">)</span>
334+
<span class="k">return</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">votes</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">int</span><span class="p">)</span></div>
327335

328336
</pre></div>
329337

docs/_sources/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ defined statistical cultures. We consider different type of preferences:
99
* Approval: preferences are expressed by indicating a set of approved candidates.
1010

1111
This package is part of the
12-
`Guide to Numerical Experiments on Elections in Computational Social Choice <https://arxiv.org/abs/2402.11765>`_
12+
`Guide to Numerical Experiments on Elections in Computational Social Choice <https://arxiv.org/abs/2402.11765>`_.
1313
If you are using it, we kindly ask you to cite the following reference to credit our work.
1414

1515

docs/_sources/quickstart.rst

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,11 +121,19 @@ Reference: :py:mod:`prefsampling.approval`
121121
- ---
122122
- ---
123123
* - :py:func:`~prefsampling.approval.impartial`
124-
- :code:`rel_num_approvals`
124+
- :code:`p`
125125
- ---
126126
* - :py:func:`~prefsampling.approval.impartial_constant_size`
127127
- :code:`rel_num_approvals`
128128
- ---
129+
* - :py:func:`~prefsampling.approval.urn`
130+
- | :code:`p`
131+
| :code:`alpha`
132+
- ---
133+
* - :py:func:`~prefsampling.approval.urn_constant_size`
134+
- | :code:`rel_num_approvals`
135+
| :code:`alpha`
136+
- ---
129137
* - :py:func:`~prefsampling.approval.resampling`
130138
- | :code:`p`
131139
| :code:`phi`

docs/_sources/reference/approval/index.rst

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,31 @@ Approval
22
========
33

44
.. automodule:: prefsampling.approval
5-
:members:
5+
6+
.. automodule:: prefsampling.approval.identity
7+
8+
.. automodule:: prefsampling.approval.empty
9+
10+
.. automodule:: prefsampling.approval.full
11+
12+
.. automodule:: prefsampling.approval.impartial
13+
14+
.. automodule:: prefsampling.approval.impartial_constant_size
15+
16+
.. automodule:: prefsampling.approval.urn
17+
18+
.. automodule:: prefsampling.approval.urn_constant_size
19+
20+
.. automodule:: prefsampling.approval.urn_partylist
21+
22+
.. automodule:: prefsampling.approval.resampling
23+
24+
.. automodule:: prefsampling.approval.disjoint_resampling
25+
26+
.. automodule:: prefsampling.approval.moving_resampling
27+
28+
.. automodule:: prefsampling.approval.euclidean
29+
30+
.. automodule:: prefsampling.approval.noise
31+
32+
.. automodule:: prefsampling.approval.truncated_ordinal

0 commit comments

Comments
 (0)