Skip to content

Commit 1ee65d9

Browse files
committed
Few things
1 parent ba2e19b commit 1ee65d9

File tree

24 files changed

+171
-91
lines changed

24 files changed

+171
-91
lines changed

docs-source/source/quickstart.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,9 @@ Approval Samplers
138138
- :code:`num_legs` (defaults to 1)
139139
* - :py:func:`~prefsampling.approval.euclidean`
140140
- ---
141-
- | :code:`space` (defaults to :py:const:`~prefsampling.core.euclidean.EuclideanSpace.UNIFORM`)
141+
- | :code:`radius` (defaults to 0.5)
142+
| :code:`space` (defaults to :py:const:`~prefsampling.core.euclidean.EuclideanSpace.UNIFORM`)
142143
| :code:`dimension` (defaults to 2)
143-
| :code:`radius` (defaults to 0.5)
144144
* - :py:func:`~prefsampling.approval.noise`
145145
- | :code:`p`
146146
| :code:`phi`

docs/_modules/prefsampling/approval/euclidean.html

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -272,29 +272,40 @@ <h1>Source code for prefsampling.approval.euclidean</h1><div class="highlight"><
272272
<span class="k">def</span> <span class="nf">euclidean</span><span class="p">(</span>
273273
<span class="n">num_voters</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span>
274274
<span class="n">num_candidates</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span>
275+
<span class="n">radius</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">0.5</span><span class="p">,</span>
275276
<span class="n">space</span><span class="p">:</span> <span class="n">EuclideanSpace</span> <span class="o">=</span> <span class="n">EuclideanSpace</span><span class="o">.</span><span class="n">UNIFORM</span><span class="p">,</span>
276277
<span class="n">dimension</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span>
277-
<span class="n">radius</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">0.5</span><span class="p">,</span>
278278
<span class="n">seed</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
279279
<span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">list</span><span class="p">[</span><span class="nb">set</span><span class="p">[</span><span class="nb">int</span><span class="p">]]:</span>
280280
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
281-
<span class="sd"> Generates approval votes from Euclidean model.</span>
281+
<span class="sd"> Generates approval votes according to the Euclidean model.</span>
282+
283+
<span class="sd"> In the Euclidean model voters and candidates are assigned random positions in a Euclidean space.</span>
284+
<span class="sd"> A voter then approves of the candidates that are within a certain radius. In other words, a</span>
285+
<span class="sd"> voter approves of all the candidates that are with distance :code:`radius` of their position.</span>
286+
287+
<span class="sd"> Several Euclidean spaces can be considered. The possibilities are defined in the</span>
288+
<span class="sd"> :py:class:`~prefsampling.core.euclidean.EuclideanSpace` enumeration. You can also change the</span>
289+
<span class="sd"> dimension with the parameter :code:`dimension`.</span>
290+
291+
<span class="sd"> A collection of `num_voters` vote is generated independently and identically following the</span>
292+
<span class="sd"> process described above.</span>
282293

283294
<span class="sd"> Parameters</span>
284295
<span class="sd"> ----------</span>
285-
<span class="sd"> num_voters : int</span>
286-
<span class="sd"> Number of Voters.</span>
287-
<span class="sd"> num_candidates : int</span>
288-
<span class="sd"> Number of Candidates.</span>
289-
<span class="sd"> space : EuclideanSpace, default: :py:const:`~prefsampling.core.euclidean.EuclideanSpace.UNIFORM`</span>
290-
<span class="sd"> Type of space considered. Should be a constant defined in the</span>
291-
<span class="sd"> :py:class:`~prefsampling.core.euclidean.EuclideanSpace`.</span>
292-
<span class="sd"> dimension : int, default: 2</span>
293-
<span class="sd"> Number of Dimensions.</span>
294-
<span class="sd"> radius : float, default: 0.5</span>
295-
<span class="sd"> The radius.</span>
296-
<span class="sd"> seed : int</span>
297-
<span class="sd"> Seed for numpy random number generator.</span>
296+
<span class="sd"> num_voters : int</span>
297+
<span class="sd"> Number of Voters.</span>
298+
<span class="sd"> num_candidates : int</span>
299+
<span class="sd"> Number of Candidates.</span>
300+
<span class="sd"> radius : float, default: 0.5</span>
301+
<span class="sd"> Radius of approval.</span>
302+
<span class="sd"> space : EuclideanSpace, default: :py:const:`~prefsampling.core.euclidean.EuclideanSpace.UNIFORM`</span>
303+
<span class="sd"> Type of space considered. Should be a constant defined in the</span>
304+
<span class="sd"> :py:class:`~prefsampling.core.euclidean.EuclideanSpace`.</span>
305+
<span class="sd"> dimension : int, default: 2</span>
306+
<span class="sd"> Number of Dimensions.</span>
307+
<span class="sd"> seed : int</span>
308+
<span class="sd"> Seed for numpy random number generator.</span>
298309

299310
<span class="sd"> Returns</span>
300311
<span class="sd"> -------</span>

docs/_modules/prefsampling/approval/identity.html

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,8 @@ <h1>Source code for prefsampling.approval.identity</h1><div class="highlight"><p
270270
<span class="n">num_voters</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">num_candidates</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">p</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span> <span class="n">seed</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="kc">None</span>
271271
<span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">list</span><span class="p">[</span><span class="nb">set</span><span class="p">[</span><span class="nb">int</span><span class="p">]]:</span>
272272
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
273-
<span class="sd"> Generates approval votes from identity culture.</span>
273+
<span class="sd"> Generates approval votes from the identity culture. These votes are simples: all voters</span>
274+
<span class="sd"> approves of the candidates `0, 1, 2, ..., ⌊p * num_candidates⌋` and only these ones.</span>
274275

275276
<span class="sd"> Parameters</span>
276277
<span class="sd"> ----------</span>
@@ -279,7 +280,7 @@ <h1>Source code for prefsampling.approval.identity</h1><div class="highlight"><p
279280
<span class="sd"> num_candidates : int</span>
280281
<span class="sd"> Number of Candidates.</span>
281282
<span class="sd"> p : float</span>
282-
<span class="sd"> Resampling model parameter, denoting the average vote length.</span>
283+
<span class="sd"> Proportion of candidates approved.</span>
283284
<span class="sd"> seed : int</span>
284285
<span class="sd"> Seed for numpy random number generator.</span>
285286

@@ -304,7 +305,7 @@ <h1>Source code for prefsampling.approval.identity</h1><div class="highlight"><p
304305
<div class="viewcode-block" id="full"><a class="viewcode-back" href="../../../reference/approval/index.html#prefsampling.approval.full">[docs]</a><span class="nd">@validate_num_voters_candidates</span>
305306
<span class="k">def</span> <span class="nf">full</span><span class="p">(</span><span class="n">num_voters</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">num_candidates</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">seed</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">list</span><span class="p">[</span><span class="nb">set</span><span class="p">[</span><span class="nb">int</span><span class="p">]]:</span>
306307
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
307-
<span class="sd"> Generates approval votes where each voter approves all the candidates.</span>
308+
<span class="sd"> Generates approval votes where all voters approve of all the candidates.</span>
308309

309310
<span class="sd"> Parameters</span>
310311
<span class="sd"> ----------</span>

docs/_modules/prefsampling/approval/impartial.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,14 +274,18 @@ <h1>Source code for prefsampling.approval.impartial</h1><div class="highlight"><
274274
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
275275
<span class="sd"> Generates approval votes from impartial culture.</span>
276276

277+
<span class="sd"> Under the approval culture, when generating a single vote, each candidate has the same</span>
278+
<span class="sd"> probability :code:`p` of being approved. This models ensures that the average number of</span>
279+
<span class="sd"> approved candidate per voter is `p * num_candidate`.</span>
280+
277281
<span class="sd"> Parameters</span>
278282
<span class="sd"> ----------</span>
279283
<span class="sd"> num_voters : int</span>
280284
<span class="sd"> Number of Voters.</span>
281285
<span class="sd"> num_candidates : int</span>
282286
<span class="sd"> Number of Candidates.</span>
283287
<span class="sd"> p : float</span>
284-
<span class="sd"> Resampling model parameter, denoting the average vote length.</span>
288+
<span class="sd"> Probability of approving of any given candidates.</span>
285289
<span class="sd"> seed : int</span>
286290
<span class="sd"> Seed for numpy random number generator.</span>
287291

docs/_modules/prefsampling/approval/noise.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ <h1>Source code for prefsampling.approval.noise</h1><div class="highlight"><pre>
306306
<span class="n">seed</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
307307
<span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">list</span><span class="p">[</span><span class="nb">set</span><span class="p">]:</span>
308308
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
309-
<span class="sd"> Generates approval votes from noise model.</span>
309+
<span class="sd"> Generates approval votes under the noise model.</span>
310310

311311
<span class="sd"> Parameters</span>
312312
<span class="sd"> ----------</span>

docs/_modules/prefsampling/approval/truncated_urn.html

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -271,11 +271,7 @@ <h1>Source code for prefsampling.approval.truncated_urn</h1><div class="highligh
271271

272272
<div class="viewcode-block" id="truncated_urn"><a class="viewcode-back" href="../../../reference/approval/index.html#prefsampling.approval.truncated_urn">[docs]</a><span class="nd">@validate_num_voters_candidates</span>
273273
<span class="k">def</span> <span class="nf">truncated_urn</span><span class="p">(</span>
274-
<span class="n">num_voters</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span>
275-
<span class="n">num_candidates</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span>
276-
<span class="n">alpha</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span>
277-
<span class="n">p</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span>
278-
<span class="n">seed</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="kc">None</span>
274+
<span class="n">num_voters</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">num_candidates</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span> <span class="n">alpha</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span> <span class="n">p</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span> <span class="n">seed</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="kc">None</span>
279275
<span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">list</span><span class="p">[</span><span class="nb">set</span><span class="p">[</span><span class="nb">int</span><span class="p">]]:</span>
280276
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
281277
<span class="sd"> Generates approval votes from a truncated variant of Polya-Eggenberger urn culture.</span>

docs/_sources/quickstart.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,9 @@ Approval Samplers
138138
- :code:`num_legs` (defaults to 1)
139139
* - :py:func:`~prefsampling.approval.euclidean`
140140
- ---
141-
- | :code:`space` (defaults to :py:const:`~prefsampling.core.euclidean.EuclideanSpace.UNIFORM`)
141+
- | :code:`radius` (defaults to 0.5)
142+
| :code:`space` (defaults to :py:const:`~prefsampling.core.euclidean.EuclideanSpace.UNIFORM`)
142143
| :code:`dimension` (defaults to 2)
143-
| :code:`radius` (defaults to 0.5)
144144
* - :py:func:`~prefsampling.approval.noise`
145145
- | :code:`p`
146146
| :code:`phi`

docs/quickstart.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -511,9 +511,9 @@ <h3>Approval Samplers<a class="headerlink" href="#approval-samplers" title="Perm
511511
<tr class="row-odd"><td><p><a class="reference internal" href="reference/approval/index.html#prefsampling.approval.euclidean" title="prefsampling.approval.euclidean"><code class="xref py py-func docutils literal notranslate"><span class="pre">euclidean()</span></code></a></p></td>
512512
<td><p></p></td>
513513
<td><div class="line-block">
514+
<div class="line"><code class="code docutils literal notranslate"><span class="pre">radius</span></code> (defaults to 0.5)</div>
514515
<div class="line"><code class="code docutils literal notranslate"><span class="pre">space</span></code> (defaults to <a class="reference internal" href="reference/core/index.html#prefsampling.core.euclidean.EuclideanSpace.UNIFORM" title="prefsampling.core.euclidean.EuclideanSpace.UNIFORM"><code class="xref py py-const docutils literal notranslate"><span class="pre">UNIFORM</span></code></a>)</div>
515516
<div class="line"><code class="code docutils literal notranslate"><span class="pre">dimension</span></code> (defaults to 2)</div>
516-
<div class="line"><code class="code docutils literal notranslate"><span class="pre">radius</span></code> (defaults to 0.5)</div>
517517
</div>
518518
</td>
519519
</tr>

0 commit comments

Comments
 (0)