(* Content-type: application/vnd.wolfram.mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 10.4' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 158, 7] NotebookDataLength[ 214535, 4840] NotebookOptionsPosition[ 212445, 4765] NotebookOutlinePosition[ 212788, 4780] CellTagsIndexPosition[ 212745, 4777] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell["Comparison of Single-Winner Voting Systems", "Title", CellChangeTimes->{{3.776600831050974*^9, 3.7766008318453026`*^9}, { 3.7770514730980234`*^9, 3.7770514792800546`*^9}}], Cell["Adam Rumpf, 10/31/2017", "Text", CellChangeTimes->{{3.7766008347881403`*^9, 3.776600838290375*^9}, { 3.7770514818302765`*^9, 3.7770514837640657`*^9}}], Cell[CellGroupData[{ Cell["Introduction", "Section", CellChangeTimes->{{3.7766008459498987`*^9, 3.776600848547045*^9}}], Cell[TextData[{ "This demonstration simulates a single-winner election between 2-5 \ candidates using four common voting systems. The voting population is assumed \ to follow a normal distribution along a single ideological spectrum, while \ each candiate\[CloseCurlyQuote]s position lies at a specific point on the \ spectrum. The bell curve can be colored to display either regions where each \ candidate is the favorite, or intervals over which voters approve of each \ candidate. The text underneath the bell curve shows which candidate would win \ under each method for the given voter distribution, while the colored bars \ show which candidate would win if the mean voter (a.k.a. the ", StyleBox["center of opinion", FontSlant->"Italic"], ", indicated by a gray line underneath the bell curve) were centered at each \ point on the spectrum." }], "Text", CellChangeTimes->{ 3.7770516132489023`*^9, {3.7770522870140314`*^9, 3.777052333348117*^9}, 3.777052435447322*^9, {3.777052468962823*^9, 3.7770524700066614`*^9}, { 3.7770525843298197`*^9, 3.7770526519394064`*^9}, {3.777052709039406*^9, 3.777052709267112*^9}, {3.777053429622016*^9, 3.777053448058323*^9}, { 3.7770534840246325`*^9, 3.777053524063792*^9}, 3.7770538196142597`*^9}], Cell["\<\ The purpose of this demonstration is to show how much of an impact the voting \ system can have on an election. In a single-winner election with only two \ candidates there is obviously only one fair way to decide on the winner: ask \ each voter which candidate they prefer and take the candidate that more \ voters prefer. When there are more than two candidates it is not nearly as \ straightforward, and different voting systems can produce different results.\ \>", "Text", CellChangeTimes->{{3.777052233121358*^9, 3.7770522344114027`*^9}, { 3.7770523718099008`*^9, 3.777052429257324*^9}, {3.777053539429924*^9, 3.7770535691858044`*^9}}], Cell[TextData[{ "Four common voting methods are included in this Notebook: ", StyleBox["first-past-the-post", FontSlant->"Italic"], " (FPTP, a.k.a. ", StyleBox["plurality voting", FontSlant->"Italic"], "), ", StyleBox["instant-runoff voting", FontSlant->"Italic"], " (IRV, a.k.a. ", StyleBox["alternative vote,", FontSlant->"Italic"], " ", StyleBox["transferable vote", FontSlant->"Italic"], ", or ", StyleBox["hare", FontSlant->"Italic"], "), ", StyleBox["Borda Count", FontSlant->"Italic"], ", and ", StyleBox["Approval Voting", FontSlant->"Italic"], ". The first three are ", StyleBox["ranked", FontSlant->"Italic"], " voting systems while approval voting is a ", StyleBox["cardinal", FontSlant->"Italic"], " system. Their rules are as follows:" }], "Text", CellChangeTimes->{{3.7770524406963177`*^9, 3.777052550152936*^9}, 3.7770562180153255`*^9}], Cell[CellGroupData[{ Cell["\<\ FPTP: This is the system that most people are familiar with. Each voter gets \ to vote for one candidate, and the candidate with the most votes wins. We \ assume that each voter votes for the candidate ideologically closest to them\ \>", "Item", CellChangeTimes->{{3.7770525435456543`*^9, 3.777052568016471*^9}, { 3.777052662685551*^9, 3.7770527283188334`*^9}}], Cell["\<\ IRV: Each voter gets to rank the candidates from their first choice to their \ last chocie, with no ties allowed. The votes are then tallied by applying all \ of the first-choice votes to the appropriate candidates. If one candidate has \ a strict majority, then they win, and otherwise the candidate in last place \ is eliminated. All of the votes that originally ranked this candidate first \ are then moved to their second choice candidates and the process is repeated. \ Candidates are iteratively dropped and their votes are moved down the \ preference lists until one candidate achieves a majority. We assume that each \ voter ranks candidates from ideologically closest to ideologically farthest.\ \>", "Item", CellChangeTimes->{{3.7770525435456543`*^9, 3.777052568016471*^9}, { 3.777052662685551*^9, 3.7770527027287188`*^9}, {3.7770527483243575`*^9, 3.777053078634843*^9}, {3.7770531316248317`*^9, 3.777053136497051*^9}, 3.77705661568286*^9}], Cell[TextData[{ "Borda Count: Each voter ranks candidates exactly as in IRV. The votes are \ then tallied by giving each candidate points based on their rankings on each \ ballot. If there are ", Cell[BoxData[ FormBox["n", TraditionalForm]], FormatType->"TraditionalForm"], " candidates, then every fist-choice vote is worth ", Cell[BoxData[ FormBox["n", TraditionalForm]], FormatType->"TraditionalForm"], " points, every second-choice vote is worth ", Cell[BoxData[ FormBox[ RowBox[{"n", "-", "1"}], TraditionalForm]], FormatType->"TraditionalForm"], " points, every third-choice vote is worth ", Cell[BoxData[ FormBox[ RowBox[{"n", "-", "2"}], TraditionalForm]], FormatType->"TraditionalForm"], " points, and so on, until finally every last-choice vote is worth ", Cell[BoxData[ FormBox["1", TraditionalForm]], FormatType->"TraditionalForm"], " point. The candidate with the highest total score wins. We again assume \ that each voter ranks candidates from ideologically closest to ideologically \ farthest." }], "Item", CellChangeTimes->{{3.7770525435456543`*^9, 3.777052568016471*^9}, { 3.777052662685551*^9, 3.7770527027287188`*^9}, {3.7770527483243575`*^9, 3.777053078634843*^9}, {3.7770531316248317`*^9, 3.777053263794897*^9}}], Cell[TextData[{ "Approval Voting: This is a very minor modification of FPTP. Each voter gets \ to vote for ", StyleBox["as many", FontSlant->"Italic"], " candidates as they wish, and the candidate with the most votes wins. We \ assume that each voter has a set ", StyleBox["approval range", FontSlant->"Italic"], " which defines an interval of the ideological spectrum, and that they will \ vote for any and all candidates within that range and no candidate outside of \ this range. If no candidate falls within their approval range, then they \ abstain." }], "Item", CellChangeTimes->{{3.7770525435456543`*^9, 3.777052568016471*^9}, { 3.777052662685551*^9, 3.7770527027287188`*^9}, {3.7770527483243575`*^9, 3.777053078634843*^9}, {3.7770531316248317`*^9, 3.777053387131917*^9}}] }, Open ]], Cell["\<\ The Code section of this Notebook includes three sections: initialization \ code, a collection of particular examples that illustrate particular \ phemonena, and finally a Manipulate environment that allows the user to play \ with an interactive model.\ \>", "Text", CellChangeTimes->{{3.777051918198057*^9, 3.777051979900655*^9}}] }, Open ]], Cell[CellGroupData[{ Cell["Code", "Section", CellChangeTimes->{{3.776600864408964*^9, 3.7766008650447807`*^9}}], Cell[CellGroupData[{ Cell["Initialization", "Subsection", CellChangeTimes->{{3.776600871130811*^9, 3.776600873087188*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{ RowBox[{ "Given", " ", "a", " ", "list", " ", "of", " ", "party", " ", "positions"}], ",", " ", RowBox[{ "returns", " ", "a", " ", "list", " ", "of", " ", "every", " ", "preference", " ", "list", " ", "that", " ", "voters", " ", "would", " ", "actually", " ", "write", " ", "down"}], ",", " ", RowBox[{ "each", " ", "followed", " ", "by", " ", "a", " ", "list", " ", "of", " ", "ranges", " ", "on", " ", "which", " ", "voters", " ", "would", " ", "choose", " ", "that", " ", RowBox[{"list", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{"prefbreaks", "[", RowBox[{"p_", ",", RowBox[{"ends_:", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "}"}]}]}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"n", "=", RowBox[{"Length", "[", "p", "]"}]}], ",", "break", ",", "pair", ",", "mid", ",", "dist", ",", "pref", ",", RowBox[{"used", "=", RowBox[{"{", "}"}]}], ",", RowBox[{"int", "=", RowBox[{"{", "}"}]}], ",", "temp"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"n", " ", "=", " ", RowBox[{ RowBox[{ "number", " ", "of", " ", "parties", "\[IndentingNewLine]", "break"}], " ", "=", " ", RowBox[{ RowBox[{"list", " ", "of", " ", "breaks", " ", RowBox[{"(", RowBox[{ "halfway", " ", "between", " ", "each", " ", "possible", " ", "pair", " ", "of", " ", "parties"}], ")"}], "\[IndentingNewLine]", "pair"}], " ", "=", " ", RowBox[{ RowBox[{ "list", " ", "of", " ", "unordered", " ", "pairs", " ", "of", " ", "party", " ", "positions", "\[IndentingNewLine]", "mid"}], " ", "=", " ", RowBox[{ "midpoints", " ", "between", " ", "each", " ", "break", " ", "point"}]}]}]}]}], ",", " ", RowBox[{ RowBox[{ "to", " ", "use", " ", "as", " ", "a", " ", "sample", " ", "for", " ", "order", " ", "calculation", "\[IndentingNewLine]", "dist"}], " ", "=", " ", RowBox[{ RowBox[{ "pairwise", " ", "distances", " ", "from", " ", "each", " ", "midpoint", " ", "to", " ", "each", " ", "party", "\[IndentingNewLine]", "pref"}], " ", "=", " ", RowBox[{ RowBox[{ "preference", " ", "lists", " ", "corresponding", " ", "to", " ", "each", " ", "subinterval", "\[IndentingNewLine]", "used"}], " ", "=", " ", RowBox[{ RowBox[{ "list", " ", "of", " ", "used", " ", "preference", " ", "lists", "\[IndentingNewLine]", "int"}], " ", "=", " ", RowBox[{ "list", " ", "of", " ", "interval", " ", "lists"}]}]}]}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"pair", "=", RowBox[{"Subsets", "[", RowBox[{"p", ",", RowBox[{"{", "2", "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"break", "=", RowBox[{"Sort", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"Table", "[", RowBox[{ RowBox[{"Mean", "[", RowBox[{"(", RowBox[{"pair", "[", RowBox[{"[", "i", "]"}], "]"}], ")"}], "]"}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{"Length", "[", "pair", "]"}]}], "}"}]}], "]"}], ",", "ends"}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"mid", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"Mean", "[", RowBox[{"{", RowBox[{ RowBox[{"break", "[", RowBox[{"[", "i", "]"}], "]"}], ",", RowBox[{"break", "[", RowBox[{"[", RowBox[{"i", "+", "1"}], "]"}], "]"}]}], "}"}], "]"}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{ RowBox[{"Length", "[", "break", "]"}], "-", "1"}]}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"dist", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"Abs", "[", RowBox[{ RowBox[{"(", RowBox[{"mid", "[", RowBox[{"[", "i", "]"}], "]"}], ")"}], "-", RowBox[{"(", RowBox[{"p", "[", RowBox[{"[", "j", "]"}], "]"}], ")"}]}], "]"}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{"Length", "[", "mid", "]"}]}], "}"}], ",", RowBox[{"{", RowBox[{"j", ",", "1", ",", "n"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"pref", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"Ordering", "[", RowBox[{"dist", "[", RowBox[{"[", "i", "]"}], "]"}], "]"}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{"Length", "[", "dist", "]"}]}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"Do", "[", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ "keep", " ", "a", " ", "running", " ", "list", " ", "of", " ", "intervals", " ", "for", " ", "each", " ", "used", " ", "preference", " ", "list"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"temp", "=", RowBox[{"Position", "[", RowBox[{"used", ",", RowBox[{"(", RowBox[{"pref", "[", RowBox[{"[", "i", "]"}], "]"}], ")"}]}], "]"}]}], ";"}], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Length", "[", "temp", "]"}], "\[Equal]", "0"}], ","}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"if", " ", "new"}], ",", " ", RowBox[{"add", " ", "to", " ", "used", " ", "list"}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"used", "=", RowBox[{"Append", "[", RowBox[{"used", ",", RowBox[{"(", RowBox[{"pref", "[", RowBox[{"[", "i", "]"}], "]"}], ")"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"temp", "=", RowBox[{"Length", "[", "used", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"int", "=", RowBox[{"Append", "[", RowBox[{"int", ",", RowBox[{"{", RowBox[{ RowBox[{"break", "[", RowBox[{"[", "i", "]"}], "]"}], ",", RowBox[{"break", "[", RowBox[{"[", RowBox[{"i", "+", "1"}], "]"}], "]"}]}], "}"}]}], "]"}]}], ";"}], RowBox[{"(*", RowBox[{ RowBox[{"int", "=", RowBox[{"Append", "[", RowBox[{"int", ",", RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"break", "[", RowBox[{"[", "i", "]"}], "]"}], ",", RowBox[{"break", "[", RowBox[{"[", RowBox[{"i", "+", "1"}], "]"}], "]"}]}], "}"}], "}"}]}], "]"}]}], ","}], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{"otherwise", ",", " ", RowBox[{ "find", " ", "the", " ", "position", " ", "of", " ", "the", " ", "existing", " ", "element"}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"temp", "=", RowBox[{"temp", "[", RowBox[{"[", RowBox[{"1", ",", "1"}], "]"}], "]"}]}], ";"}], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{"int", "[", RowBox[{"[", "temp", "]"}], "]"}], "=", RowBox[{"Append", "[", RowBox[{ RowBox[{"int", "[", RowBox[{"[", "temp", "]"}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"break", "[", RowBox[{"[", "i", "]"}], "]"}], ",", RowBox[{"break", "[", RowBox[{"[", RowBox[{"i", "+", "1"}], "]"}], "]"}]}], "}"}]}], "]"}]}], ";"}], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", "]", "*)"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{"Length", "[", "pref", "]"}]}], "}"}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"used", ",", "int"}], "}"}]}]}], "\[IndentingNewLine]", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{ "Given", " ", "a", " ", "list", " ", "of", " ", "party", " ", "positions", " ", "and", " ", "an", " ", "approval", " ", "tolerance"}], ",", " ", RowBox[{ "returns", " ", "a", " ", "list", " ", "of", " ", "intervals", " ", "over", " ", "which", " ", "voters", " ", "would", " ", "approve", " ", "of", " ", "the", " ", "corresponding", " ", RowBox[{"party", ".", " ", "We"}], " ", "assume", " ", "for", " ", "now", " ", "that", " ", "voters", " ", "abstain", " ", "if", " ", "there", " ", "are", " ", "no", " ", "parties", " ", "in", " ", RowBox[{"range", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"appbreaks", "[", RowBox[{"p_", ",", "\[Epsilon]_", ",", RowBox[{"ends_:", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "}"}]}]}], "]"}], ":=", RowBox[{"Table", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"Max", "[", RowBox[{ RowBox[{"ends", "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{ RowBox[{"p", "[", RowBox[{"[", "i", "]"}], "]"}], "-", "\[Epsilon]"}]}], "]"}], ",", RowBox[{"Min", "[", RowBox[{ RowBox[{"ends", "[", RowBox[{"[", "2", "]"}], "]"}], ",", RowBox[{ RowBox[{"p", "[", RowBox[{"[", "i", "]"}], "]"}], "+", "\[Epsilon]"}]}], "]"}]}], "}"}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{"Length", "[", "p", "]"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"normalint", "[", RowBox[{"\[Mu]_", ",", "\[Sigma]s_", ",", "a_", ",", "b_"}], "]"}], ":=", RowBox[{"N", "[", RowBox[{ FractionBox["1", "2"], RowBox[{"(", RowBox[{ RowBox[{"Erf", "[", FractionBox[ RowBox[{"b", "-", "\[Mu]"}], RowBox[{ SqrtBox["2"], "\[Sigma]s"}]], "]"}], "-", RowBox[{"Erf", "[", FractionBox[ RowBox[{"a", "-", "\[Mu]"}], RowBox[{ SqrtBox["2"], "\[Sigma]s"}]], "]"}]}], ")"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{ "Given", " ", "a", " ", "list", " ", "of", " ", "intervals", " ", "and", " ", "a", " ", "list", " ", "of", " ", "distribution", " ", "parameters"}], ",", " ", RowBox[{ "produces", " ", "a", " ", "list", " ", "of", " ", "integrals", " ", "for", " ", "each", " ", RowBox[{"parameter", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"intlist", "[", RowBox[{"\[Mu]_", ",", "\[Sigma]s_", ",", "list_"}], "]"}], ":=", RowBox[{"Table", "[", RowBox[{ RowBox[{"normalint", "[", RowBox[{"\[Mu]", ",", "\[Sigma]s", ",", RowBox[{"list", "[", RowBox[{"[", RowBox[{"i", ",", "1"}], "]"}], "]"}], ",", RowBox[{"list", "[", RowBox[{"[", RowBox[{"i", ",", "2"}], "]"}], "]"}]}], "]"}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{"Length", "[", "list", "]"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"Given", " ", "a", " ", "preference", " ", "list"}], ",", " ", RowBox[{"a", " ", "vote", " ", "share"}], ",", " ", RowBox[{ "and", " ", "a", " ", "list", " ", "of", " ", "how", " ", "much", " ", "each", " ", "position", " ", "is", " ", "worth"}], ",", " ", RowBox[{ "calculates", " ", "the", " ", "total", " ", "score", " ", "given", " ", "to", " ", "every", " ", "party", " ", "from", " ", "this", " ", "particular", " ", "preference", " ", RowBox[{"list", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"listscore", "[", RowBox[{"pref_", ",", "votes_", ",", "score_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"out", "=", RowBox[{"ConstantArray", "[", RowBox[{"0", ",", RowBox[{"Length", "[", "pref", "]"}]}], "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"Do", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"out", "[", RowBox[{"[", RowBox[{"(", RowBox[{"pref", "[", RowBox[{"[", "i", "]"}], "]"}], ")"}], "]"}], "]"}], "=", RowBox[{"votes", "*", RowBox[{"score", "[", RowBox[{"[", "i", "]"}], "]"}]}]}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{"Length", "[", "pref", "]"}]}], "}"}]}], "]"}], ";", "\[IndentingNewLine]", "out"}]}], "\[IndentingNewLine]", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{ "Given", " ", "a", " ", "list", " ", "of", " ", "preference", " ", "lists"}], ",", " ", RowBox[{ "a", " ", "list", " ", "of", " ", "their", " ", "corresponding", " ", "voter", " ", "totals"}], ",", " ", RowBox[{ "and", " ", "a", " ", "list", " ", "of", " ", "how", " ", "much", " ", "each", " ", "position", " ", "is", " ", "worth"}], ",", " ", RowBox[{ "calculates", " ", "a", " ", "total", " ", "score", " ", "for", " ", "each", " ", RowBox[{"party", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"totscore", "[", RowBox[{"pref_", ",", "votes_", ",", "score_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"tot", "=", RowBox[{"ConstantArray", "[", RowBox[{"0", ",", RowBox[{"Length", "[", RowBox[{"pref", "[", RowBox[{"[", "1", "]"}], "]"}], "]"}]}], "]"}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"Do", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"tot", "+=", RowBox[{"listscore", "[", RowBox[{ RowBox[{"pref", "[", RowBox[{"[", "i", "]"}], "]"}], ",", RowBox[{"votes", "[", RowBox[{"[", "i", "]"}], "]"}], ",", "score"}], "]"}]}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{"Length", "[", "pref", "]"}]}], "}"}]}], "]"}], ";", "\[IndentingNewLine]", "tot"}]}], "\[IndentingNewLine]", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"Given", " ", "a", " ", "list", " ", "of", " ", "scores"}], ",", " ", RowBox[{"returns", " ", "the", " ", "winning", " ", RowBox[{"party", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"winner", "[", "list_", "]"}], ":=", RowBox[{ RowBox[{"Ordering", "[", "list", "]"}], "[", RowBox[{"[", RowBox[{"-", "1"}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{ "Score", " ", "lists", " ", "for", " ", "each", " ", "voting", " ", "system", " ", "as", " ", "a", " ", "function", " ", "of", " ", "the", " ", "number", " ", "of", " ", RowBox[{"parties", ".", "\[IndentingNewLine]", RowBox[{"-", RowBox[{"FTPT", ":", " ", RowBox[{"1", " ", "for", " ", "first"}]}]}]}]}], ",", " ", RowBox[{ RowBox[{"0", " ", "otherwise"}], "\[IndentingNewLine]", "-", RowBox[{"Antiplurality", ":", " ", RowBox[{ RowBox[{"-", "1"}], " ", "for", " ", "last"}]}]}], ",", " ", RowBox[{ RowBox[{"0", " ", "otherwise"}], "\[IndentingNewLine]", "-", RowBox[{"Borda", ":", " ", RowBox[{ RowBox[{"position", " ", "i", " ", "gets", " ", "n"}], "-", "i"}]}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"scorefptp", "[", "n_", "]"}], ":=", RowBox[{"Prepend", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"0", ",", RowBox[{"n", "-", "1"}]}], "]"}], ",", "1"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"scoreantiplur", "[", "n_", "]"}], ":=", RowBox[{"Append", "[", RowBox[{ RowBox[{"ConstantArray", "[", RowBox[{"0", ",", RowBox[{"n", "-", "1"}]}], "]"}], ",", RowBox[{"-", "1"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"scoreborda", "[", "n_", "]"}], ":=", RowBox[{"Table", "[", RowBox[{ RowBox[{"n", "-", "i"}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", "n"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{ "Given", " ", "a", " ", "list", " ", "of", " ", "preference", " ", "lists", " ", "and", " ", "corresponding", " ", "voting", " ", "shares"}], ",", " ", RowBox[{ "conducts", " ", "an", " ", "instant", " ", "runoff", " ", "vote", " ", "and", " ", "returns", " ", "the", " ", RowBox[{"winner", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"irvwinner", "[", RowBox[{"prefin_", ",", "votes_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"pref", "=", "prefin"}], ",", RowBox[{"n", "=", RowBox[{"Length", "[", RowBox[{"prefin", "[", RowBox[{"[", "1", "]"}], "]"}], "]"}]}], ",", RowBox[{"m", "=", RowBox[{"Length", "[", "prefin", "]"}]}], ",", "goal", ",", "tot", ",", "out", ",", RowBox[{"gone", "=", RowBox[{"{", "}"}]}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{"n", " ", "=", " ", RowBox[{ RowBox[{ "number", " ", "of", " ", "parties", "\[IndentingNewLine]", "m"}], " ", "=", " ", RowBox[{ RowBox[{ "number", " ", "of", " ", "preference", " ", "lists", "\[IndentingNewLine]", "goal"}], " ", "=", " ", RowBox[{ RowBox[{ "number", " ", "of", " ", "votes", " ", "needed", " ", "to", " ", "achieve", " ", "a", " ", "majority", " ", RowBox[{"(", RowBox[{"half", " ", "of", " ", "total", " ", "votes"}], ")"}], "\[IndentingNewLine]", "tot"}], " ", "=", " ", RowBox[{ RowBox[{ "running", " ", "total", " ", "votes", " ", "for", " ", "each", " ", "party", "\[IndentingNewLine]", "out"}], " ", "=", " ", RowBox[{ RowBox[{ "winning", " ", "party", "\[IndentingNewLine]", "gone"}], " ", "=", " ", RowBox[{"eliminated", " ", "parties"}]}]}]}]}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"goal", "=", FractionBox[ RowBox[{"Total", "[", "votes", "]"}], "2"]}], ";", "\[IndentingNewLine]", RowBox[{"tot", "=", RowBox[{"ConstantArray", "[", RowBox[{"0", ",", "n"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{ RowBox[{ "This", " ", "works", " ", "similarly", " ", "to", " ", "the", " ", "two"}], "-", RowBox[{"round", " ", "algorithm"}]}], ",", " ", RowBox[{ "except", " ", "that", " ", "instead", " ", "of", " ", "maintaining", " ", "a", " ", "list", " ", "of", " ", "top", " ", "candidates", " ", "we", " ", "maintain", " ", "a", " ", "list", " ", "of", " ", "eliminated", " ", "candidates"}], ",", " ", RowBox[{ "and", " ", "the", " ", "main", " ", "loop", " ", "can", " ", "go", " ", "around", " ", "more", " ", "than", " ", RowBox[{"once", ".", " ", "We"}], " ", "end", " ", "if", " ", "any", " ", "party", " ", "passes", " ", "the", " ", "goal"}], ",", " ", RowBox[{ RowBox[{"or", " ", "if", " ", RowBox[{"there", "'"}], "s", " ", "only", " ", "one", " ", "party", " ", RowBox[{"left", ".", " ", "We"}], " ", "begin", " ", "\"\\"", " ", "at"}], " ", "-", "1"}], ",", " ", RowBox[{ "and", " ", "keep", " ", "it", " ", "negative", " ", "until", " ", "we", " ", "find", " ", "the", " ", RowBox[{"winner", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"out", "=", RowBox[{"-", "1"}]}], ";", "\[IndentingNewLine]", RowBox[{"While", "[", RowBox[{ RowBox[{"out", "<", "0"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"Do", "[", RowBox[{"(*", " ", RowBox[{"Add", " ", "up", " ", "first", " ", "choice", " ", RowBox[{"votes", "."}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"tot", "[", RowBox[{"[", RowBox[{"(", RowBox[{"pref", "[", RowBox[{"[", RowBox[{"i", ",", "1"}], "]"}], "]"}], ")"}], "]"}], "]"}], "+=", RowBox[{"votes", "[", RowBox[{"[", "i", "]"}], "]"}]}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"i", ",", "1", ",", "m"}], "}"}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Max", "[", "tot", "]"}], "\[GreaterEqual]", "goal"}], ",", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{ "If", " ", "we", " ", "have", " ", "a", " ", "majority"}], ",", " ", RowBox[{"that", " ", "party", " ", RowBox[{"wins", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"out", "=", RowBox[{ RowBox[{"Ordering", "[", "tot", "]"}], "[", RowBox[{"[", RowBox[{"-", "1"}], "]"}], "]"}]}], ",", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{"Otherwise", ",", " ", RowBox[{ "eliminate", " ", "the", " ", "last", " ", "place", " ", "party", " ", "and", " ", "transfer", " ", "their", " ", "vote", " ", "shares", " ", "down", " ", "their", " ", "preference", " ", "lists", " ", "until", " ", "reaching", " ", "a", " ", "valid", " ", RowBox[{"candidate", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"gone", "=", RowBox[{"Append", "[", RowBox[{"gone", ",", RowBox[{ RowBox[{"Ordering", "[", "tot", "]"}], "[", RowBox[{"[", RowBox[{ RowBox[{"Length", "[", "gone", "]"}], "+", "1"}], "]"}], "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"tot", "=", RowBox[{"ConstantArray", "[", RowBox[{"0", ",", "n"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"Do", "[", RowBox[{"(*", " ", RowBox[{"Process", " ", "each", " ", "preference", " ", RowBox[{"list", "."}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"While", "[", RowBox[{ RowBox[{ RowBox[{"MemberQ", "[", RowBox[{"gone", ",", RowBox[{"pref", "[", RowBox[{"[", RowBox[{"i", ",", "1"}], "]"}], "]"}]}], "]"}], "\[Equal]", "True"}], ",", RowBox[{"(*", " ", RowBox[{ "Move", " ", "down", " ", "the", " ", "list", " ", "until", " ", "hitting", " ", "a", " ", "party", " ", "not", " ", "in", " ", "the", " ", "eliminated", " ", RowBox[{"list", "."}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"pref", "[", RowBox[{"[", "i", "]"}], "]"}], "=", RowBox[{"Delete", "[", RowBox[{ RowBox[{"pref", "[", RowBox[{"[", "i", "]"}], "]"}], ",", "1"}], "]"}]}], ";"}]}], "\[IndentingNewLine]", "]"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"i", ",", "1", ",", "m"}], "}"}]}], "]"}], ";"}]}], "\[IndentingNewLine]", "]"}], ";"}]}], "\[IndentingNewLine]", "]"}], ";", "\[IndentingNewLine]", "out"}]}], "\[IndentingNewLine]", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{ "Given", " ", "a", " ", "list", " ", "of", " ", "party", " ", "positions", " ", "and", " ", "voter", " ", "distribution", " ", "and", " ", "approval", " ", "parameters", " ", "and", " ", "a", " ", "voting", " ", "method"}], ",", " ", RowBox[{ "acts", " ", "as", " ", "a", " ", "driver", " ", "to", " ", "calculate", " ", "the", " ", "winner", " ", "under", " ", "each", " ", "voting", " ", RowBox[{"system", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"driver1", "[", RowBox[{ "p_", ",", "\[Mu]_", ",", "\[Sigma]_", ",", "\[Epsilon]_", ",", "w_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"n", "=", RowBox[{"Length", "[", "p", "]"}]}], ",", "pref", ",", "breaks", ",", "votes", ",", "tot", ",", "out"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{"pref", " ", "=", " ", RowBox[{ RowBox[{ "preference", " ", "lists", "\[IndentingNewLine]", "breaks"}], " ", "=", " ", RowBox[{ RowBox[{ "preference", " ", "list", " ", "or", " ", "approval", " ", "intervals", "\[IndentingNewLine]", "app"}], " ", "=", " ", RowBox[{ RowBox[{ "approval", " ", "intervals", "\[IndentingNewLine]", "votes"}], " ", "=", " ", RowBox[{ RowBox[{ "vote", " ", "share", " ", "within", " ", "each", " ", "interval", "\[IndentingNewLine]", "tot"}], " ", "=", " ", RowBox[{ RowBox[{"scores", "\[IndentingNewLine]", "out"}], " ", "=", " ", "output"}]}]}]}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Switch", "[", RowBox[{"w", ",", "\[IndentingNewLine]", "1", ",", RowBox[{"(*", " ", "FPTP", " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"pref", ",", "breaks"}], "}"}], "=", RowBox[{"prefbreaks", "[", "p", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"votes", "=", RowBox[{"intlist", "[", RowBox[{"\[Mu]", ",", SuperscriptBox["\[Sigma]", "2"], ",", "breaks"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"tot", "=", RowBox[{"totscore", "[", RowBox[{"pref", ",", "votes", ",", RowBox[{"scorefptp", "[", "n", "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"out", "=", RowBox[{"winner", "[", "tot", "]"}]}]}], ",", "\[IndentingNewLine]", "3", ",", RowBox[{"(*", " ", RowBox[{"Borda", " ", "Count"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"pref", ",", "breaks"}], "}"}], "=", RowBox[{"prefbreaks", "[", "p", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"votes", "=", RowBox[{"intlist", "[", RowBox[{"\[Mu]", ",", SuperscriptBox["\[Sigma]", "2"], ",", "breaks"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"tot", "=", RowBox[{"totscore", "[", RowBox[{"pref", ",", "votes", ",", RowBox[{"scoreborda", "[", "n", "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"out", "=", RowBox[{"winner", "[", "tot", "]"}]}]}], ",", "\[IndentingNewLine]", "4", ",", RowBox[{"(*", " ", "Approval", " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"breaks", "=", RowBox[{"appbreaks", "[", RowBox[{"p", ",", "\[Epsilon]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"tot", "=", RowBox[{"intlist", "[", RowBox[{"\[Mu]", ",", SuperscriptBox["\[Sigma]", "2"], ",", "breaks"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"out", "=", RowBox[{"winner", "[", "tot", "]"}]}]}], ",", "\[IndentingNewLine]", "6", ",", RowBox[{"(*", " ", "IRV", " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"pref", ",", "breaks"}], "}"}], "=", RowBox[{"prefbreaks", "[", "p", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"votes", "=", RowBox[{"intlist", "[", RowBox[{"\[Mu]", ",", SuperscriptBox["\[Sigma]", "2"], ",", "breaks"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"out", "=", RowBox[{"irvwinner", "[", RowBox[{"pref", ",", "votes"}], "]"}]}], ";"}]}], "\[IndentingNewLine]", "]"}], ";", "\[IndentingNewLine]", "out"}]}], "\[IndentingNewLine]", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{ "Applies", " ", "driver1", " ", "to", " ", "a", " ", "given", " ", "party", " ", "position", " ", "list", " ", "and", " ", "variance", " ", "list"}], ",", " ", RowBox[{ "overa", " ", "a", " ", "variety", " ", "of", " ", "population", " ", RowBox[{"means", ".", " ", "You"}], " ", "can", " ", "also", " ", "specify", " ", "the", " ", "number", " ", "of", " ", "nodes", " ", RowBox[{ RowBox[{"on", " ", "[", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "]"}], "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"\[Mu]sweep", "[", RowBox[{"p_", ",", "\[Sigma]_", ",", "\[Epsilon]_", ",", "w_", ",", RowBox[{"n_:", "101"}]}], "]"}], ":=", RowBox[{"Table", "[", RowBox[{ RowBox[{"driver1", "[", RowBox[{ "p", ",", "\[Mu]", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "w"}], "]"}], ",", RowBox[{"{", RowBox[{"\[Mu]", ",", RowBox[{"-", "3"}], ",", "3", ",", FractionBox["6", RowBox[{"n", "-", "1"}]]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"Party", " ", "colors"}], ",", " ", RowBox[{"in", " ", RowBox[{"order", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"colors", "=", RowBox[{"{", RowBox[{"Red", ",", "Green", ",", RowBox[{"RGBColor", "[", RowBox[{"1", ",", "0.8", ",", "0"}], "]"}], ",", "Blue", ",", "Magenta"}], "}"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"Same", " ", "as", " ", "\[Mu]sweep"}], ",", " ", RowBox[{ "except", " ", "that", " ", "it", " ", "shows", " ", "a", " ", "bar", " ", "of", " ", "party", " ", "colors", " ", "instead", " ", "of", " ", RowBox[{"numbers", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"\[Mu]sweepcolor", "[", RowBox[{"p_", ",", "\[Sigma]_", ",", "\[Epsilon]_", ",", "w_", ",", RowBox[{"n_:", "101"}], ",", RowBox[{"xr_:", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "1"}], "}"}]}], ",", RowBox[{"yr_:", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "1"}], "}"}]}]}], "]"}], ":=", RowBox[{"ArrayPlot", "[", RowBox[{ RowBox[{"{", RowBox[{"\[Mu]sweep", "[", RowBox[{ "p", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "w", ",", "n"}], "]"}], "}"}], ",", RowBox[{"ColorRules", "\[Rule]", RowBox[{"Table", "[", RowBox[{ RowBox[{"i", "\[Rule]", RowBox[{"colors", "[", RowBox[{"[", "i", "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{"Length", "[", "colors", "]"}]}], "}"}]}], "]"}]}], ",", RowBox[{"DataRange", "\[Rule]", RowBox[{"{", RowBox[{"xr", ",", "yr"}], "}"}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{ "Given", " ", "the", " ", "voter", " ", "mean", " ", "and", " ", "standard", " ", "deviation"}], ",", " ", RowBox[{"and", " ", "party", " ", "position", " ", "list"}], ",", " ", RowBox[{ "draws", " ", "the", " ", "voter", " ", "bell", " ", "curve", " ", "with", " ", "regions", " ", "colored", " ", "according", " ", "to", " ", "closest", " ", RowBox[{"party", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"bellcurve", "[", RowBox[{"\[Mu]_", ",", "\[Sigma]_", ",", "pos_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"order", ",", "breaks"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{ "Find", " ", "the", " ", "halfway", " ", "point", " ", "between", " ", "each", " ", "adjacent", " ", "pair", " ", "of", " ", "preferences"}], ",", " ", RowBox[{"and", " ", "color", " ", "the", " ", "intervals", " ", RowBox[{"accordingly", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"order", "=", RowBox[{"Ordering", "[", "pos", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"breaks", "=", RowBox[{"Join", "[", RowBox[{ RowBox[{"{", RowBox[{"-", "3"}], "}"}], ",", RowBox[{"Table", "[", RowBox[{ RowBox[{"N", "[", FractionBox[ RowBox[{ RowBox[{"pos", "[", RowBox[{"[", RowBox[{"(", RowBox[{"order", "[", RowBox[{"[", RowBox[{"i", "+", "1"}], "]"}], "]"}], ")"}], "]"}], "]"}], "+", RowBox[{"pos", "[", RowBox[{"[", RowBox[{"(", RowBox[{"order", "[", RowBox[{"[", "i", "]"}], "]"}], ")"}], "]"}], "]"}]}], "2"], "]"}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{ RowBox[{"Length", "[", "order", "]"}], "-", "1"}]}], "}"}]}], "]"}], ",", RowBox[{"{", "3", "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"Show", "[", RowBox[{ RowBox[{"Table", "[", RowBox[{ RowBox[{"Plot", "[", RowBox[{ RowBox[{"PDF", "[", RowBox[{ RowBox[{"NormalDistribution", "[", RowBox[{"\[Mu]", ",", SuperscriptBox["\[Sigma]", "2"]}], "]"}], ",", "x"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"breaks", "[", RowBox[{"[", "i", "]"}], "]"}], ",", RowBox[{"breaks", "[", RowBox[{"[", RowBox[{"i", "+", "1"}], "]"}], "]"}]}], "}"}], ",", RowBox[{"Axes", "\[Rule]", "False"}], ",", RowBox[{"AxesOrigin", "\[Rule]", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], ",", RowBox[{"PlotStyle", "\[Rule]", RowBox[{"Opacity", "[", "0", "]"}]}], ",", RowBox[{"Filling", "\[Rule]", "Axis"}], ",", RowBox[{"FillingStyle", "\[Rule]", RowBox[{"colors", "[", RowBox[{"[", RowBox[{"(", RowBox[{"order", "[", RowBox[{"[", "i", "]"}], "]"}], ")"}], "]"}], "]"}]}]}], "]"}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{ RowBox[{"Length", "[", "breaks", "]"}], "-", "1"}]}], "}"}]}], "]"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]}]}], "\[IndentingNewLine]", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ "Grey", " ", "bell", " ", "curve", " ", "with", " ", "transparent", " ", "approval", " ", RowBox[{"intervals", "."}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"bellcurveshade", "[", RowBox[{"\[Mu]_", ",", "\[Sigma]_", ",", "p_", ",", "\[Epsilon]_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "int", "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"int", "=", RowBox[{"appbreaks", "[", RowBox[{"p", ",", "\[Epsilon]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"Show", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"{", RowBox[{"Plot", "[", RowBox[{ RowBox[{"PDF", "[", RowBox[{ RowBox[{"NormalDistribution", "[", RowBox[{"\[Mu]", ",", SuperscriptBox["\[Sigma]", "2"]}], "]"}], ",", "x"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"Axes", "\[Rule]", "False"}], ",", RowBox[{"AxesOrigin", "\[Rule]", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], ",", RowBox[{"PlotStyle", "\[Rule]", "LightGray"}], ",", RowBox[{"Filling", "\[Rule]", "Axis"}], ",", RowBox[{"FillingStyle", "\[Rule]", "LightGray"}]}], "]"}], "}"}], ",", RowBox[{"Table", "[", RowBox[{ RowBox[{"Plot", "[", RowBox[{ RowBox[{"PDF", "[", RowBox[{ RowBox[{"NormalDistribution", "[", RowBox[{"\[Mu]", ",", SuperscriptBox["\[Sigma]", "2"]}], "]"}], ",", "x"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"int", "[", RowBox[{"[", RowBox[{"i", ",", "1"}], "]"}], "]"}], ",", RowBox[{"int", "[", RowBox[{"[", RowBox[{"i", ",", "2"}], "]"}], "]"}]}], "}"}], ",", RowBox[{"Axes", "\[Rule]", "False"}], ",", RowBox[{"AxesOrigin", "\[Rule]", RowBox[{"{", RowBox[{"0", ",", "0"}], "}"}]}], ",", RowBox[{"PlotStyle", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"colors", "[", RowBox[{"[", "i", "]"}], "]"}], ",", RowBox[{"Opacity", "[", "0.25", "]"}]}], "}"}]}], ",", RowBox[{"Filling", "\[Rule]", "Axis"}], ",", RowBox[{"FillingStyle", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"colors", "[", RowBox[{"[", "i", "]"}], "]"}], ",", RowBox[{"Opacity", "[", "0.25", "]"}]}], "}"}]}]}], "]"}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{"Length", "[", "p", "]"}]}], "}"}]}], "]"}]}], "]"}], "]"}]}]}], "\[IndentingNewLine]", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{ "Given", " ", "a", " ", "list", " ", "of", " ", "party", " ", "positions"}], ",", " ", RowBox[{ "draws", " ", "vertical", " ", "lines", " ", "showing", " ", "these", " ", RowBox[{"positions", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"partylines", "[", "pos_", "]"}], ":=", RowBox[{"Graphics", "[", RowBox[{"Flatten", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"{", RowBox[{"Black", ",", RowBox[{"Thickness", "[", "0.008", "]"}], ",", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"pos", "[", RowBox[{"[", "i", "]"}], "]"}], ",", RowBox[{"-", "0.1"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"pos", "[", RowBox[{"[", "i", "]"}], "]"}], ",", "0.75"}], "}"}]}], "}"}], "]"}], ",", RowBox[{"colors", "[", RowBox[{"[", "i", "]"}], "]"}], ",", RowBox[{"Thickness", "[", "0.004", "]"}], ",", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"pos", "[", RowBox[{"[", "i", "]"}], "]"}], ",", RowBox[{"-", "0.1"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"pos", "[", RowBox[{"[", "i", "]"}], "]"}], ",", "0.75"}], "}"}]}], "}"}], "]"}]}], "}"}], ",", RowBox[{"{", RowBox[{"i", ",", "1", ",", RowBox[{"Length", "[", "pos", "]"}]}], "}"}]}], "]"}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ "Maps", " ", "party", " ", "numbers", " ", "to", " ", "candidate", " ", RowBox[{"letters", "."}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"let", "[", "1", "]"}], ":=", "\"\\""}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"let", "[", "2", "]"}], ":=", "\"\\""}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"let", "[", "3", "]"}], ":=", "\"\\""}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"let", "[", "4", "]"}], ":=", "\"\\""}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"let", "[", "5", "]"}], ":=", "\"\\""}], ";"}]}]}]], "Input", InitializationCell->True, CellChangeTimes->{{3.7184088967218585`*^9, 3.7184090147519813`*^9}, 3.71842016214317*^9, 3.7184208550078735`*^9}, CellID->466832845] }, Closed]], Cell[CellGroupData[{ Cell["Particular Examples", "Subsection", CellChangeTimes->{{3.7770517017806454`*^9, 3.777051705457472*^9}}], Cell[CellGroupData[{ Cell["Spoiler Effect of FPTP", "Subsubsection", CellChangeTimes->{{3.777052019531505*^9, 3.7770520281988287`*^9}, { 3.777054834807942*^9, 3.7770548353817577`*^9}}], Cell[TextData[{ "The image below shows a situation in which center-left candidate ", StyleBox["A", FontWeight->"Bold"], " is nearest the center of opinion, and is thus agreeable to the most \ people, but does not win under FPTP. This is because of the presence of the \ left-leaning candidate ", StyleBox["C", FontWeight->"Bold"], " acting as a spoiler. If ", StyleBox["C", FontWeight->"Bold"], " were not in the race then ", StyleBox["A", FontWeight->"Bold"], " would easily win, but ", StyleBox["C", FontWeight->"Bold"], " absorbs enough left-leaning votes that would have otherwise gone to ", StyleBox["A", FontWeight->"Bold"], " that the center-right candidate ", StyleBox["B", FontWeight->"Bold"], " can easily win, in spite of the fact that ", StyleBox["A", FontWeight->"Bold"], " is closer to most peoples\[CloseCurlyQuote] positions." }], "Text", CellChangeTimes->{{3.7770544049110556`*^9, 3.777054602940714*^9}, { 3.7770549023727183`*^9, 3.7770549061185236`*^9}, {3.777055086528406*^9, 3.777055106418062*^9}, 3.7770567542553515`*^9}], Cell[TextData[{ "This problem does not occur in any of the other systems, which take \ measures specifically meant to avoid the spoiler effect. IRV, in particular, \ is designed to allow supporters of third-party candidates to safely rank \ their true favorite candidate first, while still allowing them to express \ their preference among the major candidates in case their true favorite doesn\ \[CloseCurlyQuote]t win. In this case, everyone who ranked ", StyleBox["C", FontWeight->"Bold"], " first happens to have also ranked ", StyleBox["A", FontWeight->"Bold"], " second, and so after ", StyleBox["C", FontWeight->"Bold"], " is eliminated their votes go to ", StyleBox["A", FontWeight->"Bold"], ", which is where they would have gone if ", StyleBox["C", FontWeight->"Bold"], " had not been in the race to begin with." }], "Text", CellChangeTimes->{{3.777054605644851*^9, 3.777054765226058*^9}, 3.777056828395705*^9}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"n", "=", "101"}], ",", "p", ",", "pref", ",", RowBox[{"w", "=", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], ",", "g", ",", RowBox[{"\[Mu]", "=", "0.22"}], ",", RowBox[{"\[Sigma]", "=", "0.815"}], ",", RowBox[{"\[Epsilon]", "=", "0.6"}], ",", RowBox[{"np", "=", "3"}], ",", RowBox[{"p1", "=", "0.12"}], ",", RowBox[{"p2", "=", "0.41"}], ",", RowBox[{"p3", "=", RowBox[{"-", "1.12"}]}], ",", RowBox[{"p4", "=", RowBox[{"-", "2"}]}], ",", RowBox[{"p5", "=", "2"}], ",", RowBox[{"shading", "=", "\"\\""}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"List", " ", "of", " ", "party", " ", "positions"}], ",", " ", RowBox[{ "limited", " ", "to", " ", "the", " ", "parties", " ", "being", " ", RowBox[{"used", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"p", "=", RowBox[{"Switch", "[", RowBox[{"np", ",", "1", ",", RowBox[{"{", "p1", "}"}], ",", "2", ",", RowBox[{"{", RowBox[{"p1", ",", "p2"}], "}"}], ",", "3", ",", RowBox[{"{", RowBox[{"p1", ",", "p2", ",", "p3"}], "}"}], ",", "4", ",", RowBox[{"{", RowBox[{"p1", ",", "p2", ",", "p3", ",", "p4"}], "}"}], ",", "5", ",", RowBox[{"{", RowBox[{"p1", ",", "p2", ",", "p3", ",", "p4", ",", "p5"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ "Calculate", " ", "winners", " ", "under", " ", "the", " ", "current", " ", RowBox[{"distribution", "."}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"w", "[", RowBox[{"[", "1", "]"}], "]"}], "=", RowBox[{"driver1", "[", RowBox[{ "p", ",", "\[Mu]", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "1"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"w", "[", RowBox[{"[", "3", "]"}], "]"}], "=", RowBox[{"driver1", "[", RowBox[{ "p", ",", "\[Mu]", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "3"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"w", "[", RowBox[{"[", "4", "]"}], "]"}], "=", RowBox[{"driver1", "[", RowBox[{ "p", ",", "\[Mu]", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "4"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"w", "[", RowBox[{"[", "6", "]"}], "]"}], "=", RowBox[{"driver1", "[", RowBox[{ "p", ",", "\[Mu]", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "6"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{"Show", " ", RowBox[{"results", "."}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"g", "=", RowBox[{"If", "[", RowBox[{ RowBox[{"shading", "\[Equal]", "\"\\""}], ",", RowBox[{"bellcurve", "[", RowBox[{"\[Mu]", ",", "\[Sigma]", ",", "p"}], "]"}], ",", RowBox[{"bellcurveshade", "[", RowBox[{"\[Mu]", ",", "\[Sigma]", ",", "p", ",", "\[Epsilon]"}], "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"Show", "[", RowBox[{"g", ",", RowBox[{"partylines", "[", "p", "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Gray", ",", RowBox[{"Thickness", "[", "0.008", "]"}], ",", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"\[Mu]", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"\[Mu]", ",", RowBox[{"-", "0.1"}]}], "}"}]}], "}"}], "]"}]}], "}"}], "]"}], ",", RowBox[{"\[Mu]sweepcolor", "[", RowBox[{ "p", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "1", ",", "n", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.3"}], ",", RowBox[{"-", "0.2"}]}], "}"}]}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", "\"\\"", "]"}], ",", RowBox[{"{", RowBox[{"3.75", ",", RowBox[{"-", "0.25"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", RowBox[{ RowBox[{ RowBox[{"let", "[", RowBox[{"w", "[", RowBox[{"[", "1", "]"}], "]"}], "]"}], "<>", "\"\< Wins\>\""}], ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", RowBox[{"(", RowBox[{"w", "[", RowBox[{"[", "1", "]"}], "]"}], ")"}], "]"}], "]"}]}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"5", ",", RowBox[{"-", "0.25"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"\[Mu]sweepcolor", "[", RowBox[{ "p", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "6", ",", "n", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.5"}], ",", RowBox[{"-", "0.4"}]}], "}"}]}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", "\"\\"", "]"}], ",", RowBox[{"{", RowBox[{"3.75", ",", RowBox[{"-", "0.45"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", RowBox[{ RowBox[{ RowBox[{"let", "[", RowBox[{"w", "[", RowBox[{"[", "6", "]"}], "]"}], "]"}], "<>", "\"\< Wins\>\""}], ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", RowBox[{"(", RowBox[{"w", "[", RowBox[{"[", "6", "]"}], "]"}], ")"}], "]"}], "]"}]}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"5", ",", RowBox[{"-", "0.45"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", "\"\\"", "]"}], ",", RowBox[{"{", RowBox[{"3.75", ",", RowBox[{"-", "0.65"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", RowBox[{ RowBox[{ RowBox[{"let", "[", RowBox[{"w", "[", RowBox[{"[", "3", "]"}], "]"}], "]"}], "<>", "\"\< Wins\>\""}], ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", RowBox[{"(", RowBox[{"w", "[", RowBox[{"[", "3", "]"}], "]"}], ")"}], "]"}], "]"}]}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"5", ",", RowBox[{"-", "0.65"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"\[Mu]sweepcolor", "[", RowBox[{ "p", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "3", ",", "n", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.7"}], ",", RowBox[{"-", "0.6"}]}], "}"}]}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", "\"\\"", "]"}], ",", RowBox[{"{", RowBox[{"3.75", ",", RowBox[{"-", "0.85"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", RowBox[{ RowBox[{ RowBox[{"let", "[", RowBox[{"w", "[", RowBox[{"[", "4", "]"}], "]"}], "]"}], "<>", "\"\< Wins\>\""}], ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", RowBox[{"(", RowBox[{"w", "[", RowBox[{"[", "4", "]"}], "]"}], ")"}], "]"}], "]"}]}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"5", ",", RowBox[{"-", "0.85"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"\[Mu]sweepcolor", "[", RowBox[{ "p", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "4", ",", "n", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.9"}], ",", RowBox[{"-", "0.8"}]}], "}"}]}], "]"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "3.1"}], ",", "5.4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "0.8"}], "}"}]}], "}"}]}]}], "]"}]}]}], "\[IndentingNewLine]", "]"}]], "Input", CellChangeTimes->{{3.7184090635862045`*^9, 3.7184090738172503`*^9}, { 3.7184091489216175`*^9, 3.7184092011820745`*^9}, {3.7184134910281954`*^9, 3.718413503116922*^9}, {3.7184181268985057`*^9, 3.7184181289155807`*^9}, { 3.7184184853004723`*^9, 3.7184184934181714`*^9}, {3.7184220876782064`*^9, 3.7184221280529118`*^9}, {3.718422421838458*^9, 3.7184224221512566`*^9}, { 3.7770517272315273`*^9, 3.7770518554710693`*^9}, {3.7770520526054473`*^9, 3.777052079166593*^9}}], Cell[BoxData[ GraphicsBox[{{{GraphicsComplexBox[CompressedData[" 1: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 GYMY "], {{{}, {RGBColor[1, 0.8, 0], EdgeForm[None], GraphicsGroupBox[PolygonBox[CompressedData[" 1:eJwl1Hl8z3UcB/AdZgc2Y2PYHJtzZpuxTolK28zIsNkQpkSKpFQ6dEmky1mO LroPR9FBpSh0IKUSRYfSpZvofH4e++P5eL2+r3++v8fv93782tRMKp8YFRER EcmwyNqsjqztBXqVzGQoP3huIyt5Xv+e1noFN+nr+I5Wnodwjj6RB9lNgq0X XfV88silCzl0JptOdKQD7WlHW7LIDJ8hvDe8h5YM4GIe4APiveN0MvT+XMT9 vE+cvSfpehkTuI9dxNpPo4XejwtZxnvUtfeguV7KeJaykxj7qTTT+zKOJeyg jv0U0vQSLmAx24m2n0xTvZix3Mu7RNlPoolexPncwzvht7KfSKp+I2v5NnwX tsGcrZ/HIt6OqP1xTyBFvYHnOESGbRB99DEs5C3+o9DeWF7Ps3xDuq2cs/Qa FrCNf+lubySns4avaWEbyJn6aOazlX/oZk+W17GagzQPN8MZ+ijmsYW/KbA3 lNeyiq9oZhtAb30kc3mTv+hqT5LXsJIvSbP1Dzeon8vdvMFx8u2J8mqe4Qua 2srCLekjuIvNHCPP3kBO42k+p4mtX7gvfTh3sok/ybXXl1fxFAdItZWGm9OH cQevc5Qu9nrySp5kPym2vuEO9Wpu5zWOkGNPkFfwBJ/R2FYSblOvYg4b+YPO 9ng5lcf5lEa24nCv+lBu41V+J9seJy/nMfaRbCsKN6xXMptX+I1O9lh5GY+y l4bhNsNd6xXM4mV+paO9rpzCI3xCUrjNcOv6EG5lA7/QwR4jL+Vh9pAYbjPc uj6YmaznZ9rb68jJrOBjGoTbpFAfxC28xE+0s0fLS1jOR9QPt0l3vZwZvMhh 2trD/+gkHuJD6oXbpJs+kJt5gR/Jsv8PxKKSSA== "]]]}, {}, {}}, {{}, {}, {Opacity[0], LineBox[CompressedData[" 1:eJwl1Hl8z3UcB/AZGzMz19jsYObcxmYH2yqyjaVSGWZ0kFSSo0SHDkduunWj +6I7R3eOiuhWyVkUcnRQ6aB4fh7+eH5fr+/rn98fv/fvlz5sbOWYGhEREYM8 QmZ4/CxfZxp9yaeHPZZv9McZSyStbb/IN5hOJQWU2uuxSX+Cq6hJG9uv8k1m 0I9CyuxxfKs/ydXUoq3tN/kWM+lPF8rt9dmsP8U4omhnOyTfZhYD6EpPezxb 9Ke5hmja2w7Ld5hNFUX0sjdgq/4M46lNB9vv8l3mMJBiKuwN2aY/ywTqkGn7 Q77HXKop4Qx7I7brz3EtMWTZ/pQrmRe+F06ht70xO/TFXEddsm1H5CpuYzCn cqa9Cd/pS7ieWDra/pKruZ3zOY2z7Al8rz/PDdSjk+1vuYY7uIBunG1vyk79 BSYSR47tH/k+d3Ih3eljb8Yu/UVupD65tn/lB9zFRZzOOfZEftBf4ibi6Ww7 Kj/kboaE2+RcexI/6i9zMw3Isx2Ta7mHoZRynr05u/VXuIWG5Nv+k+uYz8WU 0deezB79VSbRiALb//Ij7mUY5VTaU9irv8ZkGlNoOy7Xcx+X0JN+9lR+0pcy hSZ0CT9KNoj7GU4v+tvS2KcvYyoJdA2/Yz7WH+BSKmhKkT2ST/QHuSzcIc0o ttfkU/0hLg83RyIl9lp8pj/MiHBfJIXbtEfxub6AK8It0TzcoT2aL/SFjAx3 Q3K4OXttvtQXcWW4EVLCfdnrsFF/hFHhHkgNt2SP4Sv9UUaH7540WtCSdFqR QWva0JZ2tKcDmWSRTUc6kUNuuLFwgz6jLl/rjzEm3AwDbC3Yry/nVqq8t+SA voKBejoH9WrZqsbJ/9c87ycATpWRjQ== "]]}}}], {}}, {GraphicsComplexBox[CompressedData[" 1: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 5fn/z3+/z//D/wdqyWt1 "], {{{}, {RGBColor[1, 0, 0], EdgeForm[None], GraphicsGroupBox[ PolygonBox[{{1, 235, 236, 50, 234, 182, 225, 139, 174, 217, 104, 130, 165, 208, 78, 96, 122, 157, 200, 60, 70, 88, 114, 149, 192, 49, 77, 95, 121, 156, 199, 59, 100, 126, 161, 204, 69, 87, 113, 148, 191, 48, 138, 173, 216, 103, 129, 164, 207, 76, 134, 169, 212, 94, 176, 219, 120, 155, 198, 58, 180, 223, 136, 229, 171, 214, 99, 232, 177, 220, 125, 227, 160, 203, 68, 233, 179, 222, 132, 228, 167, 210, 86, 231, 175, 218, 112, 226, 147, 190, 47, 181, 224, 137, 230, 172, 215, 102, 178, 221, 128, 163, 206, 75, 133, 168, 211, 93, 119, 154, 197, 57, 135, 170, 213, 98, 124, 159, 202, 67, 131, 166, 209, 85, 111, 146, 189, 46, 101, 127, 162, 205, 74, 92, 118, 153, 196, 56, 97, 123, 158, 201, 66, 84, 110, 145, 188, 45, 73, 91, 117, 152, 195, 55, 65, 83, 109, 144, 187, 44, 72, 90, 116, 151, 194, 54, 64, 82, 108, 143, 186, 43, 71, 89, 115, 150, 193, 53, 63, 81, 107, 142, 185, 42, 52, 62, 80, 106, 141, 184, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 51, 61, 79, 105, 140, 183}}]]}, {}, {}}, {{}, {}, {Opacity[0], LineBox[{1, 183, 140, 105, 79, 61, 51, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 184, 141, 106, 80, 62, 52, 42, 185, 142, 107, 81, 63, 53, 193, 150, 115, 89, 71, 43, 186, 143, 108, 82, 64, 54, 194, 151, 116, 90, 72, 44, 187, 144, 109, 83, 65, 55, 195, 152, 117, 91, 73, 45, 188, 145, 110, 84, 66, 201, 158, 123, 97, 56, 196, 153, 118, 92, 74, 205, 162, 127, 101, 46, 189, 146, 111, 85, 209, 166, 131, 67, 202, 159, 124, 98, 213, 170, 135, 57, 197, 154, 119, 93, 211, 168, 133, 75, 206, 163, 128, 221, 178, 102, 215, 172, 230, 137, 224, 181, 47, 190, 147, 226, 112, 218, 175, 231, 86, 210, 167, 228, 132, 222, 179, 233, 68, 203, 160, 227, 125, 220, 177, 232, 99, 214, 171, 229, 136, 223, 180, 58, 198, 155, 120, 219, 176, 94, 212, 169, 134, 76, 207, 164, 129, 103, 216, 173, 138, 48, 191, 148, 113, 87, 69, 204, 161, 126, 100, 59, 199, 156, 121, 95, 77, 49, 192, 149, 114, 88, 70, 60, 200, 157, 122, 96, 78, 208, 165, 130, 104, 217, 174, 139, 225, 182, 234, 50}]}}}], {}}, {GraphicsComplexBox[CompressedData[" 1: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 w0Zz "], {{{}, {RGBColor[0, 1, 0], EdgeForm[None], GraphicsGroupBox[PolygonBox[CompressedData[" 1:eJwl0mWYFWUAhuGzS0gtHbvsLrB0h0gjICoN0tIiiIl0ipICgkWDklJKW3So ICWYCCqohNJdUgreH/vjvp4575wfc803SV16Nu8RHYlEoigYldwCUcnXD7rO r9c1SXfrNfK5nqO7uEpev/vpLHZwmURbI32Wd1jHX2Syl9O+zGQ7l0iwN9Ru vM1ajpHRXlb78D5fc5F4ewN9hrdYw1Fi7GW0N++xjQvkttfXrrzJao6QwV5a ezGDrZwnzl5PuzCezzlMensp7cl0vuIcsfa6+jTj+Iw/SWcvqT2YxpecJZe9 jnbmDT7lD9LaS+jLTOULzpDT/rg+xVg+4XfS2Itrd6awhdPksD+mnRjDxxzi AXsxfYnJbOYU2e2PakdGs4qDpLYX1ReZxCZOks1eWzvwOiv5jVT2IvoCE9nI CbLaH9H2jGIFv5LSXlhr0Y6RLOcXUrhXSGvSlhEs4wDR4RvVGrRhOEvZT5R7 BfRhnmQYS/g5Ern/geeX6rRmKB+xj3skUY1WvMaH/MRd8lGVlrzKYn7kP/JS hRYMYRE/8C95qExzXmEh33OHRBKIJzdxxIbvI5x5OMdwNuF9h3dIFjKTiYzE kIH0pCNt+CbCOYezoxLNGMwCvuN2OCcq0pRBzOdbboUzoQJPMJAP2MvNcCY8 zwQ2cDw8k3f6kDZhAPPYw41wTjzHu6zn7/D8/l9eZ7OTK+Ed2Rprf+byDf/w PyIHhBo= "]]]}, {}, {}}, {{}, {}, {Opacity[0], LineBox[CompressedData[" 1:eJwl1Hecz3UAx/GfPQ6nRHfnzjmRLQ17ZGemhOxyQqKzhUL2HkmFUklFVtmb ysgOpVDZZY+shvn8PPzx/L3u3p/fH7/H9/N7/JKSuzZKSRWJRPJ5Cb3Bdj6h Nw3I4+CK/sAMniS77aSuYiIdSc0/7OBT+vAsT/GA9/+pq5nEq6ThX3Yykzdo SCnS8h+7+Iy+PEdp0vE/u5lFP56nDOnJQEYykZkospCVbESHzx8+Ew+Sg4fI SS4eJoZY4shNPAnc5Ec+pz+NKBueEbfYwxe8yQuUI5Hb7OVL3qIx5cnLHfYx mwE0oQJJ3OUn5jCQplQM90W4sJ/lKwbxIpV4JBw5269zeZtmVCZ/uCdnv+g8 BtOcpykQ7sTZrzqfIbSgCo+GO3F2QBcwlJZUDc/Q/peu4R06UTDck/2gLmQY ragWnrf9lK5lMq9RKNyd/ZB+zXBaUz3cjf20ruNdOlM43LP9N/2GEbShRrhH +xldzxS6UCR8J+y/6yJG8hI1w53bz+oG3uN1ipLJ/ocuZhQvUyt8P+zn9Fve J4ViZLYf1iWMpi3PEGM/r9/xAV0pTpT9iC5lDMnUJtZ+Qb9nKt0oQRb7UV3G WNpRhzj7Rd3INLrzGFntx3Q543iFuuS2X9JNTKcHJclmP64rGE976hFvv6yb +ZCePE60/YSuZAIdqE+C/W/dwkf0ItF2VbfyMXn9f023keTv65H7v0FP6D0t poPN "]]}}}], {}}}, { {GrayLevel[0], Thickness[0.008], LineBox[{{0.12, -0.1}, {0.12, 0.75}}]}, {RGBColor[1, 0, 0], Thickness[0.004], LineBox[{{0.12, -0.1}, {0.12, 0.75}}]}, {GrayLevel[0], Thickness[0.008], LineBox[{{0.41, -0.1}, {0.41, 0.75}}]}, {RGBColor[0, 1, 0], Thickness[0.004], LineBox[{{0.41, -0.1}, {0.41, 0.75}}]}, {GrayLevel[0], Thickness[0.008], LineBox[{{-1.12, -0.1}, {-1.12, 0.75}}]}, {RGBColor[1, 0.8, 0], Thickness[0.004], LineBox[{{-1.12, -0.1}, {-1.12, 0.75}}]}}, {GrayLevel[0.5], Thickness[0.008], LineBox[{{0.22, 0}, {0.22, -0.1}}]}, RasterBox[CompressedData[" 1:eJxTTMoPSmVmYGBgBOJUIAaxIeCD/ayZIPDSngEFjIqPio+Kj4rjFmfACgab +EDbPyo+Kj4qPiqOEAcAgV5PQw== "], {{-3.03, -0.3}, {3.03, -0.2}}, {0, 1}], InsetBox[ TagBox["\<\"FPTP:\"\>", StyleForm], {3.75, -0.25}], InsetBox[ TagBox[ StyleBox["\<\"B Wins\"\>", LineColor->RGBColor[0, 1, 0], FrontFaceColor->RGBColor[0, 1, 0], BackFaceColor->RGBColor[0, 1, 0], GraphicsColor->RGBColor[0, 1, 0], FontWeight->Bold, FontColor->RGBColor[0, 1, 0]], StyleForm[#, {Bold, RGBColor[0, 1, 0]}]& ], {5, -0.25}], RasterBox[CompressedData[" 1:eJxTTMoPSmVmYGBgBOJUIAaxIeCD/ayZIPDSngEFjIqPio+KD0dxBqxgVBy/ +EDbPyo+Kj4qPhzEAc/tQQY= "], {{-3.03, -0.5}, {3.03, -0.4}}, {0, 1}], InsetBox[ TagBox["\<\"IRV:\"\>", StyleForm], {3.75, -0.45}], InsetBox[ TagBox[ StyleBox["\<\"A Wins\"\>", LineColor->RGBColor[1, 0, 0], FrontFaceColor->RGBColor[1, 0, 0], BackFaceColor->RGBColor[1, 0, 0], GraphicsColor->RGBColor[1, 0, 0], FontWeight->Bold, FontColor->RGBColor[1, 0, 0]], StyleForm[#, {Bold, RGBColor[1, 0, 0]}]& ], {5, -0.45}], InsetBox[ TagBox["\<\"Borda:\"\>", StyleForm], {3.75, -0.65}], InsetBox[ TagBox[ StyleBox["\<\"A Wins\"\>", LineColor->RGBColor[1, 0, 0], FrontFaceColor->RGBColor[1, 0, 0], BackFaceColor->RGBColor[1, 0, 0], GraphicsColor->RGBColor[1, 0, 0], FontWeight->Bold, FontColor->RGBColor[1, 0, 0]], StyleForm[#, {Bold, RGBColor[1, 0, 0]}]& ], {5, -0.65}], RasterBox[CompressedData[" 1:eJxTTMoPSmVmYGBgBOJUIAaxIeCD/ayZIPDSngEFjIqPio+KDyZxBqxgVHxg xQfa/lHxUfFR8aEkDgAKNzLJ "], {{-3.03, -0.7}, {3.03, -0.6}}, {0, 1}], InsetBox[ TagBox["\<\"Approval:\"\>", StyleForm], {3.75, -0.85}], InsetBox[ TagBox[ StyleBox["\<\"A Wins\"\>", LineColor->RGBColor[1, 0, 0], FrontFaceColor->RGBColor[1, 0, 0], BackFaceColor->RGBColor[1, 0, 0], GraphicsColor->RGBColor[1, 0, 0], FontWeight->Bold, FontColor->RGBColor[1, 0, 0]], StyleForm[#, {Bold, RGBColor[1, 0, 0]}]& ], {5, -0.85}], RasterBox[CompressedData[" 1:eJxTTMoPSmVmYGBgBOJUIAaxIeCD/ayZIPDSngEFjIqPio+KD0dxBqxgVBy/ +EDbPyo+Kj4qPhzEAc/tQQY= "], {{-3.03, -0.9}, {3.03, -0.8}}, {0, 1}]}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->{False, False}, AxesLabel->{None, None}, AxesOrigin->{0., 0.}, DisplayFunction->Identity, Frame->{{False, False}, {False, False}}, FrameLabel->{{None, None}, {None, None}}, FrameTicks->{{Automatic, Automatic}, {Automatic, Automatic}}, GridLines->{None, None}, GridLinesStyle->Directive[ GrayLevel[0.5, 0.4]], ImagePadding->All, Method->{ "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> AbsolutePointSize[6], "ScalingFunctions" -> None, "AxesInFront" -> True}, PlotRange->{{-3.1, 5.4}, {-1, 0.8}}, PlotRangeClipping->True, PlotRangePadding->{{ Scaled[0.02], Scaled[0.02]}, { Scaled[0.05], Scaled[0.05]}}, Ticks->{Automatic, Automatic}]], "Output", CellChangeTimes->{3.7770517223880525`*^9, 3.77705185759639*^9, 3.7770520811098566`*^9}] }, {2}]] }, Open ]], Cell[CellGroupData[{ Cell["Spoiler Effect of IRV", "Subsubsection", CellChangeTimes->{{3.777052102670453*^9, 3.777052108640188*^9}, { 3.7770548384407916`*^9, 3.7770548389346433`*^9}}], Cell[TextData[{ "In spite of the fact that IRV is generally promoted as a way of overcoming \ the spoiler effect, it is not completely free of it. In the system below, \ candidate ", StyleBox["C", FontWeight->"Bold"], " has moved closer to the center of opinion. In the above system, ", StyleBox["C", FontWeight->"Bold"], " received the fewest first-choice votes and was eliminated first. Now ", StyleBox["C", FontWeight->"Bold"], " has become popular enough that it is ", StyleBox["A", FontWeight->"Bold"], " whom is now eliminated first. Because ", StyleBox["A", FontWeight->"Bold"], " lies between ", StyleBox["B", FontWeight->"Bold"], " and ", StyleBox["C", FontWeight->"Bold"], ", some of their second-choice votes go to ", StyleBox["B", FontWeight->"Bold"], " and some of them go to ", StyleBox["C", FontWeight->"Bold"], ", and this is enough to push ", StyleBox["B", FontWeight->"Bold"], " past the halfway mark to be counted as the winner, despite again ", StyleBox["A", FontWeight->"Bold"], " being closest to the center of opinion." }], "Text", CellChangeTimes->{{3.777054771278204*^9, 3.7770548204315453`*^9}, 3.7770549233310356`*^9, {3.7770549655738688`*^9, 3.7770550050281987`*^9}, { 3.777055483230173*^9, 3.777055622173127*^9}}], Cell["\<\ FPTP and IRV both tend to squeeze out candidates flanked closely by other \ candidates in a way that Borda and Approval do not. We can also see based on \ the width of the red bar that Borda tends to be more generous to centrist \ candidates than Approval.\ \>", "Text", CellChangeTimes->{{3.7770551645281973`*^9, 3.777055268657863*^9}, { 3.7770570761701975`*^9, 3.777057137115881*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"n", "=", "101"}], ",", "p", ",", "pref", ",", RowBox[{"w", "=", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], ",", "g", ",", RowBox[{"\[Mu]", "=", "0.22"}], ",", RowBox[{"\[Sigma]", "=", "0.815"}], ",", RowBox[{"\[Epsilon]", "=", "0.6"}], ",", RowBox[{"np", "=", "3"}], ",", RowBox[{"p1", "=", "0.12"}], ",", RowBox[{"p2", "=", "0.41"}], ",", RowBox[{"p3", "=", RowBox[{"-", "0.45"}]}], ",", RowBox[{"p4", "=", RowBox[{"-", "2"}]}], ",", RowBox[{"p5", "=", "2"}], ",", RowBox[{"shading", "=", "\"\\""}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"List", " ", "of", " ", "party", " ", "positions"}], ",", " ", RowBox[{ "limited", " ", "to", " ", "the", " ", "parties", " ", "being", " ", RowBox[{"used", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"p", "=", RowBox[{"Switch", "[", RowBox[{"np", ",", "1", ",", RowBox[{"{", "p1", "}"}], ",", "2", ",", RowBox[{"{", RowBox[{"p1", ",", "p2"}], "}"}], ",", "3", ",", RowBox[{"{", RowBox[{"p1", ",", "p2", ",", "p3"}], "}"}], ",", "4", ",", RowBox[{"{", RowBox[{"p1", ",", "p2", ",", "p3", ",", "p4"}], "}"}], ",", "5", ",", RowBox[{"{", RowBox[{"p1", ",", "p2", ",", "p3", ",", "p4", ",", "p5"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ "Calculate", " ", "winners", " ", "under", " ", "the", " ", "current", " ", RowBox[{"distribution", "."}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"w", "[", RowBox[{"[", "1", "]"}], "]"}], "=", RowBox[{"driver1", "[", RowBox[{ "p", ",", "\[Mu]", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "1"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"w", "[", RowBox[{"[", "3", "]"}], "]"}], "=", RowBox[{"driver1", "[", RowBox[{ "p", ",", "\[Mu]", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "3"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"w", "[", RowBox[{"[", "4", "]"}], "]"}], "=", RowBox[{"driver1", "[", RowBox[{ "p", ",", "\[Mu]", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "4"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"w", "[", RowBox[{"[", "6", "]"}], "]"}], "=", RowBox[{"driver1", "[", RowBox[{ "p", ",", "\[Mu]", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "6"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{"Show", " ", RowBox[{"results", "."}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"g", "=", RowBox[{"If", "[", RowBox[{ RowBox[{"shading", "\[Equal]", "\"\\""}], ",", RowBox[{"bellcurve", "[", RowBox[{"\[Mu]", ",", "\[Sigma]", ",", "p"}], "]"}], ",", RowBox[{"bellcurveshade", "[", RowBox[{"\[Mu]", ",", "\[Sigma]", ",", "p", ",", "\[Epsilon]"}], "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"Show", "[", RowBox[{"g", ",", RowBox[{"partylines", "[", "p", "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Gray", ",", RowBox[{"Thickness", "[", "0.008", "]"}], ",", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"\[Mu]", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"\[Mu]", ",", RowBox[{"-", "0.1"}]}], "}"}]}], "}"}], "]"}]}], "}"}], "]"}], ",", RowBox[{"\[Mu]sweepcolor", "[", RowBox[{ "p", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "1", ",", "n", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.3"}], ",", RowBox[{"-", "0.2"}]}], "}"}]}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", "\"\\"", "]"}], ",", RowBox[{"{", RowBox[{"3.75", ",", RowBox[{"-", "0.25"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", RowBox[{ RowBox[{ RowBox[{"let", "[", RowBox[{"w", "[", RowBox[{"[", "1", "]"}], "]"}], "]"}], "<>", "\"\< Wins\>\""}], ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", RowBox[{"(", RowBox[{"w", "[", RowBox[{"[", "1", "]"}], "]"}], ")"}], "]"}], "]"}]}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"5", ",", RowBox[{"-", "0.25"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"\[Mu]sweepcolor", "[", RowBox[{ "p", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "6", ",", "n", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.5"}], ",", RowBox[{"-", "0.4"}]}], "}"}]}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", "\"\\"", "]"}], ",", RowBox[{"{", RowBox[{"3.75", ",", RowBox[{"-", "0.45"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", RowBox[{ RowBox[{ RowBox[{"let", "[", RowBox[{"w", "[", RowBox[{"[", "6", "]"}], "]"}], "]"}], "<>", "\"\< Wins\>\""}], ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", RowBox[{"(", RowBox[{"w", "[", RowBox[{"[", "6", "]"}], "]"}], ")"}], "]"}], "]"}]}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"5", ",", RowBox[{"-", "0.45"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", "\"\\"", "]"}], ",", RowBox[{"{", RowBox[{"3.75", ",", RowBox[{"-", "0.65"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", RowBox[{ RowBox[{ RowBox[{"let", "[", RowBox[{"w", "[", RowBox[{"[", "3", "]"}], "]"}], "]"}], "<>", "\"\< Wins\>\""}], ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", RowBox[{"(", RowBox[{"w", "[", RowBox[{"[", "3", "]"}], "]"}], ")"}], "]"}], "]"}]}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"5", ",", RowBox[{"-", "0.65"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"\[Mu]sweepcolor", "[", RowBox[{ "p", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "3", ",", "n", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.7"}], ",", RowBox[{"-", "0.6"}]}], "}"}]}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", "\"\\"", "]"}], ",", RowBox[{"{", RowBox[{"3.75", ",", RowBox[{"-", "0.85"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", RowBox[{ RowBox[{ RowBox[{"let", "[", RowBox[{"w", "[", RowBox[{"[", "4", "]"}], "]"}], "]"}], "<>", "\"\< Wins\>\""}], ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", RowBox[{"(", RowBox[{"w", "[", RowBox[{"[", "4", "]"}], "]"}], ")"}], "]"}], "]"}]}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"5", ",", RowBox[{"-", "0.85"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"\[Mu]sweepcolor", "[", RowBox[{ "p", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "4", ",", "n", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.9"}], ",", RowBox[{"-", "0.8"}]}], "}"}]}], "]"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "3.1"}], ",", "5.4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "0.8"}], "}"}]}], "}"}]}]}], "]"}]}]}], "\[IndentingNewLine]", "]"}]], "Input", CellChangeTimes->{{3.7184090635862045`*^9, 3.7184090738172503`*^9}, { 3.7184091489216175`*^9, 3.7184092011820745`*^9}, {3.7184134910281954`*^9, 3.718413503116922*^9}, {3.7184181268985057`*^9, 3.7184181289155807`*^9}, { 3.7184184853004723`*^9, 3.7184184934181714`*^9}, {3.7184220876782064`*^9, 3.7184221280529118`*^9}, {3.718422421838458*^9, 3.7184224221512566`*^9}, { 3.7770517272315273`*^9, 3.7770518554710693`*^9}, {3.7770520526054473`*^9, 3.777052079166593*^9}, {3.7770521327603855`*^9, 3.777052133490569*^9}}], Cell[BoxData[ GraphicsBox[{{{GraphicsComplexBox[CompressedData[" 1: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 b/4/HCST3w== "], {{{}, {RGBColor[1, 0.8, 0], EdgeForm[None], GraphicsGroupBox[PolygonBox[CompressedData[" 1:eJwl1Hl8z3UcB/AdZgc2Y2PYHJtzZpuxTolK28zIsNkQpkSKpFQ6dEmky1mO LroPR9FBpSh0IKUSRYfSpZvofH4e++P5eL2+r3++v8fv93782tRMKp8YFRER EcmwyNqsjqztBXqVzGQoP3huIyt5Xv+e1noFN+nr+I5Wnodwjj6RB9lNgq0X XfV88silCzl0JptOdKQD7WlHW7LIDJ8hvDe8h5YM4GIe4APiveN0MvT+XMT9 vE+cvSfpehkTuI9dxNpPo4XejwtZxnvUtfeguV7KeJaykxj7qTTT+zKOJeyg jv0U0vQSLmAx24m2n0xTvZix3Mu7RNlPoolexPncwzvht7KfSKp+I2v5NnwX tsGcrZ/HIt6OqP1xTyBFvYHnOESGbRB99DEs5C3+o9DeWF7Ps3xDuq2cs/Qa FrCNf+lubySns4avaWEbyJn6aOazlX/oZk+W17GagzQPN8MZ+ijmsYW/KbA3 lNeyiq9oZhtAb30kc3mTv+hqT5LXsJIvSbP1Dzeon8vdvMFx8u2J8mqe4Qua 2srCLekjuIvNHCPP3kBO42k+p4mtX7gvfTh3sok/ybXXl1fxFAdItZWGm9OH cQevc5Qu9nrySp5kPym2vuEO9Wpu5zWOkGNPkFfwBJ/R2FYSblOvYg4b+YPO 9ng5lcf5lEa24nCv+lBu41V+J9seJy/nMfaRbCsKN6xXMptX+I1O9lh5GY+y l4bhNsNd6xXM4mV+paO9rpzCI3xCUrjNcOv6EG5lA7/QwR4jL+Vh9pAYbjPc uj6YmaznZ9rb68jJrOBjGoTbpFAfxC28xE+0s0fLS1jOR9QPt0l3vZwZvMhh 2trD/+gkHuJD6oXbpJs+kJt5gR/Jsv8PxKKSSA== "]]]}, {}, {}}, {{}, {}, {Opacity[0], LineBox[CompressedData[" 1:eJwl1Hl8z3UcB/AZGzMz19jsYObcxmYH2yqyjaVSGWZ0kFSSo0SHDkduunWj +6I7R3eOiuhWyVkUcnRQ6aB4fh7+eH5fr+/rn98fv/fvlz5sbOWYGhEREYM8 QmZ4/CxfZxp9yaeHPZZv9McZSyStbb/IN5hOJQWU2uuxSX+Cq6hJG9uv8k1m 0I9CyuxxfKs/ydXUoq3tN/kWM+lPF8rt9dmsP8U4omhnOyTfZhYD6EpPezxb 9Ke5hmja2w7Ld5hNFUX0sjdgq/4M46lNB9vv8l3mMJBiKuwN2aY/ywTqkGn7 Q77HXKop4Qx7I7brz3EtMWTZ/pQrmRe+F06ht70xO/TFXEddsm1H5CpuYzCn cqa9Cd/pS7ieWDra/pKruZ3zOY2z7Al8rz/PDdSjk+1vuYY7uIBunG1vyk79 BSYSR47tH/k+d3Ih3eljb8Yu/UVupD65tn/lB9zFRZzOOfZEftBf4ibi6Ww7 Kj/kboaE2+RcexI/6i9zMw3Isx2Ta7mHoZRynr05u/VXuIWG5Nv+k+uYz8WU 0deezB79VSbRiALb//Ij7mUY5VTaU9irv8ZkGlNoOy7Xcx+X0JN+9lR+0pcy hSZ0CT9KNoj7GU4v+tvS2KcvYyoJdA2/Yz7WH+BSKmhKkT2ST/QHuSzcIc0o ttfkU/0hLg83RyIl9lp8pj/MiHBfJIXbtEfxub6AK8It0TzcoT2aL/SFjAx3 Q3K4OXttvtQXcWW4EVLCfdnrsFF/hFHhHkgNt2SP4Sv9UUaH7540WtCSdFqR QWva0JZ2tKcDmWSRTUc6kUNuuLFwgz6jLl/rjzEm3AwDbC3Yry/nVqq8t+SA voKBejoH9WrZqsbJ/9c87ycATpWRjQ== "]]}}}], {}}, {GraphicsComplexBox[CompressedData[" 1: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 "], {{{}, {RGBColor[1, 0, 0], EdgeForm[None], GraphicsGroupBox[PolygonBox[CompressedData[" 1:eJwt02O7EAYABeCbzbWsm1Zt2TbWWq27sFw327btVq2WsWXbtm3bNt6e+vCe c/7ACQxuEdQ8ZEBAQIiAb/G1P3/fmdUndvOKCWziIa0ZySpuUp7GDGQRF8lP KWrRnVkcJxN/0ogBLOQC+fiVmnRjJsfISBAN6c8CzpOXktSgKzM4SgbK0YB+ zOcceWjOUJZxlRJUpwvTOUJ6WjGCldzgD8ayjrvUpy/zOEtuxrGB+zRjG08Z wlKuUJwdPGc0a7hNNTbziM68ZhqHScdHdvGS8bxjIw9oyXu284zhvGEF1ynL B3bygjG8ZS13qMcWHtOHuZwhF3+znns0ZStPGMwSLlOMUazmFlXpxFQO8Qst GMZyrlGGuvTmf06TkyYMYjGXKEoVOjKFg/zM79ShF/9xihwUoTIdmMwB0lKa YHoyh5NkpzB/0Z5/2U8afqM2PZjNCbJRiEq0YxL7SE1WClKRtkxkLz+RipSk IDnJCCQpSUhMIhKSgPjEIy5xiM2PxOIHYhKD6EQjKlGITCQiEoHwhCMsYQhN KL7+PQsFqEAb/mEPXwD/HYE4 "]]]}, {}, {}}, {{}, {}, {Opacity[0], LineBox[{1, 200, 153, 115, 85, 63, 51, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 201, 154, 116, 86, 64, 52, 40, 202, 155, 117, 87, 65, 53, 212, 165, 127, 97, 75, 41, 203, 156, 118, 88, 66, 54, 213, 166, 128, 98, 76, 42, 204, 157, 119, 89, 67, 55, 214, 167, 129, 99, 77, 43, 205, 158, 120, 90, 68, 222, 175, 137, 107, 56, 215, 168, 130, 100, 78, 226, 179, 141, 111, 44, 206, 159, 121, 91, 230, 183, 145, 69, 223, 176, 138, 240, 193, 108, 234, 187, 149, 57, 216, 169, 131, 239, 192, 101, 232, 185, 249, 147, 244, 197, 252, 79, 227, 180, 248, 142, 242, 195, 251, 112, 236, 189, 250, 151, 245, 198, 253, 45, 207, 160, 247, 122, 238, 191, 92, 231, 184, 146, 243, 196, 70, 224, 177, 139, 241, 194, 109, 235, 188, 150, 58, 217, 170, 132, 102, 233, 186, 148, 80, 228, 181, 143, 113, 46, 208, 161, 123, 93, 71, 225, 178, 140, 110, 59, 218, 171, 133, 103, 81, 47, 209, 162, 124, 94, 72, 60, 219, 172, 134, 104, 82, 48, 210, 163, 125, 95, 73, 61, 220, 173, 135, 105, 83, 49, 211, 164, 126, 96, 74, 62, 221, 174, 136, 106, 84, 229, 182, 144, 114, 237, 190, 152, 246, 199, 254, 50}]}}}], {}}, { GraphicsComplexBox[CompressedData[" 1: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 w0Zz "], {{{}, {RGBColor[0, 1, 0], EdgeForm[None], GraphicsGroupBox[PolygonBox[CompressedData[" 1:eJwl0mWYFWUAhuGzS0gtHbvsLrB0h0gjICoN0tIiiIl0ipICgkWDklJKW3So ICWYCCqohNJdUgreH/vjvp4575wfc803SV16Nu8RHYlEoigYldwCUcnXD7rO r9c1SXfrNfK5nqO7uEpev/vpLHZwmURbI32Wd1jHX2Syl9O+zGQ7l0iwN9Ru vM1ajpHRXlb78D5fc5F4ewN9hrdYw1Fi7GW0N++xjQvkttfXrrzJao6QwV5a ezGDrZwnzl5PuzCezzlMensp7cl0vuIcsfa6+jTj+Iw/SWcvqT2YxpecJZe9 jnbmDT7lD9LaS+jLTOULzpDT/rg+xVg+4XfS2Itrd6awhdPksD+mnRjDxxzi AXsxfYnJbOYU2e2PakdGs4qDpLYX1ReZxCZOks1eWzvwOiv5jVT2IvoCE9nI CbLaH9H2jGIFv5LSXlhr0Y6RLOcXUrhXSGvSlhEs4wDR4RvVGrRhOEvZT5R7 BfRhnmQYS/g5Ern/geeX6rRmKB+xj3skUY1WvMaH/MRd8lGVlrzKYn7kP/JS hRYMYRE/8C95qExzXmEh33OHRBKIJzdxxIbvI5x5OMdwNuF9h3dIFjKTiYzE kIH0pCNt+CbCOYezoxLNGMwCvuN2OCcq0pRBzOdbboUzoQJPMJAP2MvNcCY8 zwQ2cDw8k3f6kDZhAPPYw41wTjzHu6zn7/D8/l9eZ7OTK+Ed2Rprf+byDf/w PyIHhBo= "]]]}, {}, {}}, {{}, {}, {Opacity[0], LineBox[CompressedData[" 1:eJwl1Hecz3UAx/GfPQ6nRHfnzjmRLQ17ZGemhOxyQqKzhUL2HkmFUklFVtmb ysgOpVDZZY+shvn8PPzx/L3u3p/fH7/H9/N7/JKSuzZKSRWJRPJ5Cb3Bdj6h Nw3I4+CK/sAMniS77aSuYiIdSc0/7OBT+vAsT/GA9/+pq5nEq6ThX3Yykzdo SCnS8h+7+Iy+PEdp0vE/u5lFP56nDOnJQEYykZkospCVbESHzx8+Ew+Sg4fI SS4eJoZY4shNPAnc5Ec+pz+NKBueEbfYwxe8yQuUI5Hb7OVL3qIx5cnLHfYx mwE0oQJJ3OUn5jCQplQM90W4sJ/lKwbxIpV4JBw5269zeZtmVCZ/uCdnv+g8 BtOcpykQ7sTZrzqfIbSgCo+GO3F2QBcwlJZUDc/Q/peu4R06UTDck/2gLmQY ragWnrf9lK5lMq9RKNyd/ZB+zXBaUz3cjf20ruNdOlM43LP9N/2GEbShRrhH +xldzxS6UCR8J+y/6yJG8hI1w53bz+oG3uN1ipLJ/ocuZhQvUyt8P+zn9Fve J4ViZLYf1iWMpi3PEGM/r9/xAV0pTpT9iC5lDMnUJtZ+Qb9nKt0oQRb7UV3G WNpRhzj7Rd3INLrzGFntx3Q543iFuuS2X9JNTKcHJclmP64rGE976hFvv6yb +ZCePE60/YSuZAIdqE+C/W/dwkf0ItF2VbfyMXn9f023keTv65H7v0FP6D0t poPN "]]}}}], {}}}, { {GrayLevel[0], Thickness[0.008], LineBox[{{0.12, -0.1}, {0.12, 0.75}}]}, {RGBColor[1, 0, 0], Thickness[0.004], LineBox[{{0.12, -0.1}, {0.12, 0.75}}]}, {GrayLevel[0], Thickness[0.008], LineBox[{{0.41, -0.1}, {0.41, 0.75}}]}, {RGBColor[0, 1, 0], Thickness[0.004], LineBox[{{0.41, -0.1}, {0.41, 0.75}}]}, {GrayLevel[0], Thickness[0.008], LineBox[{{-0.45, -0.1}, {-0.45, 0.75}}]}, {RGBColor[1, 0.8, 0], Thickness[0.004], LineBox[{{-0.45, -0.1}, {-0.45, 0.75}}]}}, {GrayLevel[0.5], Thickness[0.008], LineBox[{{0.22, 0}, {0.22, -0.1}}]}, RasterBox[CompressedData[" 1:eJxTTMoPSmVmYGBgBOJUIAaxIeCD/ayZIPDSngEFjIqPio+Kj4oPFXGE/Kj4 qPio+Kj4YBUHAA9sa70= "], {{-3.03, -0.3}, {3.03, -0.2}}, {0, 1}], InsetBox[ TagBox["\<\"FPTP:\"\>", StyleForm], {3.75, -0.25}], InsetBox[ TagBox[ StyleBox["\<\"B Wins\"\>", LineColor->RGBColor[0, 1, 0], FrontFaceColor->RGBColor[0, 1, 0], BackFaceColor->RGBColor[0, 1, 0], GraphicsColor->RGBColor[0, 1, 0], FontWeight->Bold, FontColor->RGBColor[0, 1, 0]], StyleForm[#, {Bold, RGBColor[0, 1, 0]}]& ], {5, -0.25}], RasterBox[CompressedData[" 1:eJxTTMoPSmVmYGBgBOJUIAaxIeCD/ayZIPDSngEFjIqPio+Kj4oPNnGE/Kj4 qPio+Kj4UBMHAImBZv4= "], {{-3.03, -0.5}, {3.03, -0.4}}, {0, 1}], InsetBox[ TagBox["\<\"IRV:\"\>", StyleForm], {3.75, -0.45}], InsetBox[ TagBox[ StyleBox["\<\"B Wins\"\>", LineColor->RGBColor[0, 1, 0], FrontFaceColor->RGBColor[0, 1, 0], BackFaceColor->RGBColor[0, 1, 0], GraphicsColor->RGBColor[0, 1, 0], FontWeight->Bold, FontColor->RGBColor[0, 1, 0]], StyleForm[#, {Bold, RGBColor[0, 1, 0]}]& ], {5, -0.45}], InsetBox[ TagBox["\<\"Borda:\"\>", StyleForm], {3.75, -0.65}], InsetBox[ TagBox[ StyleBox["\<\"A Wins\"\>", LineColor->RGBColor[1, 0, 0], FrontFaceColor->RGBColor[1, 0, 0], BackFaceColor->RGBColor[1, 0, 0], GraphicsColor->RGBColor[1, 0, 0], FontWeight->Bold, FontColor->RGBColor[1, 0, 0]], StyleForm[#, {Bold, RGBColor[1, 0, 0]}]& ], {5, -0.65}], RasterBox[CompressedData[" 1:eJxTTMoPSmVmYGBgBOJUIAaxIeCD/ayZIPDSngEFjIqPio+Kj4qTLs6AFQxX 8YG2f1R8VHxUfCiJAwBdV1QC "], {{-3.03, -0.7}, {3.03, -0.6}}, {0, 1}], InsetBox[ TagBox["\<\"Approval:\"\>", StyleForm], {3.75, -0.85}], InsetBox[ TagBox[ StyleBox["\<\"A Wins\"\>", LineColor->RGBColor[1, 0, 0], FrontFaceColor->RGBColor[1, 0, 0], BackFaceColor->RGBColor[1, 0, 0], GraphicsColor->RGBColor[1, 0, 0], FontWeight->Bold, FontColor->RGBColor[1, 0, 0]], StyleForm[#, {Bold, RGBColor[1, 0, 0]}]& ], {5, -0.85}], RasterBox[CompressedData[" 1:eJxTTMoPSmVmYGBgBOJUIAaxIeCD/ayZIPDSngEFjIqPio+Kj4rTXpwBKxhs 4gNt/6j4qPio+HAQBwBqO12A "], {{-3.03, -0.9}, {3.03, -0.8}}, {0, 1}]}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->{False, False}, AxesLabel->{None, None}, AxesOrigin->{0., 0.}, DisplayFunction->Identity, Frame->{{False, False}, {False, False}}, FrameLabel->{{None, None}, {None, None}}, FrameTicks->{{Automatic, Automatic}, {Automatic, Automatic}}, GridLines->{None, None}, GridLinesStyle->Directive[ GrayLevel[0.5, 0.4]], ImagePadding->All, Method->{ "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> AbsolutePointSize[6], "ScalingFunctions" -> None, "AxesInFront" -> True}, PlotRange->{{-3.1, 5.4}, {-1, 0.8}}, PlotRangeClipping->True, PlotRangePadding->{{ Scaled[0.02], Scaled[0.02]}, { Scaled[0.05], Scaled[0.05]}}, Ticks->{Automatic, Automatic}]], "Output", CellChangeTimes->{3.7770521341890306`*^9}] }, {2}]] }, Open ]], Cell[CellGroupData[{ Cell["Non-Monotonicity of IRV", "Subsubsection", CellChangeTimes->{{3.7770521515465555`*^9, 3.777052158200531*^9}, { 3.7770548414528227`*^9, 3.7770548417247534`*^9}}], Cell["\<\ IRV can also display some unusual properties that the other voting systems do \ not, such as non-monotonicity. Normally one would expect that a candidate \ should do better if the center of opinion moves closer to them and worse if \ the center of opinion moves farther from them: this property is called \ monotonicity. In IRV, that is not always the case.\ \>", "Text", CellChangeTimes->{{3.777055638987117*^9, 3.7770557355518246`*^9}}], Cell[TextData[{ "In the system below, in IRV, candidate ", StyleBox["A", FontWeight->"Bold"], " is currently the winner, and is currently to the right of the center of \ opinion. If the center of opinion moves to the right, and therefore closer to \ ", StyleBox["A", FontWeight->"Bold"], ", we should expect ", StyleBox["A", FontWeight->"Bold"], " to do better, but instead we enter a region where ", StyleBox["B", FontWeight->"Bold"], " becomes the winner instead of ", StyleBox["A", FontWeight->"Bold"], ". This property is indicated by discontinuous bands of color in the IRV bar." }], "Text", CellChangeTimes->{{3.777055739175668*^9, 3.7770558118033476`*^9}, { 3.777055915355322*^9, 3.7770560001604853`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"n", "=", "101"}], ",", "p", ",", "pref", ",", RowBox[{"w", "=", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], ",", "g", ",", RowBox[{"\[Mu]", "=", "0.03"}], ",", RowBox[{"\[Sigma]", "=", "0.815"}], ",", RowBox[{"\[Epsilon]", "=", "0.6"}], ",", RowBox[{"np", "=", "3"}], ",", RowBox[{"p1", "=", "0.35"}], ",", RowBox[{"p2", "=", "0.57"}], ",", RowBox[{"p3", "=", RowBox[{"-", "0.51"}]}], ",", RowBox[{"p4", "=", RowBox[{"-", "2"}]}], ",", RowBox[{"p5", "=", "2"}], ",", RowBox[{"shading", "=", "\"\\""}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"List", " ", "of", " ", "party", " ", "positions"}], ",", " ", RowBox[{ "limited", " ", "to", " ", "the", " ", "parties", " ", "being", " ", RowBox[{"used", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"p", "=", RowBox[{"Switch", "[", RowBox[{"np", ",", "1", ",", RowBox[{"{", "p1", "}"}], ",", "2", ",", RowBox[{"{", RowBox[{"p1", ",", "p2"}], "}"}], ",", "3", ",", RowBox[{"{", RowBox[{"p1", ",", "p2", ",", "p3"}], "}"}], ",", "4", ",", RowBox[{"{", RowBox[{"p1", ",", "p2", ",", "p3", ",", "p4"}], "}"}], ",", "5", ",", RowBox[{"{", RowBox[{"p1", ",", "p2", ",", "p3", ",", "p4", ",", "p5"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ "Calculate", " ", "winners", " ", "under", " ", "the", " ", "current", " ", RowBox[{"distribution", "."}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"w", "[", RowBox[{"[", "1", "]"}], "]"}], "=", RowBox[{"driver1", "[", RowBox[{ "p", ",", "\[Mu]", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "1"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"w", "[", RowBox[{"[", "3", "]"}], "]"}], "=", RowBox[{"driver1", "[", RowBox[{ "p", ",", "\[Mu]", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "3"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"w", "[", RowBox[{"[", "4", "]"}], "]"}], "=", RowBox[{"driver1", "[", RowBox[{ "p", ",", "\[Mu]", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "4"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"w", "[", RowBox[{"[", "6", "]"}], "]"}], "=", RowBox[{"driver1", "[", RowBox[{ "p", ",", "\[Mu]", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "6"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{"Show", " ", RowBox[{"results", "."}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"g", "=", RowBox[{"If", "[", RowBox[{ RowBox[{"shading", "\[Equal]", "\"\\""}], ",", RowBox[{"bellcurve", "[", RowBox[{"\[Mu]", ",", "\[Sigma]", ",", "p"}], "]"}], ",", RowBox[{"bellcurveshade", "[", RowBox[{"\[Mu]", ",", "\[Sigma]", ",", "p", ",", "\[Epsilon]"}], "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"Show", "[", RowBox[{"g", ",", RowBox[{"partylines", "[", "p", "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Gray", ",", RowBox[{"Thickness", "[", "0.008", "]"}], ",", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"\[Mu]", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"\[Mu]", ",", RowBox[{"-", "0.1"}]}], "}"}]}], "}"}], "]"}]}], "}"}], "]"}], ",", RowBox[{"\[Mu]sweepcolor", "[", RowBox[{ "p", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "1", ",", "n", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.3"}], ",", RowBox[{"-", "0.2"}]}], "}"}]}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", "\"\\"", "]"}], ",", RowBox[{"{", RowBox[{"3.75", ",", RowBox[{"-", "0.25"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", RowBox[{ RowBox[{ RowBox[{"let", "[", RowBox[{"w", "[", RowBox[{"[", "1", "]"}], "]"}], "]"}], "<>", "\"\< Wins\>\""}], ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", RowBox[{"(", RowBox[{"w", "[", RowBox[{"[", "1", "]"}], "]"}], ")"}], "]"}], "]"}]}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"5", ",", RowBox[{"-", "0.25"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"\[Mu]sweepcolor", "[", RowBox[{ "p", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "6", ",", "n", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.5"}], ",", RowBox[{"-", "0.4"}]}], "}"}]}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", "\"\\"", "]"}], ",", RowBox[{"{", RowBox[{"3.75", ",", RowBox[{"-", "0.45"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", RowBox[{ RowBox[{ RowBox[{"let", "[", RowBox[{"w", "[", RowBox[{"[", "6", "]"}], "]"}], "]"}], "<>", "\"\< Wins\>\""}], ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", RowBox[{"(", RowBox[{"w", "[", RowBox[{"[", "6", "]"}], "]"}], ")"}], "]"}], "]"}]}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"5", ",", RowBox[{"-", "0.45"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", "\"\\"", "]"}], ",", RowBox[{"{", RowBox[{"3.75", ",", RowBox[{"-", "0.65"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", RowBox[{ RowBox[{ RowBox[{"let", "[", RowBox[{"w", "[", RowBox[{"[", "3", "]"}], "]"}], "]"}], "<>", "\"\< Wins\>\""}], ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", RowBox[{"(", RowBox[{"w", "[", RowBox[{"[", "3", "]"}], "]"}], ")"}], "]"}], "]"}]}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"5", ",", RowBox[{"-", "0.65"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"\[Mu]sweepcolor", "[", RowBox[{ "p", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "3", ",", "n", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.7"}], ",", RowBox[{"-", "0.6"}]}], "}"}]}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", "\"\\"", "]"}], ",", RowBox[{"{", RowBox[{"3.75", ",", RowBox[{"-", "0.85"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", RowBox[{ RowBox[{ RowBox[{"let", "[", RowBox[{"w", "[", RowBox[{"[", "4", "]"}], "]"}], "]"}], "<>", "\"\< Wins\>\""}], ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", RowBox[{"(", RowBox[{"w", "[", RowBox[{"[", "4", "]"}], "]"}], ")"}], "]"}], "]"}]}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"5", ",", RowBox[{"-", "0.85"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"\[Mu]sweepcolor", "[", RowBox[{ "p", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "4", ",", "n", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.9"}], ",", RowBox[{"-", "0.8"}]}], "}"}]}], "]"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "3.1"}], ",", "5.4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "0.8"}], "}"}]}], "}"}]}]}], "]"}]}]}], "\[IndentingNewLine]", "]"}]], "Input", CellChangeTimes->{{3.7184090635862045`*^9, 3.7184090738172503`*^9}, { 3.7184091489216175`*^9, 3.7184092011820745`*^9}, {3.7184134910281954`*^9, 3.718413503116922*^9}, {3.7184181268985057`*^9, 3.7184181289155807`*^9}, { 3.7184184853004723`*^9, 3.7184184934181714`*^9}, {3.7184220876782064`*^9, 3.7184221280529118`*^9}, {3.718422421838458*^9, 3.7184224221512566`*^9}, { 3.7770517272315273`*^9, 3.7770518554710693`*^9}, {3.7770520526054473`*^9, 3.777052079166593*^9}, {3.7770521327603855`*^9, 3.7770521890166216`*^9}}], Cell[BoxData[ GraphicsBox[{{{GraphicsComplexBox[CompressedData[" 1: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 7oIFOqZVn/bOvD3LqGikLxVcpeMA/p+jHBMrjKT6JrspMh2fNPxCrOqiwqhc xJra7Q39VtfwdO9jh+9tsawivDRsfLKmNvMvN7y9smJpmErFjc48Nll9QmD4 WDijbg8Vr4h3GipuEgVzZ9ZIvlwKzlwWylr3l4Uj73Zjkf0U3G40dSZ++hA0 Zs9OXi4lY+k+w2lrIzVQjtvvyC9PxhbaooLXz2mD4KQpR30NCZtwpgeIvjSC 4kttYutaJOxqJPP5d6457N3xNOpKMxEvnFe6kclnB6Co9fWEGRHna8/E97U4 QQ8zs22+k4CV95hrvTnsCSaKkvzWFgQ8o8bJ+l+vLwyS+ou53q6jf5TPz4yn BMFYjVj5ctMacrUb2009HAaq7t8zA3tXUUtp07eh7xGQqLq3o6p3BQXcOh0a pxAD2fbvilyZy0iZnP3HOTAB1v26vQv/LqGJe7wpZyeSQKSgtObC4iKaZbcZ PViXBraVtzfVp7Shk3ckT4xfHIQgeWXZYxZNiKy8llYpyITNbTL57VOv0cOi fdt97zPB+vjEj4VXdPyy6kGW5bt5hsz6ZiVWDTqudnx+oKuFCBd9U1mvN9Jw 5PbAkPtum4AlYCeRbErDuReyyMFCG3z/Nqo8/4WKBx/qxR5iCoAUfc/iKTsq zvvzTWBk916IW2Xx/DpEwc43na/bkaTgP4MXT6ydKfhu3Icq1REF2Cf60Cxr gowjkvtdSxyPws32A89YfDf8dxQWGama4KYoe7d3noQ197LezMjQg2hRkdSn V0k4z6pH82egKfyOcGQus5DwgbrlCbskK+hMYy8piyNiulIj/eSqAzRddT0Q y0XEq2rh5DMabpBRHx3qkkzA57L4hhtP+UBE7KAiSXCj9rYQDo8JAKUkTemh wgbkU/+OvcyOCbS5cNpIQTXqOmwjxtXKhNBdiUyWuEq0vXZmdmiYCS/L09ru hz9Hj7dbTx+fZoJcfueo2QodPyFyL4cYzTIMIrVoudc3+N6Z1DEes8KoeCE5 l0enY32vXdtMEqnwNsNqcjiehvuH3XfphG3wXyb4L+8OGh6Te7LXqIQbjHg2 ta09oOKA1HORH4qEYFlOY9vr/VQsklR+Yuz1fqh1yTChPqbgqW3RjnnqsiBN /MrdKk7BraGDC+vFh6C3FakHPCfjF3+mWoWF1ODzH27Vj0pkzPM6NeumjDYE NVdoOeONvEmv/3IjwQjE9bRsp3RJOMGbPlvlbg6ie3WOS34k4rNiYni2zRZc DswlHbMgYpXII5Y3Up2g1qxu+NsXAv6cMhhpMO8BtQM+VURrAma7VbceX+4L BEbc8GrLOpo7yjh8xyEI+M8Kr9q0r6Gf9EmDRZ4wqFghfw/8vrGftaiH7KuK gKtY/H3i9xWkEXu0XmX1JmQbc1VVjy2jcx66+6zNE0BT18A/fW0J0VrwnsN1 SRA649nBJCyhgxpeRbvupAEtM6Zdp6oN8d00+qwWMAjWt88aCyQ2Ibvso33O /ExweuUVfUW2DjV3PWyoTWLCf+y8f3Ne07Ho1erXpZfnGY3VuupkLTrm2COt rJFIhHTX1YwjH2j4aJVyHzffJvjxbXb6kTkNx+30GRca44R+6Nj/s5eKVXv3 3Uu8JQAVGQe86Y5U3Cy9THH+uQdUosQHukcouCear2Hvv5KgbGQQrH2Wggsv 9X0seKIA3GdOPTkxTca8f4R6tXmOQsbaCpUQSMbtMWon4h00gZomdD5+mYRX f++w7DXXAyYlut34OgmjKyZJ8tqm4GXWwz3BRsLNrOXmE8ZW0J1T4GmfSMRN F+SedHQ4wPTl7ePRvES86FpUbcXiBleVniQaphJwYdhQYY+sD0wfEunMFybg 3H5y6X7bAOCf8jN4MdyA8uxuXu4/zYTK1vVmdakaVLo/KY/1AxNkljjynTir UOtj6rjMEBM84viS5igVKOo4NbX2FxNYenayMdbK0QXrPIP630yYjHH3EV+j 410P0sWl5WYZqY6ubFlRdDxZcP68rvUKQ0uhH8JZ6Xhn1jVWV18qlHce+1F5 h4azT12q5DdhBye7SU9OQRqWTyQ5/43hBq4hjphPD6n4xRNNTs5kITBe6NDB YlQcmZcwz56xH3xH3A4vF2z02y3A7ImYLIgIHlTPkdzw17+7RPxjD4HLj7wJ n0oy3hAOcXkWNXiUHyv9+BAZE9Ra7r7h0IbcQ25DinUkzLb1RaXlZSMYLbsa NKJPwvMl83mt+uYgLsqTR2oj4oH+5NzP/9rCkpSen4YVEWdvFw2jhzvB0y2m Pl09BNw1OaV24pMH/FFIvNFpQ8CBhRJ+tzN9Ie7rSNjv9nXE032Pl/14EMjB A2H2rjWkJra5IZoeBtMNidQLo6tISm/H4HBWBAQTpLXCR1dQuL95XsXgTdjd rPzK+dcy2lpSr+x+PAFGKqICk0jLSE/Bqke5KAkKk5ptUyhLyJXNrEPqYhpY 3d2kuLWxDek6aCu6+w6CgXK4w/WnTYix9ZOQMi8TOBRiL5qb1KHR7iNHBhOZ cPtP0eXgNxt5x7nQXsZynsGV6qFNOEHHQtysq4xAIkgxi8d4PtJwqp45Lpxh hS7ugdEgCxqe9cx7WdTCCbbe2hlD/VQ8eqlXS/CMAIS4HxQfcKJiPg7jpdMf 90CCfjVv9xgF+5JzHjuES8JkG689w4OCbY+lL/LFKgD7lbJPO3+TcWzpANvp mSMgun2oZPkCGU+lTel4H9OETv0UO/dVEk6R3Vp2WF4P2P2Uz+2O2sg7E8ar awdMQbJmu+z3rRv59dqC97kDVtCbH/heKYmIa3et1MsjB4gI8Wy8wU/EufJ5 q/RxV/CfUhHUTCdgl+GyU8RdPiASq51zcQ8BdzR3b03TCgC29BjbveS3yMze RXHGcqNfrxhF01416OQBG9uwZiZEjRhGc5pVIYuhyfb2QSbUX7K4kHO8ArHt VzENnGCCwzvryXF4jnIvN61dn2HC04l+sfiacuTK4jiwNsuE/93zCP///e+e 8b/6/wCioamy "], {{{}, {RGBColor[1, 0.8, 0], EdgeForm[None], GraphicsGroupBox[PolygonBox[CompressedData[" 1:eJwl1Hec13McB/Df7dHddfuOog65vbIy7ijJap7MjFwUpTujUEpRlJA9G1qU jLKlrEplNBERDTsRGkZDz0/3x/Pxev9en9/v9/3+vo/P51dQ31jXEB2JRKI4 Oaopa6Oa5rbmGtmMk/jK62R5IrPN60gyn8At5mf5kkSvj6eL+Soe5QN2cqS+ Wg5lFl+QoGtHZ3M/HmExO2ijr5Jn05eHWcR2jrBWKSsop4xSSiimiMJwzfA9 4f0czmEU0JpWHMohtKQFB3MQZ3ElD7GQv8LnXTNfnskVPMj7/Bm+11qePIM+ PMB7/BGuZy1Xnk499/Mu28J9WMuRnbic+3iH38P9WcuWp9Gb8bzNb+G+rWXJ jlzGvSxga/g91jLlEGaylnjdcZxqvpR7mM+v4bfrM+TNPMPnxOmOpYP5Eu7m LbaE56RPlzfxNJ8RqzuG9uaLGcc8fgnPVN9c3sgMPiVGdzSnmHtxF2/yc3j+ +jQ5mOmsIVp3VNib5osYyxv8RL4+VQ5iGquJCnuYWvOFjOF1fiRPnyJvYCqr IpEDm7+aGuMF3Mlr/EBuOAfyeqawkv+pCmdDns8dvMr35OiT5XU8xQr2URnO jzyP0bzCd2Trk+S1TGY5e6kI50ueyyheZjNZ+kTZyCQ+YQ/l4ezJntzOS2wi U58gG5jIx+ymLJw9eQ63MZeNZOjj5UAm8BH/URr2kKxjJHPYQLo+Tl7Dk3zI v5SEPSR7MIIX+Zbm+lg5gCdYxj8Uhz0ku3MrL/ANafoY2Z/HWcrfFIU9JLsx nOdZT6o+/K9dzWMsYReFYQ/JrgzjOb4mRb8fSNaJlg== "]]]}, {}, {}}, {{}, {}, {Opacity[0], LineBox[CompressedData[" 1:eJwl1Hecz3UcB/Bz5+5wLRSVkJG97krdQkX2KBpIyhUVdSeVIpRESmQX2WU0 jKxCRZkNGmQkKu2Fsirz+X70x/P3+vxen7vf9/v7ft6PX4W8gvb5hRISEhp4 iTzLy275OgNoy+VU1R+VG3iBe0nkbP3X8g0G0o4rqKY/JjfyIj1J4hz9Hjmf QVxPfarr/5GbmEQvCnOufq9cwOPcwJXU0P8rP2Qy95HMefpv5EKeoD1XUVP/ n/yIl7ifFIrrv5WLGEwHMqmlPy4/Zgr5pFJC/518kye5kSxq60/IT5hKAUUo qd8nFzOEm8imjv6k3Mw0elOU8/XfyyU8xc3kUFd/Sm5hOg9QjAv0P8ilDOUW cqmnPy0/ZQZ9SKOU/ke5jGF0jLMnPQ6fz8RMHoxZoLTuJ7mcp+lEQzJiXvjc ehYPxSxwoe5n+RbD6UyjmCF9Il9Yv8zDMQtcpPtFvs0z3MrVMUP6JLZav0Lf mAUu1v0qV/AsXbgmZkhfmG3Ws3kkZoEyut/kSkZwG9fGDOmT+dJ6Do/GLHCJ 7ne5iufoSuOYIX0K263n0i9mgbK6P+Q7jOR2msS5U87en/JdRnEH18UZU97e fvkez9ONpnGeXGrvgFzNaPJoFmdHBXsH5RrGcCfN45yoaO8v+T5juYsWcSZU sve3/IBxdKdlPP94pvGc4rvH94n7jvuL+4jrxefG/1OZy6hCVapRnRrUpBa1 qUPd+HvXPCTXMp4etKJefI69w3IdE7ib1mTqU9lhPY/+pMc1dUfkeiZyD23I 0hdhp/WrPEa290XZZf0aOdbF+Mo6V6YV+v/3LsP7Mz+tiRM= "]]}}}], {}}, {GraphicsComplexBox[CompressedData[" 1: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 f99f/5P/D/X5Cpg= "], {{{}, {RGBColor[1, 0, 0], EdgeForm[None], GraphicsGroupBox[PolygonBox[CompressedData[" 1:eJwl0mV0FmQYBuCN3AbSjYCjpUs6VTqEoSANo2ukgHQjSHcjnRLS3Z1KI0oo KCAoIJ3Xd/bjOvdzn/P+ep43PLJTRFSMoKCgYMKCozM0OHouYA6RZ4KiH/wg jvCcXkxnD//xNZ0Zzxb+piw1aMVwVvM7+clHXvKQm1zkJAcfk51sZCULmclE RsL5iAykJx0fkpY0pCYVKUlBcpKRlCQkpgzVackwfuQ3ElGaarRgKKu4SkLq 0olxbOYvSlGV5gxhJb+SgDpEMZZN3KYkVYhkMCu4wgd8RUfGsJFblKA7k9nB P1SmGYNYzmXi05Np7OZfvmQ2B/ifDoxmA39SnLkc4indOM4rJrGde1TiJG+Y SUz/YZ98RFNi60flCwYSrC+Tl4hHXP20fMc8YumH5TN6EEc/IV8zlRj6LvmA 2pziLbPYz2Pac4yXfM96/qAYczjIE7oykW3cpSIz2MtDmjCApVwkjG+Ywk7u E0E7RvETNylKFyawlTtUoDH9WcIFQqlFW0ayjhsUoTyN6MdizhNCTdrwHWu5 TmE+pyF9WcS5wG75gtaMYA3X+ITPaEAfFnI2sGsK8Sn16c0CfgncMXCbwH0D N6Ag5ajHt8znZ94DVQyBgw== "]]]}, {}, {}}, {{}, {}, {Opacity[0], LineBox[CompressedData[" 1:eJwl1FWQkFUABeBdkJJGkI6lu1O6S2oJ6Vi6llJBuruUlk5pJJUUpTsUlO4S QQFpUL5/ePjumfN2556ZGxbRLTwyNCQkJKYjyFMs5CsaUZYCRCEqHxCN0yyi L40pR0Gi8yuL6UcTylOIK6xjFO2pRQx+Ywn9aUoFCnOV7xlNB2oH9+QMSxlA MypShGusZwwdqUMszrKMgTSnEvfYytf0oCjX2cBYOhHOA3YyjS/4kN/5jkG0 4BE/M4vK/Mk2vqEnT9nHXIpxg42M4xWH6cwT9jCb/zhOXR6yK9jAQNPlG44G b61/KZ9zINhGny//50Twtnps+QfLCdUHy5ccCnbUW8rH/BLsq38r33KMKtxn O1N4zRF68Yz9zOMTbrKJ8XThX/Yyh3r8zU/MoDdxOMcKhtCKqvzFDqbyOcW5 xWYm0JX6xOU8KxlKBNUowW22MJFIGhCPC6xiGK2pTknu8AOT6MZnxOciqxlO Gz6lFAm4xBpG0JYalCYhifiIxCThY5KSjOSkICWpSE0a0pKOMNKTgYxkIjNZ yEo2spODnOQiN3nISz4us5aRtKMmZbjLj0ymOw35h93MpA8vOMgCgg/hZMj7 vyG/fAdwf4Fq "]]}}}], {}}, {GraphicsComplexBox[CompressedData[" 1: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 Z0qS9ChYZX2p5ocmwsyHn0/z8yjI2qJhVF+vAamU0Uf+olQsyD5zu+msMrCE +UQNRFGxP0Qqu7pHBq4s+JsM/aSiQCqv/v6HDKCJG/CN2NKQrUlhnmIiBMI6 6i+uVtBwLLrJOmdmI/x15J5KzY51HqxJq3Yas0P7YHn2QCIdo5VeX9lgTQER mXhy7hoRGzrE/zl10QmiG478fOlGQgO/v+20Le3gecnCJas2Em56bmX4NMUK ZhJTgjL2kjGri278T6z5Or+rZbsfkpFVSOjn7QUjaHKt9S3hoqClANM1/5Uu 5E9Qv+8MpOCi1WR9QfNe6CxRszUbp+BH70ONTvY74cBYquNJCyqKF+lWVvEq QBe7VrLwGyoeJc6wnv69HaQv5rv6SdHwmYNoROeEKNzokH/qE0tD1Q2Na5/s BKDqnkqm0wINmRmZd+994IaSp+yKv47TUfOZglI/nQVS9h1wJzWt839t3HfH CAGWQpIO3Jqgo1xiDM2zdlVbVnB3RfcfOro88m0asmdqW0Re/Cp7rRdGOVkO kcX6Yb+vXl6DwAp8/pLgZr8hCRTCDs/+mlvn57Dcjd2kBPCp+C7lVcGESTYu P6HCGHDl2fDtbPoqaB1ldU/ljIZUp+Es1oA1EHC8FXQgOgxuz4k+WdlGwILF kzUfNgUB7YuIBVs8Af2fpIoPLvlDJfdC9NRvAlIj5m/cdfCGPF+WDFG7dV4m XCpac3OH+mU3yql/iSi149jlqc0ucDMtduSLIglH3m+bHXI9DqFORL4T6SS0 nDcqre+ygbILB5orqGR8k87HL8dpCdKvP3t6uJNRWatc1lHBFN6KP7VT/ELG u/T8pbrX+kDO1qsWQgqq1lWXM1wQGM9E54xfUHA2vPr5EHUX2BfZ3jMQpmI5 qUyCJUUZTDqt3nuEUzGX/5j/CTFZsBfN2vV4horfWDUnilsZ8La4ds/rwzQc +px8pTtWCCwCJcWE39CQO0H4t7sUH7A7t1vckqUj4YOYZ+EtdjBZsb5yIIGO jWMv85xvUuBHumpq8AoRr+lPKuZkOEHLN/fPe11JqG5rppV20w7isi04BVtI eKhnemdzjRXkThrp++0iY054qiffS3PQ6hzWcs8i4/nz4e9aVYwhU11RPYKd gpst/shzjeoC2aFnoew8BTW7v3pab9IE1lTHjJERCkY76zHDE3bCxlQuaw2z 9X18brl0w1YBtjqLtT8qpeKDv2+FuSlJwur9fqu9EuvzjL9Si94qBgYez1uM r9HwwakpJfdkAfjTweCZ/0nDEJW4RaUlbggt1jd7d4yOtQJvxeUMWYDdZeSA Vz0dz7c8q24UIMLZO/IqxG/r973ERlBQYk07XbX5gfE8HZPchdkvFzO1iwhZ PWdW6Pi4XbpjL52p3VG1KcD1Ui80Gh7s5JPsh/iehr32fCuQdvbGM1ahJKC9 kpF9N70CpT5pX/9wJUBthvyThddM4Muy1ONpioH0YxlZtLurUMOe4JjLiAbn kCqOXr81+BRnq5uWFAZlrTVRemIE9BM8NsuvEgR+DLdIzzgCGk5kUI5ynYNM 7jNttvMEHP+tfa3H0xvMawpvnrYlYt+W7tXgy+7wsui12cdaItaQ/XB0hwvs erypXUSBhFULPcw/F46DV6eCXXUaCVlmWA1WftmAYE7OTjkKGV32arCZMCzB aK/zhYLTZPz1ZE0h0twUpNgG3iR2kDHjZOQIW5s+yPU9/2CvTcHH2/wcjl9A KLtXyJf0jIKSNbppD8R3AXIlCbwQpGKxsjpb7VNl+BFRO5QXSsVott3OXrqy YKxa8oJjmoqVDq4um74zQDCcpUnKmoZiVm3GpFwh8EhJt3F5RcMPu/ImyXp8 4DU+N7goTUdRnt4jYyXsQLnKuBh1Y12bu7d8yqVA65GokZElIna9HYu2z3OC gPlf70NdSOho8eZlYJ4dBAuGWgc1k/BqsCcHpc8KuAXv/9On/r+82SA1XGkO dof9DPMzyet+qeRjlrkxbBA5kTzGSkHPczcP2S/rgtwdw1WmPwVv911gntit CVnXFt4pDVOwOml6Ep7shN9zxs0Zput+Zud5mbxgBXjLdXN+qpiKGkuaXPdN JWG8cL4hnUFDKb7uZ0XKYpClPu1SeIWGd5yqnnwvEICN86nG2nM0jOd7dPgR Dw8Mazr1S9mt+0uuJ+rsrixQM5uLf9fRUfgLNlgqE0Fa8o/4rhE62tqZVbZY rGnbVNxNCv1Jx80/v5ZoDDO1vWLPNGUv0bHKYWvijApTe8W3fUJ9lY5ZLkN6 1d0r2v/9cwj/X//l2f/0/wFWSfi5 "], {{{}, {RGBColor[0, 1, 0], EdgeForm[None], GraphicsGroupBox[PolygonBox[CompressedData[" 1:eJwl1GWUVWUAhtEZGGqkYYZmAAlBKUnp7paQkEZCGiSku1O626RDSrpLGulO pUE69l3zY6/nu+/6fp1z1k3btEON9lGCgoKCiQiObOrgyPOXzqn0sabUPfqI FM6zdDcPSe53F53JLh6QzFZRmzOatVwm1J5TOzODndwnqb2CNmMUa7hELHsO 7cR0dvAfSezltSkjWc1FYtqza0emsZ1/CbeX0yaMYBUXiGHPph2YyjbuEWYv q40ZzkrOE92eVdszha3cJbG9jDZiGCs4RzT7F9qOyWzhDonspbUhQ1nOWULs n2tbJvEXt0loL6XfMoRl/ENUexb9np/YzC0S2EtqAwazlDNEsWfWNkxkEzeJ by+h9RnEH5wOfBf2z7Q1E9jIDeLZi2s9BvI7p4IiP6RM0orxbOA6ce3FtC4D +I2TfCAjLRnHeq4Rx/2i+g39+ZUTvCcD3zGWP7lKbPeLaB368QvHeUd6WjCG dVzhE/cLa2368jPHeMunFKIWfVjCUd6QjoLUpDeL+ZvXpKUAX9OLRRzhFWn4 ihr8yEIO85II8lOdnizgEC9ITT6q0YP5HOR/UpGXqnRnHgd4TkryUIVuzGU/ z0hBbirzA3PYx1OSk4ykJCGcMBKTiIQkID7xAu818K4Czz/wTAklFjGJQXSi EUJUAv81uahEV2azlyd8BN2Sg2Y= "]]]}, {}, {}}, {{}, {}, {Opacity[0], LineBox[CompressedData[" 1:eJwl1GO0nFcAhtEbuze2bdtWY9t2YzVqYzuNbdu2bbVJozZ22qTZs/pjzzPz rvNnvjNrkjXrXK1TiKCgoEReAn3DMebQnQrkICShCE0YwhKO8EQgIpGITBR+ IJioRCM6MYhJLGITh7jEIz5vOc5celCRnCTgHSeYR08qkYuEvOck8+lFZXIH vhMfOMUCelOFPCTmI6dZSB+qkpckfOIMi+hLNfKRlM+cZTH9qE5+kvGFcyyh PzUoQHL+4TxL+ZmaFCQF/3KBZQygFoUCz9Sl3NetjKUlKfnKRZYzkNoUDjx/ 53/XbYyjFan4xiVWMIg6FAnclfN/6HbG05rU/MdlVjKYuhQN3KvzD3QHE2hD GgI/niuyiiHUoxjB9oe6k4m0JW3guP2qruYX6lOcqPY/dReTaEc6Qtqv6Rp+ pQEliGZ/pLuZTHvSE8p+XdcylIaUJLr9se5hCh3IQGj7DV3HMBpRihj2J7qX qXQkI2HsN3U9w2lMaWLan+o+ptGJTIS139INjKAJZYhlf6b7mU5nMhPOfls3 MpKmlCW2/S89wAy6kIXw9ju6iVE0oxxx7H/rQX7jJ7ISwX5XNzOa5pQnrv25 HmImXclGRPs93cIYWvAj8ewv9DCz6EZ820s9wmwS+PxKj5LQ+9dB///fZNfv wiSDIw== "]]}}}], {}}}, { {GrayLevel[0], Thickness[0.008], LineBox[{{0.35, -0.1}, {0.35, 0.75}}]}, {RGBColor[1, 0, 0], Thickness[0.004], LineBox[{{0.35, -0.1}, {0.35, 0.75}}]}, {GrayLevel[0], Thickness[0.008], LineBox[{{0.57, -0.1}, {0.57, 0.75}}]}, {RGBColor[0, 1, 0], Thickness[0.004], LineBox[{{0.57, -0.1}, {0.57, 0.75}}]}, {GrayLevel[0], Thickness[0.008], LineBox[{{-0.51, -0.1}, {-0.51, 0.75}}]}, {RGBColor[1, 0.8, 0], Thickness[0.004], LineBox[{{-0.51, -0.1}, {-0.51, 0.75}}]}}, {GrayLevel[0.5], Thickness[0.008], LineBox[{{0.03, 0}, {0.03, -0.1}}]}, RasterBox[CompressedData[" 1:eJxTTMoPSmVmYGBgBOJUIAaxIeCD/ayZIPDSngEFjIqPio+Kj4qPNHGE/Kj4 qPio+Kg4tcUB9XJ5+g== "], {{-3.03, -0.3}, {3.03, -0.2}}, {0, 1}], InsetBox[ TagBox["\<\"FPTP:\"\>", StyleForm], {3.75, -0.25}], InsetBox[ TagBox[ StyleBox["\<\"C Wins\"\>", LineColor->RGBColor[1, 0.8, 0], FrontFaceColor->RGBColor[1, 0.8, 0], BackFaceColor->RGBColor[1, 0.8, 0], GraphicsColor->RGBColor[1, 0.8, 0], FontWeight->Bold, FontColor->RGBColor[1, 0.8, 0]], StyleForm[#, {Bold, RGBColor[1, 0.8, 0]}]& ], {5, -0.25}], RasterBox[CompressedData[" 1:eJxTTMoPSmVmYGBgBOJUIAaxIeCD/ayZIPDSngEFjIqPio+Kj4oPnDgDVkAt cVL1DZS9o+Kj4qPiw0kcANP2Yj8= "], {{-3.03, -0.5}, {3.03, -0.4}}, {0, 1}], InsetBox[ TagBox["\<\"IRV:\"\>", StyleForm], {3.75, -0.45}], InsetBox[ TagBox[ StyleBox["\<\"A Wins\"\>", LineColor->RGBColor[1, 0, 0], FrontFaceColor->RGBColor[1, 0, 0], BackFaceColor->RGBColor[1, 0, 0], GraphicsColor->RGBColor[1, 0, 0], FontWeight->Bold, FontColor->RGBColor[1, 0, 0]], StyleForm[#, {Bold, RGBColor[1, 0, 0]}]& ], {5, -0.45}], InsetBox[ TagBox["\<\"Borda:\"\>", StyleForm], {3.75, -0.65}], InsetBox[ TagBox[ StyleBox["\<\"A Wins\"\>", LineColor->RGBColor[1, 0, 0], FrontFaceColor->RGBColor[1, 0, 0], BackFaceColor->RGBColor[1, 0, 0], GraphicsColor->RGBColor[1, 0, 0], FontWeight->Bold, FontColor->RGBColor[1, 0, 0]], StyleForm[#, {Bold, RGBColor[1, 0, 0]}]& ], {5, -0.65}], RasterBox[CompressedData[" 1:eJxTTMoPSmVmYGBgBOJUIAaxIeCD/ayZIPDSngEFjIqPio+Kj4qTLs6AFYyK 4xcfaPtHxUfFR8XpIQ4Aeb9UAg== "], {{-3.03, -0.7}, {3.03, -0.6}}, {0, 1}], InsetBox[ TagBox["\<\"Approval:\"\>", StyleForm], {3.75, -0.85}], InsetBox[ TagBox[ StyleBox["\<\"A Wins\"\>", LineColor->RGBColor[1, 0, 0], FrontFaceColor->RGBColor[1, 0, 0], BackFaceColor->RGBColor[1, 0, 0], GraphicsColor->RGBColor[1, 0, 0], FontWeight->Bold, FontColor->RGBColor[1, 0, 0]], StyleForm[#, {Bold, RGBColor[1, 0, 0]}]& ], {5, -0.85}], RasterBox[CompressedData[" 1:eJxTTMoPSmVmYGBgBOJUIAaxIeCD/ayZIPDSngEFjIqPio+Kj4oPnDgDVjDU xQfa/lHxUfFR8YEUBwDm5mI/ "], {{-3.03, -0.9}, {3.03, -0.8}}, {0, 1}]}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->{False, False}, AxesLabel->{None, None}, AxesOrigin->{0., 0.}, DisplayFunction->Identity, Frame->{{False, False}, {False, False}}, FrameLabel->{{None, None}, {None, None}}, FrameTicks->{{Automatic, Automatic}, {Automatic, Automatic}}, GridLines->{None, None}, GridLinesStyle->Directive[ GrayLevel[0.5, 0.4]], ImagePadding->All, Method->{ "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> AbsolutePointSize[6], "ScalingFunctions" -> None, "AxesInFront" -> True}, PlotRange->{{-3.1, 5.4}, {-1, 0.8}}, PlotRangeClipping->True, PlotRangePadding->{{ Scaled[0.02], Scaled[0.02]}, { Scaled[0.05], Scaled[0.05]}}, Ticks->{Automatic, Automatic}]], "Output", CellChangeTimes->{3.7770521899515696`*^9}] }, {2}]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Interactive Module", "Subsection", CellChangeTimes->{{3.7766008885632277`*^9, 3.7766008904796133`*^9}, { 3.7770516783875556`*^9, 3.7770516875756073`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Manipulate", "[", RowBox[{ RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"n", "=", "101"}], ",", "p", ",", "pref", ",", RowBox[{"w", "=", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], ",", "g"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"List", " ", "of", " ", "party", " ", "positions"}], ",", " ", RowBox[{ "limited", " ", "to", " ", "the", " ", "parties", " ", "being", " ", RowBox[{"used", "."}]}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"p", "=", RowBox[{"Switch", "[", RowBox[{"np", ",", "1", ",", RowBox[{"{", "p1", "}"}], ",", "2", ",", RowBox[{"{", RowBox[{"p1", ",", "p2"}], "}"}], ",", "3", ",", RowBox[{"{", RowBox[{"p1", ",", "p2", ",", "p3"}], "}"}], ",", "4", ",", RowBox[{"{", RowBox[{"p1", ",", "p2", ",", "p3", ",", "p4"}], "}"}], ",", "5", ",", RowBox[{"{", RowBox[{"p1", ",", "p2", ",", "p3", ",", "p4", ",", "p5"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ "Calculate", " ", "winners", " ", "under", " ", "the", " ", "current", " ", RowBox[{"distribution", "."}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"w", "[", RowBox[{"[", "1", "]"}], "]"}], "=", RowBox[{"driver1", "[", RowBox[{ "p", ",", "\[Mu]", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "1"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"w", "[", RowBox[{"[", "3", "]"}], "]"}], "=", RowBox[{"driver1", "[", RowBox[{ "p", ",", "\[Mu]", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "3"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"w", "[", RowBox[{"[", "4", "]"}], "]"}], "=", RowBox[{"driver1", "[", RowBox[{ "p", ",", "\[Mu]", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "4"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"w", "[", RowBox[{"[", "6", "]"}], "]"}], "=", RowBox[{"driver1", "[", RowBox[{ "p", ",", "\[Mu]", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "6"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{"Show", " ", RowBox[{"results", "."}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"g", "=", RowBox[{"If", "[", RowBox[{ RowBox[{"shading", "\[Equal]", "\"\\""}], ",", RowBox[{"bellcurve", "[", RowBox[{"\[Mu]", ",", "\[Sigma]", ",", "p"}], "]"}], ",", RowBox[{"bellcurveshade", "[", RowBox[{"\[Mu]", ",", "\[Sigma]", ",", "p", ",", "\[Epsilon]"}], "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"Show", "[", RowBox[{"g", ",", RowBox[{"partylines", "[", "p", "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Gray", ",", RowBox[{"Thickness", "[", "0.008", "]"}], ",", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"\[Mu]", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"\[Mu]", ",", RowBox[{"-", "0.1"}]}], "}"}]}], "}"}], "]"}]}], "}"}], "]"}], ",", RowBox[{"\[Mu]sweepcolor", "[", RowBox[{ "p", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "1", ",", "n", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.3"}], ",", RowBox[{"-", "0.2"}]}], "}"}]}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", "\"\\"", "]"}], ",", RowBox[{"{", RowBox[{"3.75", ",", RowBox[{"-", "0.25"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", RowBox[{ RowBox[{ RowBox[{"let", "[", RowBox[{"w", "[", RowBox[{"[", "1", "]"}], "]"}], "]"}], "<>", "\"\< Wins\>\""}], ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", RowBox[{"(", RowBox[{"w", "[", RowBox[{"[", "1", "]"}], "]"}], ")"}], "]"}], "]"}]}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"5", ",", RowBox[{"-", "0.25"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"\[Mu]sweepcolor", "[", RowBox[{ "p", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "6", ",", "n", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.5"}], ",", RowBox[{"-", "0.4"}]}], "}"}]}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", "\"\\"", "]"}], ",", RowBox[{"{", RowBox[{"3.75", ",", RowBox[{"-", "0.45"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", RowBox[{ RowBox[{ RowBox[{"let", "[", RowBox[{"w", "[", RowBox[{"[", "6", "]"}], "]"}], "]"}], "<>", "\"\< Wins\>\""}], ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", RowBox[{"(", RowBox[{"w", "[", RowBox[{"[", "6", "]"}], "]"}], ")"}], "]"}], "]"}]}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"5", ",", RowBox[{"-", "0.45"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", "\"\\"", "]"}], ",", RowBox[{"{", RowBox[{"3.75", ",", RowBox[{"-", "0.65"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", RowBox[{ RowBox[{ RowBox[{"let", "[", RowBox[{"w", "[", RowBox[{"[", "3", "]"}], "]"}], "]"}], "<>", "\"\< Wins\>\""}], ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", RowBox[{"(", RowBox[{"w", "[", RowBox[{"[", "3", "]"}], "]"}], ")"}], "]"}], "]"}]}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"5", ",", RowBox[{"-", "0.65"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"\[Mu]sweepcolor", "[", RowBox[{ "p", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "3", ",", "n", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.7"}], ",", RowBox[{"-", "0.6"}]}], "}"}]}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", "\"\\"", "]"}], ",", RowBox[{"{", RowBox[{"3.75", ",", RowBox[{"-", "0.85"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{"Text", "[", RowBox[{ RowBox[{"StyleForm", "[", RowBox[{ RowBox[{ RowBox[{"let", "[", RowBox[{"w", "[", RowBox[{"[", "4", "]"}], "]"}], "]"}], "<>", "\"\< Wins\>\""}], ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", RowBox[{"(", RowBox[{"w", "[", RowBox[{"[", "4", "]"}], "]"}], ")"}], "]"}], "]"}]}], "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"5", ",", RowBox[{"-", "0.85"}]}], "}"}]}], "]"}], "}"}], "]"}], ",", RowBox[{"\[Mu]sweepcolor", "[", RowBox[{ "p", ",", "\[Sigma]", ",", "\[Epsilon]", ",", "4", ",", "n", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.9"}], ",", RowBox[{"-", "0.8"}]}], "}"}]}], "]"}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "3.1"}], ",", "5.4"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "0.8"}], "}"}]}], "}"}]}]}], "]"}]}]}], "\[IndentingNewLine]", "]"}], ",", "\[IndentingNewLine]", RowBox[{"Style", "[", RowBox[{"\"\\"", ",", "14", ",", "Bold"}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"\[Mu]", ",", "0", ",", "\"\\""}], "}"}], ",", RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"\[Sigma]", ",", "1", ",", "\"\\""}], "}"}], ",", "0.75", ",", "1.5"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"\[Epsilon]", ",", "0.6", ",", "\"\\""}], "}"}], ",", "0.1", ",", "3"}], "}"}], ",", "Delimiter", ",", RowBox[{"Style", "[", RowBox[{"\"\\"", ",", "14", ",", "Bold"}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"np", ",", "3", ",", "\"\\""}], "}"}], ",", "2", ",", "5", ",", "1", ",", "RadioButton"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"p1", ",", "0", ",", RowBox[{"Style", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", "1", "]"}], "]"}]}], "}"}]}], "]"}]}], "}"}], ",", RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"p2", ",", "1", ",", RowBox[{"Style", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", "2", "]"}], "]"}]}], "}"}]}], "]"}]}], "}"}], ",", RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"p3", ",", RowBox[{"-", "1"}], ",", RowBox[{"Style", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", "3", "]"}], "]"}]}], "}"}]}], "]"}]}], "}"}], ",", RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"p4", ",", RowBox[{"-", "2"}], ",", RowBox[{"Style", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", "4", "]"}], "]"}]}], "}"}]}], "]"}]}], "}"}], ",", RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"p5", ",", "2", ",", RowBox[{"Style", "[", RowBox[{"\"\\"", ",", RowBox[{"{", RowBox[{"Bold", ",", RowBox[{"colors", "[", RowBox[{"[", "5", "]"}], "]"}]}], "}"}]}], "]"}]}], "}"}], ",", RowBox[{"-", "3"}], ",", "3"}], "}"}], ",", "Delimiter", ",", RowBox[{"Style", "[", RowBox[{"\"\\"", ",", "14", ",", "Bold"}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "shading", ",", "\"\\"", ",", "\"\\""}], "}"}], ",", RowBox[{"{", RowBox[{"\"\\"", ",", "\"\\""}], "}"}], ",", "RadioButton"}], "}"}], ",", RowBox[{"SaveDefinitions", "\[Rule]", "True"}]}], "]"}]], "Input", CellChangeTimes->{{3.7184090635862045`*^9, 3.7184090738172503`*^9}, { 3.7184091489216175`*^9, 3.7184092011820745`*^9}, {3.7184134910281954`*^9, 3.718413503116922*^9}, {3.7184181268985057`*^9, 3.7184181289155807`*^9}, { 3.7184184853004723`*^9, 3.7184184934181714`*^9}, {3.7184220876782064`*^9, 3.7184221280529118`*^9}, {3.718422421838458*^9, 3.7184224221512566`*^9}, 3.777053416795108*^9, {3.777057037152293*^9, 3.7770570397690086`*^9}}], Cell[BoxData[ TagBox[ StyleBox[ DynamicModuleBox[{$CellContext`np$$ = 3, $CellContext`p1$$ = 0, $CellContext`p2$$ = 1, $CellContext`p3$$ = -1, $CellContext`p4$$ = -2, $CellContext`p5$$ = 2, $CellContext`shading$$ = "favorite party", $CellContext`\[Epsilon]$$ = 0.6, $CellContext`\[Mu]$$ = 0, $CellContext`\[Sigma]$$ = 1, Typeset`show$$ = True, Typeset`bookmarkList$$ = {}, Typeset`bookmarkMode$$ = "Menu", Typeset`animator$$, Typeset`animvar$$ = 1, Typeset`name$$ = "\"untitled\"", Typeset`specs$$ = {{ Hold[ Style["voter distribution", 14, Bold]], Manipulate`Dump`ThisIsNotAControl}, {{ Hold[$CellContext`\[Mu]$$], 0, "mean"}, -3, 3}, {{ Hold[$CellContext`\[Sigma]$$], 1, "std dev"}, 0.75, 1.5}, {{ Hold[$CellContext`\[Epsilon]$$], 0.6, "approval range"}, 0.1, 3}, { Hold[ Style["candidate positions", 14, Bold]], Manipulate`Dump`ThisIsNotAControl}, {{ Hold[$CellContext`np$$], 3, "candidates"}, 2, 5, 1}, {{ Hold[$CellContext`p1$$], 0, Style["A", {Bold, RGBColor[1, 0, 0]}]}, -3, 3}, {{ Hold[$CellContext`p2$$], 1, Style["B", {Bold, RGBColor[0, 1, 0]}]}, -3, 3}, {{ Hold[$CellContext`p3$$], -1, Style["C", {Bold, RGBColor[1, 0.8, 0]}]}, -3, 3}, {{ Hold[$CellContext`p4$$], -2, Style["D", {Bold, RGBColor[0, 0, 1]}]}, -3, 3}, {{ Hold[$CellContext`p5$$], 2, Style["E", {Bold, RGBColor[1, 0, 1]}]}, -3, 3}, { Hold[ Style["display", 14, Bold]], Manipulate`Dump`ThisIsNotAControl}, {{ Hold[$CellContext`shading$$], "favorite party", "shading"}, { "favorite party", "approval range"}}}, Typeset`size$$ = { 271., {81., 87.}}, Typeset`update$$ = 0, Typeset`initDone$$, Typeset`skipInitDone$$ = False, $CellContext`\[Mu]$177172$$ = 0, $CellContext`\[Sigma]$177173$$ = 0, $CellContext`\[Epsilon]$177174$$ = 0, $CellContext`np$177175$$ = 0, $CellContext`p1$177176$$ = 0, $CellContext`p2$177177$$ = 0, $CellContext`p3$177178$$ = 0, $CellContext`p4$177179$$ = 0, $CellContext`p5$177180$$ = 0, $CellContext`shading$177181$$ = False}, DynamicBox[Manipulate`ManipulateBoxes[ 1, StandardForm, "Variables" :> {$CellContext`np$$ = 3, $CellContext`p1$$ = 0, $CellContext`p2$$ = 1, $CellContext`p3$$ = -1, $CellContext`p4$$ = -2, $CellContext`p5$$ = 2, $CellContext`shading$$ = "favorite party", $CellContext`\[Epsilon]$$ = 0.6, $CellContext`\[Mu]$$ = 0, $CellContext`\[Sigma]$$ = 1}, "ControllerVariables" :> { Hold[$CellContext`\[Mu]$$, $CellContext`\[Mu]$177172$$, 0], Hold[$CellContext`\[Sigma]$$, $CellContext`\[Sigma]$177173$$, 0], Hold[$CellContext`\[Epsilon]$$, $CellContext`\[Epsilon]$177174$$, 0], Hold[$CellContext`np$$, $CellContext`np$177175$$, 0], Hold[$CellContext`p1$$, $CellContext`p1$177176$$, 0], Hold[$CellContext`p2$$, $CellContext`p2$177177$$, 0], Hold[$CellContext`p3$$, $CellContext`p3$177178$$, 0], Hold[$CellContext`p4$$, $CellContext`p4$177179$$, 0], Hold[$CellContext`p5$$, $CellContext`p5$177180$$, 0], Hold[$CellContext`shading$$, $CellContext`shading$177181$$, False]}, "OtherVariables" :> { Typeset`show$$, Typeset`bookmarkList$$, Typeset`bookmarkMode$$, Typeset`animator$$, Typeset`animvar$$, Typeset`name$$, Typeset`specs$$, Typeset`size$$, Typeset`update$$, Typeset`initDone$$, Typeset`skipInitDone$$}, "Body" :> Module[{$CellContext`n$ = 101, $CellContext`p$, $CellContext`pref$, $CellContext`w$ = {0, 0, 0, 0, 0, 0}, $CellContext`g$}, $CellContext`p$ = Switch[$CellContext`np$$, 1, {$CellContext`p1$$}, 2, {$CellContext`p1$$, $CellContext`p2$$}, 3, {$CellContext`p1$$, $CellContext`p2$$, $CellContext`p3$$}, 4, {$CellContext`p1$$, $CellContext`p2$$, $CellContext`p3$$, \ $CellContext`p4$$}, 5, {$CellContext`p1$$, $CellContext`p2$$, $CellContext`p3$$, \ $CellContext`p4$$, $CellContext`p5$$}]; Part[$CellContext`w$, 1] = $CellContext`driver1[$CellContext`p$, $CellContext`\[Mu]$$, \ $CellContext`\[Sigma]$$, $CellContext`\[Epsilon]$$, 1]; Part[$CellContext`w$, 3] = $CellContext`driver1[$CellContext`p$, $CellContext`\[Mu]$$, \ $CellContext`\[Sigma]$$, $CellContext`\[Epsilon]$$, 3]; Part[$CellContext`w$, 4] = $CellContext`driver1[$CellContext`p$, $CellContext`\[Mu]$$, \ $CellContext`\[Sigma]$$, $CellContext`\[Epsilon]$$, 4]; Part[$CellContext`w$, 6] = $CellContext`driver1[$CellContext`p$, $CellContext`\[Mu]$$, \ $CellContext`\[Sigma]$$, $CellContext`\[Epsilon]$$, 6]; $CellContext`g$ = If[$CellContext`shading$$ == "favorite party", $CellContext`bellcurve[$CellContext`\[Mu]$$, \ $CellContext`\[Sigma]$$, $CellContext`p$], $CellContext`bellcurveshade[$CellContext`\[Mu]$$, $CellContext`\ \[Sigma]$$, $CellContext`p$, $CellContext`\[Epsilon]$$]]; Show[$CellContext`g$, $CellContext`partylines[$CellContext`p$], Graphics[{Gray, Thickness[0.008], Line[{{$CellContext`\[Mu]$$, 0}, {$CellContext`\[Mu]$$, -0.1}}]}], $CellContext`\[Mu]sweepcolor[$CellContext`p$, \ $CellContext`\[Sigma]$$, $CellContext`\[Epsilon]$$, 1, $CellContext`n$, {-3, 3}, {-0.3, -0.2}], Graphics[{ Text[ StyleForm["FPTP:"], {3.75, -0.25}]}], Graphics[{ Text[ StyleForm[ StringJoin[ $CellContext`let[ Part[$CellContext`w$, 1]], " Wins"], {Bold, Part[$CellContext`colors, Part[$CellContext`w$, 1]]}], {5, -0.25}]}], $CellContext`\[Mu]sweepcolor[$CellContext`p$, \ $CellContext`\[Sigma]$$, $CellContext`\[Epsilon]$$, 6, $CellContext`n$, {-3, 3}, {-0.5, -0.4}], Graphics[{ Text[ StyleForm["IRV:"], {3.75, -0.45}]}], Graphics[{ Text[ StyleForm[ StringJoin[ $CellContext`let[ Part[$CellContext`w$, 6]], " Wins"], {Bold, Part[$CellContext`colors, Part[$CellContext`w$, 6]]}], {5, -0.45}]}], Graphics[{ Text[ StyleForm["Borda:"], {3.75, -0.65}]}], Graphics[{ Text[ StyleForm[ StringJoin[ $CellContext`let[ Part[$CellContext`w$, 3]], " Wins"], {Bold, Part[$CellContext`colors, Part[$CellContext`w$, 3]]}], {5, -0.65}]}], $CellContext`\[Mu]sweepcolor[$CellContext`p$, \ $CellContext`\[Sigma]$$, $CellContext`\[Epsilon]$$, 3, $CellContext`n$, {-3, 3}, {-0.7, -0.6}], Graphics[{ Text[ StyleForm["Approval:"], {3.75, -0.85}]}], Graphics[{ Text[ StyleForm[ StringJoin[ $CellContext`let[ Part[$CellContext`w$, 4]], " Wins"], {Bold, Part[$CellContext`colors, Part[$CellContext`w$, 4]]}], {5, -0.85}]}], $CellContext`\[Mu]sweepcolor[$CellContext`p$, \ $CellContext`\[Sigma]$$, $CellContext`\[Epsilon]$$, 4, $CellContext`n$, {-3, 3}, {-0.9, -0.8}], PlotRange -> {{-3.1, 5.4}, {-1, 0.8}}]], "Specifications" :> { Style[ "voter distribution", 14, Bold], {{$CellContext`\[Mu]$$, 0, "mean"}, -3, 3}, {{$CellContext`\[Sigma]$$, 1, "std dev"}, 0.75, 1.5}, {{$CellContext`\[Epsilon]$$, 0.6, "approval range"}, 0.1, 3}, Delimiter, Style[ "candidate positions", 14, Bold], {{$CellContext`np$$, 3, "candidates"}, 2, 5, 1, ControlType -> RadioButton}, {{$CellContext`p1$$, 0, Style["A", {Bold, RGBColor[1, 0, 0]}]}, -3, 3}, {{$CellContext`p2$$, 1, Style["B", {Bold, RGBColor[0, 1, 0]}]}, -3, 3}, {{$CellContext`p3$$, -1, Style["C", {Bold, RGBColor[1, 0.8, 0]}]}, -3, 3}, {{$CellContext`p4$$, -2, Style["D", {Bold, RGBColor[0, 0, 1]}]}, -3, 3}, {{$CellContext`p5$$, 2, Style["E", {Bold, RGBColor[1, 0, 1]}]}, -3, 3}, Delimiter, Style[ "display", 14, Bold], {{$CellContext`shading$$, "favorite party", "shading"}, { "favorite party", "approval range"}, ControlType -> RadioButton}}, "Options" :> {}, "DefaultOptions" :> {}], ImageSizeCache->{622., {190., 196.}}, SingleEvaluation->True], Deinitialization:>None, DynamicModuleValues:>{}, Initialization:>({$CellContext`driver1[ Pattern[$CellContext`p, Blank[]], Pattern[$CellContext`\[Mu], Blank[]], Pattern[$CellContext`\[Sigma], Blank[]], Pattern[$CellContext`\[Epsilon], Blank[]], Pattern[$CellContext`w, Blank[]]] := Module[{$CellContext`n = Length[$CellContext`p], $CellContext`pref, $CellContext`breaks, \ $CellContext`votes, $CellContext`tot, $CellContext`out}, Switch[$CellContext`w, 1, {$CellContext`pref, $CellContext`breaks} = \ $CellContext`prefbreaks[$CellContext`p]; $CellContext`votes = \ $CellContext`intlist[$CellContext`\[Mu], $CellContext`\[Sigma]^2, \ $CellContext`breaks]; $CellContext`tot = \ $CellContext`totscore[$CellContext`pref, $CellContext`votes, $CellContext`scorefptp[$CellContext`n]]; $CellContext`out = \ $CellContext`winner[$CellContext`tot], 3, {$CellContext`pref, $CellContext`breaks} = \ $CellContext`prefbreaks[$CellContext`p]; $CellContext`votes = \ $CellContext`intlist[$CellContext`\[Mu], $CellContext`\[Sigma]^2, \ $CellContext`breaks]; $CellContext`tot = \ $CellContext`totscore[$CellContext`pref, $CellContext`votes, $CellContext`scoreborda[$CellContext`n]]; $CellContext`out = \ $CellContext`winner[$CellContext`tot], 4, $CellContext`breaks = $CellContext`appbreaks[$CellContext`p, \ $CellContext`\[Epsilon]]; $CellContext`tot = \ $CellContext`intlist[$CellContext`\[Mu], $CellContext`\[Sigma]^2, \ $CellContext`breaks]; $CellContext`out = \ $CellContext`winner[$CellContext`tot], 6, {$CellContext`pref, $CellContext`breaks} = \ $CellContext`prefbreaks[$CellContext`p]; $CellContext`votes = \ $CellContext`intlist[$CellContext`\[Mu], $CellContext`\[Sigma]^2, \ $CellContext`breaks]; $CellContext`out = \ $CellContext`irvwinner[$CellContext`pref, $CellContext`votes]; Null]; $CellContext`out], $CellContext`prefbreaks[ Pattern[$CellContext`p, Blank[]], Optional[ Pattern[$CellContext`ends, Blank[]], {-3, 3}]] := Module[{$CellContext`n = Length[$CellContext`p], $CellContext`break, $CellContext`pair, \ $CellContext`mid, $CellContext`dist, $CellContext`pref, $CellContext`used = \ {}, $CellContext`int = {}, $CellContext`temp}, $CellContext`pair = Subsets[$CellContext`p, {2}]; $CellContext`break = Sort[ Join[ Table[ Mean[ Part[$CellContext`pair, $CellContext`i]], {$CellContext`i, 1, Length[$CellContext`pair]}], $CellContext`ends]]; \ $CellContext`mid = Table[ Mean[{ Part[$CellContext`break, $CellContext`i], Part[$CellContext`break, $CellContext`i + 1]}], {$CellContext`i, 1, Length[$CellContext`break] - 1}]; $CellContext`dist = Table[ Abs[ Part[$CellContext`mid, $CellContext`i] - Part[$CellContext`p, $CellContext`j]], {$CellContext`i, 1, Length[$CellContext`mid]}, {$CellContext`j, 1, $CellContext`n}]; $CellContext`pref = Table[ Ordering[ Part[$CellContext`dist, $CellContext`i]], {$CellContext`i, 1, Length[$CellContext`dist]}]; Do[$CellContext`used = Append[$CellContext`used, Part[$CellContext`pref, $CellContext`i]]; $CellContext`temp = Length[$CellContext`used]; $CellContext`int = Append[$CellContext`int, { Part[$CellContext`break, $CellContext`i], Part[$CellContext`break, $CellContext`i + 1]}]; Null, {$CellContext`i, 1, Length[$CellContext`pref]}]; {$CellContext`used, \ $CellContext`int}], $CellContext`intlist[ Pattern[$CellContext`\[Mu], Blank[]], Pattern[$CellContext`\[Sigma]s, Blank[]], Pattern[$CellContext`list, Blank[]]] := Table[ $CellContext`normalint[$CellContext`\[Mu], $CellContext`\[Sigma]s, Part[$CellContext`list, $CellContext`i, 1], Part[$CellContext`list, $CellContext`i, 2]], {$CellContext`i, 1, Length[$CellContext`list]}], $CellContext`normalint[ Pattern[$CellContext`\[Mu], Blank[]], Pattern[$CellContext`\[Sigma]s, Blank[]], Pattern[$CellContext`a, Blank[]], Pattern[$CellContext`b, Blank[]]] := N[(1/2) ( Erf[($CellContext`b - $CellContext`\[Mu])/( Sqrt[2] $CellContext`\[Sigma]s)] - Erf[($CellContext`a - $CellContext`\[Mu])/( Sqrt[2] $CellContext`\[Sigma]s)])], $CellContext`totscore[ Pattern[$CellContext`pref, Blank[]], Pattern[$CellContext`votes, Blank[]], Pattern[$CellContext`score, Blank[]]] := Module[{$CellContext`tot = ConstantArray[0, Length[ Part[$CellContext`pref, 1]]]}, Do[ AddTo[$CellContext`tot, $CellContext`listscore[ Part[$CellContext`pref, $CellContext`i], Part[$CellContext`votes, $CellContext`i], $CellContext`score]], \ {$CellContext`i, 1, Length[$CellContext`pref]}]; $CellContext`tot], \ $CellContext`listscore[ Pattern[$CellContext`pref, Blank[]], Pattern[$CellContext`votes, Blank[]], Pattern[$CellContext`score, Blank[]]] := Module[{$CellContext`out = ConstantArray[0, Length[$CellContext`pref]]}, Do[Part[$CellContext`out, Part[$CellContext`pref, $CellContext`i]] = $CellContext`votes Part[$CellContext`score, $CellContext`i], {$CellContext`i, 1, Length[$CellContext`pref]}]; $CellContext`out], \ $CellContext`scorefptp[ Pattern[$CellContext`n, Blank[]]] := Prepend[ ConstantArray[0, $CellContext`n - 1], 1], $CellContext`winner[ Pattern[$CellContext`list, Blank[]]] := Part[ Ordering[$CellContext`list], -1], $CellContext`scoreborda[ Pattern[$CellContext`n, Blank[]]] := Table[$CellContext`n - $CellContext`i, {$CellContext`i, 1, $CellContext`n}], $CellContext`appbreaks[ Pattern[$CellContext`p, Blank[]], Pattern[$CellContext`\[Epsilon], Blank[]], Optional[ Pattern[$CellContext`ends, Blank[]], {-3, 3}]] := Table[{ Max[ Part[$CellContext`ends, 1], Part[$CellContext`p, $CellContext`i] - $CellContext`\[Epsilon]], Min[ Part[$CellContext`ends, 2], Part[$CellContext`p, $CellContext`i] + $CellContext`\[Epsilon]]}, \ {$CellContext`i, 1, Length[$CellContext`p]}], $CellContext`irvwinner[ Pattern[$CellContext`prefin, Blank[]], Pattern[$CellContext`votes, Blank[]]] := Module[{$CellContext`pref = $CellContext`prefin, $CellContext`n = Length[ Part[$CellContext`prefin, 1]], $CellContext`m = Length[$CellContext`prefin], $CellContext`goal, $CellContext`tot, \ $CellContext`out, $CellContext`gone = {}}, $CellContext`goal = Total[$CellContext`votes]/2; $CellContext`tot = ConstantArray[0, $CellContext`n]; $CellContext`out = -1; While[$CellContext`out < 0, Do[ AddTo[ Part[$CellContext`tot, Part[$CellContext`pref, $CellContext`i, 1]], Part[$CellContext`votes, $CellContext`i]], {$CellContext`i, 1, $CellContext`m}]; If[Max[$CellContext`tot] >= $CellContext`goal, $CellContext`out = Part[ Ordering[$CellContext`tot], -1], $CellContext`gone = Append[$CellContext`gone, Part[ Ordering[$CellContext`tot], Length[$CellContext`gone] + 1]]; $CellContext`tot = ConstantArray[0, $CellContext`n]; Do[ While[MemberQ[$CellContext`gone, Part[$CellContext`pref, $CellContext`i, 1]] == True, Part[$CellContext`pref, $CellContext`i] = Delete[ Part[$CellContext`pref, $CellContext`i], 1]; Null], {$CellContext`i, 1, $CellContext`m}]; Null]; Null]; $CellContext`out], $CellContext`bellcurve[ Pattern[$CellContext`\[Mu], Blank[]], Pattern[$CellContext`\[Sigma], Blank[]], Pattern[$CellContext`pos, Blank[]]] := Module[{$CellContext`order, $CellContext`breaks}, $CellContext`order = Ordering[$CellContext`pos]; $CellContext`breaks = Join[{-3}, Table[ N[(Part[$CellContext`pos, Part[$CellContext`order, $CellContext`i + 1]] + Part[$CellContext`pos, Part[$CellContext`order, $CellContext`i]])/ 2], {$CellContext`i, 1, Length[$CellContext`order] - 1}], {3}]; Show[ Table[ Plot[ PDF[ NormalDistribution[$CellContext`\[Mu], \ $CellContext`\[Sigma]^2], $CellContext`x], {$CellContext`x, Part[$CellContext`breaks, $CellContext`i], Part[$CellContext`breaks, $CellContext`i + 1]}, Axes -> False, AxesOrigin -> {0, 0}, PlotStyle -> Opacity[0], Filling -> Axis, FillingStyle -> Part[$CellContext`colors, Part[$CellContext`order, $CellContext`i]]], {$CellContext`i, 1, Length[$CellContext`breaks] - 1}], PlotRange -> All]], $CellContext`colors = { RGBColor[1, 0, 0], RGBColor[0, 1, 0], RGBColor[1, 0.8, 0], RGBColor[0, 0, 1], RGBColor[1, 0, 1]}, $CellContext`bellcurveshade[ Pattern[$CellContext`\[Mu], Blank[]], Pattern[$CellContext`\[Sigma], Blank[]], Pattern[$CellContext`p, Blank[]], Pattern[$CellContext`\[Epsilon], Blank[]]] := Module[{$CellContext`int}, $CellContext`int = \ $CellContext`appbreaks[$CellContext`p, $CellContext`\[Epsilon]]; Show[ Join[{ Plot[ PDF[ NormalDistribution[$CellContext`\[Mu], \ $CellContext`\[Sigma]^2], $CellContext`x], {$CellContext`x, -3, 3}, Axes -> False, AxesOrigin -> {0, 0}, PlotStyle -> LightGray, Filling -> Axis, FillingStyle -> LightGray]}, Table[ Plot[ PDF[ NormalDistribution[$CellContext`\[Mu], \ $CellContext`\[Sigma]^2], $CellContext`x], {$CellContext`x, Part[$CellContext`int, $CellContext`i, 1], Part[$CellContext`int, $CellContext`i, 2]}, Axes -> False, AxesOrigin -> {0, 0}, PlotStyle -> { Part[$CellContext`colors, $CellContext`i], Opacity[0.25]}, Filling -> Axis, FillingStyle -> { Part[$CellContext`colors, $CellContext`i], Opacity[0.25]}], {$CellContext`i, 1, Length[$CellContext`p]}]]]], $CellContext`partylines[ Pattern[$CellContext`pos, Blank[]]] := Graphics[ Flatten[ Table[{Black, Thickness[0.008], Line[{{ Part[$CellContext`pos, $CellContext`i], -0.1}, { Part[$CellContext`pos, $CellContext`i], 0.75}}], Part[$CellContext`colors, $CellContext`i], Thickness[0.004], Line[{{ Part[$CellContext`pos, $CellContext`i], -0.1}, { Part[$CellContext`pos, $CellContext`i], 0.75}}]}, {$CellContext`i, 1, Length[$CellContext`pos]}]]], $CellContext`\[Mu]sweepcolor[ Pattern[$CellContext`p, Blank[]], Pattern[$CellContext`\[Sigma], Blank[]], Pattern[$CellContext`\[Epsilon], Blank[]], Pattern[$CellContext`w, Blank[]], Optional[ Pattern[$CellContext`n, Blank[]], 101], Optional[ Pattern[$CellContext`xr, Blank[]], {-1, 1}], Optional[ Pattern[$CellContext`yr, Blank[]], {-1, 1}]] := ArrayPlot[{ $CellContext`\[Mu]sweep[$CellContext`p, $CellContext`\[Sigma], \ $CellContext`\[Epsilon], $CellContext`w, $CellContext`n]}, ColorRules -> Table[$CellContext`i -> Part[$CellContext`colors, $CellContext`i], {$CellContext`i, 1, Length[$CellContext`colors]}], DataRange -> {$CellContext`xr, $CellContext`yr}], \ $CellContext`\[Mu]sweep[ Pattern[$CellContext`p$, Blank[]], Pattern[$CellContext`\[Sigma]$, Blank[]], Pattern[$CellContext`\[Epsilon]$, Blank[]], Pattern[$CellContext`w$, Blank[]], Optional[ Pattern[$CellContext`n$, Blank[]], 101]] := Table[ $CellContext`driver1[$CellContext`p$, FE`\[Mu]$$33, $CellContext`\[Sigma]$, $CellContext`\[Epsilon]$, \ $CellContext`w$], {FE`\[Mu]$$33, -3, 3, 6/($CellContext`n$ - 1)}], Attributes[$CellContext`p$] = {Temporary}, Attributes[$CellContext`\[Sigma]$] = {Temporary}, Attributes[$CellContext`\[Epsilon]$] = {Temporary}, Attributes[$CellContext`w$] = {Temporary}, Attributes[$CellContext`n$] = {Temporary}, FE`\[Mu]$$33 = 0, $CellContext`let[1] := "A", $CellContext`let[2] := "B", $CellContext`let[3] := "C", $CellContext`let[4] := "D", $CellContext`let[5] := "E"}; Typeset`initDone$$ = True), SynchronousInitialization->True, UndoTrackedVariables:>{Typeset`show$$, Typeset`bookmarkMode$$}, UnsavedVariables:>{Typeset`initDone$$}, UntrackedVariables:>{Typeset`size$$}], "Manipulate", Deployed->True, StripOnInput->False], Manipulate`InterpretManipulate[1]]], "Output", CellChangeTimes->{3.7770515367171426`*^9, 3.777053418649888*^9, 3.7770550650820446`*^9, 3.777057041075801*^9}] }, {2}]] }, Open ]] }, Open ]] }, Open ]] }, WindowSize->{759, 833}, WindowMargins->{{99, Automatic}, {Automatic, 70}}, FrontEndVersion->"10.4 for Microsoft Windows (64-bit) (April 11, 2016)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[580, 22, 180, 2, 144, "Title"], Cell[763, 26, 159, 2, 30, "Text"], Cell[CellGroupData[{ Cell[947, 32, 99, 1, 63, "Section"], Cell[1049, 35, 1260, 20, 163, "Text"], Cell[2312, 57, 656, 10, 106, "Text"], Cell[2971, 69, 897, 34, 87, "Text"], Cell[CellGroupData[{ Cell[3893, 107, 374, 6, 62, "Item"], Cell[4270, 115, 972, 14, 147, "Item"], Cell[5245, 131, 1277, 31, 113, "Item"], Cell[6525, 164, 794, 16, 96, "Item"] }, Open ]], Cell[7334, 183, 342, 6, 68, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[7713, 194, 91, 1, 63, "Section"], Cell[CellGroupData[{ Cell[7829, 199, 102, 1, 43, "Subsection"], Cell[7934, 202, 46090, 1144, 4445, "Input", InitializationCell->True, CellID->466832845] }, Closed]], Cell[CellGroupData[{ Cell[54061, 1351, 109, 1, 35, "Subsection"], Cell[CellGroupData[{ Cell[54195, 1356, 166, 2, 34, "Subsubsection"], Cell[54364, 1360, 1083, 31, 125, "Text"], Cell[55450, 1393, 947, 24, 125, "Text"], Cell[CellGroupData[{ Cell[56422, 1421, 10430, 280, 692, "Input"], Cell[66855, 1703, 28543, 504, 238, "Output"] }, {2}]] }, Open ]], Cell[CellGroupData[{ Cell[95444, 2213, 165, 2, 34, "Subsubsection"], Cell[95612, 2217, 1295, 40, 144, "Text"], Cell[96910, 2259, 399, 7, 68, "Text"], Cell[CellGroupData[{ Cell[97334, 2270, 10478, 280, 692, "Input"], Cell[107815, 2552, 28278, 504, 238, "Output"] }, {2}]] }, Open ]], Cell[CellGroupData[{ Cell[136139, 3062, 169, 2, 34, "Subsubsection"], Cell[136311, 3066, 449, 7, 87, "Text"], Cell[136763, 3075, 736, 21, 87, "Text"], Cell[CellGroupData[{ Cell[137524, 3100, 10480, 280, 692, "Input"], Cell[148007, 3382, 27009, 487, 238, "Output"] }, {2}]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[175074, 3876, 163, 2, 43, "Subsection"], Cell[CellGroupData[{ Cell[175262, 3882, 13814, 364, 892, "Input"], Cell[189079, 4248, 23317, 511, 403, "Output"] }, {2}]] }, Open ]] }, Open ]] }, Open ]] } ] *)