From 80bd8935fb7ce398b4a173fcddb18e04b3a10e40 Mon Sep 17 00:00:00 2001 From: Jennifer Wang <38547472+jennjwang@users.noreply.github.com> Date: Mon, 4 Sep 2023 13:34:06 -0400 Subject: [PATCH 1/2] added two more notebooks --- dist/votekit-1.0.0-py3-none-any.whl | Bin 0 -> 96869 bytes dist/votekit-1.0.0.tar.gz | Bin 0 -> 93597 bytes .../load_clean-checkpoint.ipynb | 135 +++++++++ ...ff_bg_viz.ipynb => ballot_generator.ipynb} | 4 +- notebooks/election_simulation.ipynb | 176 ++++++++++++ notebooks/load_clean.ipynb | 135 +++++++++ src/votekit/graphs/ballot_graph.py | 272 ++++++++++++++++++ src/votekit/utils.py | 56 ++++ tests/test_e2e.py | 102 +++++++ tests/test_e2e_example.py | 22 -- 10 files changed, 877 insertions(+), 25 deletions(-) create mode 100644 dist/votekit-1.0.0-py3-none-any.whl create mode 100644 dist/votekit-1.0.0.tar.gz create mode 100644 notebooks/.ipynb_checkpoints/load_clean-checkpoint.ipynb rename notebooks/{diff_bg_viz.ipynb => ballot_generator.ipynb} (99%) create mode 100644 notebooks/election_simulation.ipynb create mode 100644 notebooks/load_clean.ipynb create mode 100644 src/votekit/graphs/ballot_graph.py create mode 100644 tests/test_e2e.py delete mode 100644 tests/test_e2e_example.py diff --git a/dist/votekit-1.0.0-py3-none-any.whl b/dist/votekit-1.0.0-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..592b82fd61b4380ff78b07eac31738300725fc71 GIT binary patch literal 96869 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�+v_ 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

KDsT!@|ERhRv5VIR&%5X_gHsQFAXw~(Q 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 literal 0 HcmV?d00001 diff --git a/dist/votekit-1.0.0.tar.gz b/dist/votekit-1.0.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..df814cc07b239162c52bff14566ad89b06db1ffb GIT binary patch literal 93597 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

-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 literal 0 HcmV?d00001 diff --git a/notebooks/.ipynb_checkpoints/load_clean-checkpoint.ipynb b/notebooks/.ipynb_checkpoints/load_clean-checkpoint.ipynb new file mode 100644 index 00000000..b8811e12 --- /dev/null +++ b/notebooks/.ipynb_checkpoints/load_clean-checkpoint.ipynb @@ -0,0 +1,135 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is a tutorial on loading in an election dataset and cleaning ballots.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from votekit.cvr_loaders import load_blt\n", + "import votekit.cleaning as clean" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's first load in our cvr into a preference profile\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# need to make the scottish election data importable\n", + "\n", + "pp, seats = load_blt(\"...\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can clean the ballots from this election.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we want to remove a candidate, we can call remove_noncands() from the package as shown below.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "cleaned_pp = clean.remove_noncands(pp, [\"Graham HUTCHISON (C)\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can also write our own cleaning rule with the helper function clean_profile(). The following example is a cleaning rule truncates the ballot to n-ranks.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from votekit.cleaning import clean_profile\n", + "from votekit.pref_profile import PreferenceProfile\n", + "from votekit.ballot import Ballot\n", + "\n", + "\n", + "def truncate(n: int, pp: PreferenceProfile):\n", + " def truncate_ballot(ballot: Ballot):\n", + " return Ballot(ranking=ballot.ranking[:n], weight=ballot.weight)\n", + "\n", + " pp_clean = clean_profile(pp=pp, clean_ballot_func=truncate_ballot)\n", + " return pp_clean" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "cleaned_pp = truncate(n=3, pp=pp)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Our preference profile is now cleaned, and we can save it as an csv for future use.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "cleaned_pp.to_csv('path/to/save')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/notebooks/diff_bg_viz.ipynb b/notebooks/ballot_generator.ipynb similarity index 99% rename from notebooks/diff_bg_viz.ipynb rename to notebooks/ballot_generator.ipynb index 6f8f811c..7d23fa84 100644 --- a/notebooks/diff_bg_viz.ipynb +++ b/notebooks/ballot_generator.ipynb @@ -16,9 +16,7 @@ "outputs": [], "source": [ "import votekit.ballot_generator as bg\n", - "from votekit.plots.profile_plots import plot_summary_stats\n", - "import matplotlib.pyplot as plt\n", - "import numpy as np" + "from votekit.plots.profile_plots import plot_summary_stats" ] }, { diff --git a/notebooks/election_simulation.ipynb b/notebooks/election_simulation.ipynb new file mode 100644 index 00000000..fdd07a6c --- /dev/null +++ b/notebooks/election_simulation.ipynb @@ -0,0 +1,176 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This tutorial shows you how to simulate elections using VoteKit.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'votekit.elections'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[12], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[39m# from votekit.utils import make_ballot\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mvotekit\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39melections\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39melection_types\u001b[39;00m \u001b[39mas\u001b[39;00m \u001b[39melections\u001b[39;00m\n\u001b[1;32m 3\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mvotekit\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mpref_profile\u001b[39;00m \u001b[39mimport\u001b[39;00m PreferenceProfile\n\u001b[1;32m 4\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mvotekit\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39melections\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mtransfers\u001b[39;00m \u001b[39mimport\u001b[39;00m fractional_transfer\n", + "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'votekit.elections'" + ] + } + ], + "source": [ + "# from votekit.utils import make_ballot\n", + "import votekit.elections.election_types as elections\n", + "from votekit.pref_profile import PreferenceProfile\n", + "from votekit.elections.transfers import fractional_transfer" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's first build our preference profile with synthetic ballots\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b1 = make_ballot(ranking=[\"A\", \"D\", \"E\", \"C\", \"B\"], weight=18)\n", + "b2 = make_ballot(ranking=[\"B\", \"E\", \"D\", \"C\", \"A\"], weight=12)\n", + "b3 = make_ballot(ranking=[\"C\", \"B\", \"E\", \"D\", \"A\"], weight=10)\n", + "b4 = make_ballot(ranking=[\"D\", \"C\", \"E\", \"B\", \"A\"], weight=4)\n", + "b5 = make_ballot(ranking=[\"E\", \"B\", \"D\", \"C\", \"A\"], weight=4)\n", + "b6 = make_ballot(ranking=[\"E\", \"C\", \"D\", \"B\", \"A\"], weight=2)\n", + "pp = PreferenceProfile(ballots=[b1, b2, b3, b4, b5, b6])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can define our set of elections to simulate.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "num_seats = 1\n", + "election_borda = elections.Borda(pp, seats=num_seats, score_vector=None)\n", + "election_irv = elections.STV(pp, fractional_transfer, seats=num_seats)\n", + "election_plurality = elections.Plurality(\n", + " pp, seats=num_seats, ballot_ties=False)\n", + "election_seq = elections.SequentialRCV(pp, seats=num_seats)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's run the elections. Running the elections will generate an election state, from which we can get the winners.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "election_state_borda = election_borda.run_election()\n", + "election_state_irv = election_irv.run_election()\n", + "election_state_plurality = election_plurality.run_election()\n", + "election_state_seq = election_seq.run_election()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "outcome_borda = election_state_borda.get_all_winners()\n", + "outcome_irv = election_state_irv.get_all_winners()\n", + "outcome_plurality = election_state_plurality.get_all_winners()\n", + "outcome_seq = election_state_seq.get_all_winners()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We should expect different results for different elections.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(outcome_borda)\n", + "print(outcome_irv)\n", + "print(outcome_plurality)\n", + "print(outcome_seq)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "csci1470 Python 3.9.12", + "language": "python", + "name": "csci1470" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/notebooks/load_clean.ipynb b/notebooks/load_clean.ipynb new file mode 100644 index 00000000..b8811e12 --- /dev/null +++ b/notebooks/load_clean.ipynb @@ -0,0 +1,135 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is a tutorial on loading in an election dataset and cleaning ballots.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from votekit.cvr_loaders import load_blt\n", + "import votekit.cleaning as clean" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's first load in our cvr into a preference profile\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# need to make the scottish election data importable\n", + "\n", + "pp, seats = load_blt(\"...\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can clean the ballots from this election.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we want to remove a candidate, we can call remove_noncands() from the package as shown below.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "cleaned_pp = clean.remove_noncands(pp, [\"Graham HUTCHISON (C)\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can also write our own cleaning rule with the helper function clean_profile(). The following example is a cleaning rule truncates the ballot to n-ranks.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from votekit.cleaning import clean_profile\n", + "from votekit.pref_profile import PreferenceProfile\n", + "from votekit.ballot import Ballot\n", + "\n", + "\n", + "def truncate(n: int, pp: PreferenceProfile):\n", + " def truncate_ballot(ballot: Ballot):\n", + " return Ballot(ranking=ballot.ranking[:n], weight=ballot.weight)\n", + "\n", + " pp_clean = clean_profile(pp=pp, clean_ballot_func=truncate_ballot)\n", + " return pp_clean" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "cleaned_pp = truncate(n=3, pp=pp)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Our preference profile is now cleaned, and we can save it as an csv for future use.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "cleaned_pp.to_csv('path/to/save')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/src/votekit/graphs/ballot_graph.py b/src/votekit/graphs/ballot_graph.py new file mode 100644 index 00000000..37d15282 --- /dev/null +++ b/src/votekit/graphs/ballot_graph.py @@ -0,0 +1,272 @@ +from .base_graph import Graph +from ..pref_profile import PreferenceProfile +from ..utils import COLOR_LIST +from typing import Optional, Union +import networkx as nx # type: ignore +from functools import cache + + +class BallotGraph(Graph): + """ + Class to build graphs for elections with possible incomplete ballots + + **Attributes** + + `source` + : data to create graph from, either PreferenceProfile object, number of + candidates, or list of candidates + + `complete` + : if True, builds complete graph, else builds incomplete (boolean) + + **Methods** + """ + + def __init__( + self, + source: Union[PreferenceProfile, int, list], + complete: Optional[bool] = True, + ): + super().__init__() + + self.profile = None + self.candidates = None + + if isinstance(source, int): + self.graph = self.build_graph(source) + self.num_cands = source + + if isinstance(source, list): + self.num_cands = len(source) + self.graph = self.build_graph(len(source)) + self.candidates = source + + if isinstance(source, PreferenceProfile): + self.profile = source + self.num_voters = source.num_ballots() + self.num_cands = len(source.get_candidates()) + if not self.graph: + self.graph = self.build_graph(len(source.get_candidates())) + self.graph = self.from_profile(source, complete) + + if not self.node_data: + self.node_data = {ballot: 0 for ballot in self.graph.nodes} + + self.num_voters = sum(self.node_data.values()) + + def _relabel(self, gr: nx.Graph, new_label: int, num_cands: int) -> nx.Graph: + """ + Relabels nodes in gr based on new_label + """ + node_map = {} + graph_nodes = list(gr.nodes) + + for k in graph_nodes: + # add the value of new_label to every entry in every ballot + tmp = [new_label + y for y in k] + + # reduce everything mod new_label + for i in range(len(tmp)): + if tmp[i] > num_cands: + tmp[i] = tmp[i] - num_cands + node_map[k] = tuple([new_label] + tmp) + + return nx.relabel_nodes(gr, node_map) + + def build_graph(self, n: int) -> nx.Graph: # ask Gabe about optimizing? + """ + Builds graph of all possible ballots given a number of candiates + + Args: + n: number of candidates per an election + """ + Gc = nx.Graph() + # base cases + if n == 1: + Gc.add_nodes_from([(1)], weight=0, cast=False) + + elif n == 2: + Gc.add_nodes_from([(1, 2), (2, 1)], weight=0, cast=False) + Gc.add_edges_from([((1, 2), (2, 1))]) + + elif n > 2: + G_prev = self.build_graph(n - 1) + for i in range(1, n + 1): + # add the node for the bullet vote i + Gc.add_node((i,), weight=0, cast=False) + + # make the subgraph for the ballots where i is ranked first + G_corner = self._relabel(G_prev, i, n) + + # add the components from that graph to the larger graph + Gc.add_nodes_from(G_corner.nodes, weight=0, cast=False) + Gc.add_edges_from(G_corner.edges) + + # connect the bullet vote node to the appropriate vertices + if n == 3: + Gc.add_edges_from([(k, (i,)) for k in G_corner.nodes]) + else: + Gc.add_edges_from( + [(k, (i,)) for k in G_corner.nodes if len(k) == 2] + ) + + nodes = Gc.nodes + + new_edges = [ + (bal, (bal[1], bal[0]) + bal[2:]) for bal in nodes if len(bal) >= 2 + ] + Gc.add_edges_from(new_edges) + + return Gc + + def from_profile( + self, profile: PreferenceProfile, complete: Optional[bool] = True + ) -> nx.Graph: + """ + Updates existing graph based on cast ballots from a PreferenceProfile, + or creates graph based on PreferenceProfile + + Args: + profile: PreferenceProfile assigned to graph + complete: If True, builds complete graph + + Returns: + Complete or incomplete graph based on PrefreneceProfile + """ + if not self.profile: + self.profile = profile + + if not self.num_voters: + self.num_voters = profile.num_ballots() + + self.candidates = profile.get_candidates() + ballots = profile.get_ballots() + self.cand_num = self._number_cands(tuple(self.candidates)) + self.node_data = {ballot: 0 for ballot in self.graph.nodes} + + for ballot in ballots: + ballot_node = [] + for position in ballot.ranking: + if len(position) > 1: + raise ValueError( + "ballots must be cleaned to resolve ties" + ) # still unsure about ties + for cand in position: + ballot_node.append(self.cand_num[cand]) + if len(ballot_node) == len(self.candidates) - 1: + ballot_node = self.fix_short_ballot( + ballot_node, list(self.cand_num.values()) + ) + + if tuple(ballot_node) in self.graph.nodes: + self.graph.nodes[tuple(ballot_node)]["weight"] += ballot.weight + self.graph.nodes[tuple(ballot_node)]["cast"] = True + self.node_data[tuple(ballot_node)] += ballot.weight + + if not complete: + partial = nx.Graph() + for node in self.graph.nodes: + if self.graph.nodes[node]["cast"]: + partial.add_node( + node, + weight=self.graph.nodes[node]["weight"], + cast=self.graph.nodes[node]["cast"], + ) + + self.graph = partial + + return self.graph + + def fix_short_ballot(self, ballot: list, candidates: list) -> list: + """ + Appends short ballots of n-1 length to add to BallotGraph + """ + missing = set(candidates).difference(set(ballot)) + + return ballot + list(missing) + + def label_cands(self, candidates): + """ + Assigns candidate labels to ballot graph for plotting + """ + + candidate_numbers = self._number_cands(tuple(candidates)) + + cand_dict = {value: key for key, value in candidate_numbers.items()} + + cand_labels = {} + for node in self.graph.nodes: + ballot = [] + for num in node: + ballot.append(cand_dict[num]) + cand_labels[node] = tuple(ballot) + + return cand_labels + + @cache + def _number_cands(self, cands: tuple) -> dict: + """ + Assigns numerical marker to candidates + """ + legend = {} + for idx, cand in enumerate(cands): + legend[cand] = idx + 1 + + return legend + + def draw(self, neighborhoods: Optional[dict] = {}, labels: Optional[bool] = False): + """ + Visualize the whole election or select neighborhoods in the election. + + Args: + neighborhoods: Section of graph to draw + labels: If True, labels nodes with candidate names + """ + # TODO: change this so that neighborhoods can have any neighborhood + # not just heavy balls, also there's something wrong with the shades + Gc = self.graph + GREY = (0.44, 0.5, 0.56) + node_cols: list = [] + node_labels = None + + k = len(neighborhoods) if neighborhoods else self.num_cands + if k > len(COLOR_LIST): + raise ValueError("Number of neighborhoods exceeds colors for plotting") + cols = COLOR_LIST[:k] + + # self._clean() + for ballot in Gc.nodes: + i = -1 + color: tuple = GREY + + if neighborhoods: + for center, neighborhood in neighborhoods.items(): + neighbors, _ = neighborhood + if ballot in neighbors: + i = (list(neighborhoods.keys())).index(center) + break + elif self.node_data[ballot] != 0 and self.profile: + i = (list(self.cand_num.values())).index(ballot[0]) + + if "weight" in ballot: + color = tuple(ballot.weight * x for x in cols[i]) + node_cols.append(color) + + if labels: + if not self.candidates: + raise ValueError("no candidate names assigned") + if self.candidates: + node_labels = self.label_cands(self.candidates) + elif self.profile: + node_labels = self.label_cands(self.profile.get_candidates()) + + nx.draw_networkx(Gc, with_labels=True, node_color=node_cols, labels=node_labels) + + # what are these functions supposed to do? + # def compare(self, new_pref: PreferenceProfile, dist_type: Callable): + # """compares the ballots of current and new profile""" + # raise NotImplementedError("Not yet built") + + # def compare_rcv_results(self, new_pref: PreferenceProfile): + # """compares election results of current and new profle""" + # raise NotImplementedError("Not yet built") diff --git a/src/votekit/utils.py b/src/votekit/utils.py index cfbe70b9..11b52171 100644 --- a/src/votekit/utils.py +++ b/src/votekit/utils.py @@ -1,5 +1,7 @@ from collections import namedtuple from fractions import Fraction +from itertools import permutations +import math import numpy as np import random from typing import Union, Iterable, Optional @@ -449,3 +451,57 @@ def elect_cands_from_set_ranking( ) return elected, eliminated + + +# helper functions for Election base class +def recursively_fix_ties(ballot_lst: list[Ballot], num_ties: int) -> list[Ballot]: + """ + Recursively fixes ties in a ballot in the case there is more then one tie + """ + # base case, if only one tie to resolved return the list of already + # resolved ballots + if num_ties == 1: + return ballot_lst + + # in the event multiple positions have ties + else: + update = set() + for ballot in ballot_lst: + update.update(set(fix_ties(ballot))) + + return recursively_fix_ties(list(update), num_ties - 1) + + +def fix_ties(ballot: Ballot) -> list[Ballot]: + """ + Helper function for recursively_fix_ties. Resolves the first appearing + tied rank in the input ballot by return list of permuted ballots + """ + + ballots = [] + for idx, rank in enumerate(ballot.ranking): + if len(rank) > 1: + for order in permutations(rank): + resolved = [] + for cand in order: + resolved.append(set(cand)) + ballots.append( + Ballot( + id=ballot.id, + ranking=ballot.ranking[:idx] + + resolved + + ballot.ranking[idx + 1 :], + weight=ballot.weight / math.factorial(len(rank)), + voters=ballot.voters, + ) + ) + + return ballots + + +def make_ballot(ranking, weight): + ballot_rank = [] + for cand in ranking: + ballot_rank.append({cand}) + + return Ballot(ranking=ballot_rank, weight=Fraction(weight)) diff --git a/tests/test_e2e.py b/tests/test_e2e.py new file mode 100644 index 00000000..3d7bcb66 --- /dev/null +++ b/tests/test_e2e.py @@ -0,0 +1,102 @@ +from pathlib import Path + +from votekit.cvr_loaders import load_blt +import votekit.cleaning as clean +from votekit.election_state import ElectionState +import votekit.ballot_generator as bg +import votekit.elections.election_types as elections +from votekit.pref_profile import PreferenceProfile +from votekit.elections.transfers import fractional_transfer +from votekit.utils import make_ballot + +# TODO: +# need to do one with visualizations, +# need to test other elections, +# need to test cleaning methods, +# need to add cleaning methods (ballot truncation for ex) +# need to test ballot generation models + + +def test_load_clean_completion(): + """simple example of what a "full" use would look like""" + + # load CVR -> PP representation + BASE_DIR = Path(__file__).resolve().parent + BLT_DIR = BASE_DIR / "data/txt/" + + pp, seats = load_blt(BLT_DIR / "edinburgh17-01_abridged.blt") + print(pp) + + # apply rules to get new PP + cleaned_pp = clean.remove_noncands(pp, ["Graham HUTCHISON (C)"]) + + # write intermediate output for inspection + # cleaned_pp.save("cleaned.cvr") + + # run election using a configured RCV step object + election_borda = elections.Borda(cleaned_pp, 1, score_vector=None) + + outcome_borda = election_borda.run_election() + + assert isinstance(outcome_borda, ElectionState) + + +def test_generate_election_completion(): + number_of_ballots = 100 + candidates = ["W1", "W2", "C1", "C2"] + slate_to_candidate = {"W": ["W1", "W2"], "C": ["C1", "C2"]} + bloc_crossover_rate = {"W": {"C": 0.3}, "C": {"W": 0.4}} + pref_interval_by_bloc = { + "W": {"W1": 0.4, "W2": 0.3, "C1": 0.2, "C2": 0.1}, + "C": {"W1": 0.2, "W2": 0.2, "C1": 0.3, "C2": 0.3}, + } + bloc_voter_prop = {"W": 0.7, "C": 0.3} + + DATA_DIR = "src/votekit/data/" + path = Path(DATA_DIR, "Cambridge_09to17_ballot_types.p") + + ballot_model = bg.CambridgeSampler( + candidates=candidates, + pref_interval_by_bloc=pref_interval_by_bloc, + bloc_voter_prop=bloc_voter_prop, + path=path, + bloc_crossover_rate=bloc_crossover_rate, + slate_to_candidates=slate_to_candidate, + ) + + pp = ballot_model.generate_profile(number_of_ballots=number_of_ballots) + + election_borda = elections.Borda(pp, 1, score_vector=None) + + outcome_borda = election_borda.run_election() + + assert isinstance(outcome_borda, ElectionState) + + +def test_generate_election_diff_res(): + b1 = make_ballot(ranking=["A", "D", "E", "C", "B"], weight=18) + b2 = make_ballot(ranking=["B", "E", "D", "C", "A"], weight=12) + b3 = make_ballot(ranking=["C", "B", "E", "D", "A"], weight=10) + b4 = make_ballot(ranking=["D", "C", "E", "B", "A"], weight=4) + b5 = make_ballot(ranking=["E", "B", "D", "C", "A"], weight=4) + b6 = make_ballot(ranking=["E", "C", "D", "B", "A"], weight=2) + pp = PreferenceProfile(ballots=[b1, b2, b3, b4, b5, b6]) + + election_borda = elections.Borda(pp, 1, score_vector=None) + election_irv = elections.STV(pp, fractional_transfer, 1) + election_plurality = elections.Plurality(pp, seats=1, ballot_ties=False) + election_seq = elections.SequentialRCV(pp, seats=1) + # election_sntv = elections.SNTV(pp, seats=1) + + outcome_borda = election_borda.run_election().get_all_winners() + outcome_irv = election_irv.run_election().get_all_winners() + outcome_plurality = election_plurality.run_election().get_all_winners() + outcome_seq = election_seq.run_election().get_all_winners() + # outcome_sntv = election_sntv.run_election().get_all_winners() + + print(outcome_borda) + print(outcome_irv) + print(outcome_plurality) + print(outcome_seq) + + assert outcome_borda != outcome_irv != outcome_plurality != outcome_seq diff --git a/tests/test_e2e_example.py b/tests/test_e2e_example.py deleted file mode 100644 index d5308568..00000000 --- a/tests/test_e2e_example.py +++ /dev/null @@ -1,22 +0,0 @@ -# from votekit.loaders import load_csv -# from votekit.cleaning import clean_rule1, clean_rule2 -# from votekit.elections import run_election, RCVStep -# from votekit.visualization import plot_results - - -# def test_e2e_simple(): -# """simple example of what a "full" use would look like""" - -# # load CVR -> PP representation -# pp = load_csv("example.cvr") - -# # apply rules to get new PP -# cleaned_pp = clean_rule2(clean_rule1(pp)) - -# # write intermediate output for inspection -# cleaned_pp.save("cleaned.cvr") - -# # run election using a configured RCV step object -# outcome = run_election(cleaned_pp, RCVStep()) - -# plot_results(outcome) From 1d95e9a00c5221e1aa913c2b7fa9794af2481446 Mon Sep 17 00:00:00 2001 From: Chris Donnay Date: Fri, 1 Mar 2024 16:36:26 -0500 Subject: [PATCH 2/2] Update .gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index dc9e56a3..93dc3b8c 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,4 @@ htmlcov/ .DS_Store dist/ .ipynb_checkpoints - +.venv