(*********************************************************************** Mathematica-Compatible Notebook This notebook can be used on any computer system with Mathematica 3.0, MathReader 3.0, or any compatible application. The data for the notebook starts with the line of stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. ***********************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 413382, 9596]*) (*NotebookOutlinePosition[ 438751, 10513]*) (* CellTagsIndexPosition[ 438327, 10496]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell["Voting Theory with Representation Triangles and Cubes", "Title", TextAlignment->Center, FontColor->RGBColor[1, 0, 0]], Cell["\<\ Alexander Tabarrok Department of Economics Ball State University Muncie, Indiana, 47306 Email: 00ATTabarrok@BSU.Edu\ \>", "Subsubtitle", TextAlignment->Center], Cell[CellGroupData[{ Cell["Introduction", "Section", Evaluatable->False], Cell[TextData[{ "\tVoting seems straightforward but on closer inspection even simple voting \ rules have mysterious and odd properties which often challenge our conception \ of democracy. Some of these paradoxes have bothered social scientists for \ hundreds of years but until recently little theory existed which explained \ why and when paradoxes might be expected to occur. In his book, \"The \ Geometry of Voting,\" the mathematician Donald Saari has shed considerable \ light on why voting 'paradoxes' occur and how they can be predicted. The \ package voting.m uses ", StyleBox["Mathematica", FontSlant->"Italic"], "'s capabilities to implement many of the functions described in Saari's \ book \"The Geometry of Voting,\" Springer-Verlag, 1994. The package allows \ us to experiment with positional voting systems, pairwise voting, approval \ voting and cumulative voting. In this article I will focus on positional and \ pairwise voting, other package capabilities are explained at length in the \ electronic supplement. " }], "Text", Evaluatable->False], Cell[TextData[{ "\tTo load the Voting.m package place it in a directory which you know is \ on Mathematica's search path. Voting.m also needs a number of standard \ packages which will be loaded automatically. The non-standard package \ VertexEnum is also used in some functions. The VertexEnum package can be \ downloaded from Wolfram Research's ", StyleBox["MathSource", FontSlant->"Italic"], " web site at http://www.mathsource.com/. When you have downloaded the \ package rename it VertexEnumeration and place it in the standard package \ directory Geometry. Open the package in a text editor and change the \ BeginPackage[\"VertexEnum`\"] command to \ BeginPackage[\"Geometry`VertexEnumeration`\"]. Finally, to avoid some error \ messages, search for the phrase \"\\dev\\null\" and replace it with the \ phrase \"Null\". If you are using Windows 3.1 you will have to shorten the \ package title to VertexEn as above and also in the BeginPackage command in \ voting.m When evaluating the following command using MMA 3.0 a message will \ appear indicating that CrossProduct is now autoloaded you can ignore this \ message." }], "Text"], Cell["<", "Section", GeneratedCell->True, CellAutoOverwrite->True], Cell[BoxData[ \(TraditionalForm \`Cross::"obslt" \( : \ \) "Cross functionality is now autoloaded. The package \ LinearAlgebra`CrossProduct` is obsolete."\)], "Message"], Cell[BoxData[ FormBox[ RowBox[{ \(Needs::"nocont"\), \( : \ \), "\<\"Context \ \\!\\(TraditionalForm\\`\\\"LinearAlgebra`CrossProduct`\\\"\\) was not \ created when Needs was evaluated.\"\>"}], TraditionalForm]], "Message"], Cell[TextData[{ "\tThe voting package works predominantly with elections where there are \ three or more candidates or policy options labeled C1,C2,C3. There are as \ many voters as we like but every voter is assumed to have strict, complete, \ and transitive preferences. This means that for any two candidates voters \ prefer one candidate or the other (we ignore ties) and, letting > indicate \ 'is preferred to', if ", Cell[BoxData[ \(TraditionalForm\`C1 > C2\)]], " and ", Cell[BoxData[ \(TraditionalForm\`C2 > C3\)]], " then ", Cell[BoxData[ \(TraditionalForm\`C1 > C3\)]], ". Thus, if a voter prefers chocolate to strawberry ice cream and \ strawberry to vanilla then she must also prefer chocolate to vanilla. (One \ of the most famous paradoxes of voting shows that groups do not necessarily \ have transitive preferences.) These assumptions imply that every voter is \ one of six possible types which can be shown using the command VoterTypes[]. \ " }], "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[BoxData[ \(VoterTypes[]\)], "Input", CellHorizontalScrolling->False], Cell[BoxData[ FormBox[ TagBox[GridBox[{ {"\<\"0\"\>", "\<\"Type 1\"\>", "\<\"C1\"\>", "\<\">\"\>", "\<\"C2\"\>", "\<\">\"\>", "\<\"C3\"\>"}, {"\<\"0\"\>", "\<\"Type 2\"\>", "\<\"C1\"\>", "\<\">\"\>", "\<\"C3\"\>", "\<\">\"\>", "\<\"C2\"\>"}, {"\<\"0\"\>", "\<\"Type 3\"\>", "\<\"C3\"\>", "\<\">\"\>", "\<\"C1\"\>", "\<\">\"\>", "\<\"C2\"\>"}, {"\<\"0\"\>", "\<\"Type 4\"\>", "\<\"C3\"\>", "\<\">\"\>", "\<\"C2\"\>", "\<\">\"\>", "\<\"C1\"\>"}, {"\<\"0\"\>", "\<\"Type 5\"\>", "\<\"C2\"\>", "\<\">\"\>", "\<\"C3\"\>", "\<\">\"\>", "\<\"C1\"\>"}, {"\<\"0\"\>", "\<\"Type 6\"\>", "\<\"C2\"\>", "\<\">\"\>", "\<\"C1\"\>", "\<\">\"\>", "\<\"C3\"\>"} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], (TableForm[ #]&)], TraditionalForm]], "Print"] }, Open ]], Cell[TextData[{ "\tThe above indicates that at present there are 0 voters of type one, 0 of \ type two and so forth. To define some voters we write a list ", Cell[BoxData[ \(TraditionalForm\`aprofile = {p1, p2, p3, p4, p5, p6}\)]], " where p1 is the number of voters of type one, p2 the number of voters of \ type two and so forth. We call aprofile a ", StyleBox["profile vector", FontSlant->"Italic"], ". For example:" }], "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[BoxData[ \(aprofile = {1, 2, 3, 4, 5, 6}\)], "Input", CellHorizontalScrolling->False], Cell[BoxData[ \(TraditionalForm\`{1, 2, 3, 4, 5, 6}\)], "Output"] }, Open ]], Cell["\tNow evaluate VoterTypes[aprofile].", "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[BoxData[ \(VoterTypes[aprofile]\)], "Input", CellHorizontalScrolling->False], Cell[BoxData[ FormBox[ TagBox[GridBox[{ {"\<\"0.04762\"\>", "\<\"Type 1\"\>", "\<\"C1\"\>", "\<\">\"\>", "\<\"C2\"\>", "\<\">\"\>", "\<\"C3\"\>"}, {"\<\"0.09524\"\>", "\<\"Type 2\"\>", "\<\"C1\"\>", "\<\">\"\>", "\<\"C3\"\>", "\<\">\"\>", "\<\"C2\"\>"}, {"\<\"0.1429\"\>", "\<\"Type 3\"\>", "\<\"C3\"\>", "\<\">\"\>", "\<\"C1\"\>", "\<\">\"\>", "\<\"C2\"\>"}, {"\<\"0.1905\"\>", "\<\"Type 4\"\>", "\<\"C3\"\>", "\<\">\"\>", "\<\"C2\"\>", "\<\">\"\>", "\<\"C1\"\>"}, {"\<\"0.2381\"\>", "\<\"Type 5\"\>", "\<\"C2\"\>", "\<\">\"\>", "\<\"C3\"\>", "\<\">\"\>", "\<\"C1\"\>"}, {"\<\"0.2857\"\>", "\<\"Type 6\"\>", "\<\"C2\"\>", "\<\">\"\>", "\<\"C1\"\>", "\<\">\"\>", "\<\"C3\"\>"} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], (TableForm[ #]&)], TraditionalForm]], "Print"] }, Open ]], Cell["\<\ \tVoter types returns the proportion of voters of each type. There are \ twenty one voters in all so .047 are of type one, .142 are of type three, \ etc.\ \>", "Text", Evaluatable->False], Cell[TextData[{ "\tThere are many different types of voting schemes. We will analyze \ positional voting systems first. Plurality rule, for example, assigns one \ point to a voter's top ranked candidate and zero points to a voter's second \ and third ranked candidates. The Borda count, named after the eighteenth \ century French mathematician Jean Charles Borda assigns two points to a \ voter's top ranked candidate, 1 point to a second ranked candidate and zero \ points to the least favored candidate. (So when the voters enter the voting \ booth they write down the three candidates from most to least favored and the \ registrars tally the points.) Using a normalization it is not to hard to \ show that every possible positional vote scheme can be represented by a \ single number ", Cell[BoxData[ \(TraditionalForm\`s\ \[Epsilon]\ [0, 1\/2]\)]], ".", ButtonBox["\[SelectionPlaceholder]", ButtonData:>"EndNote 1", ButtonStyle->"Hyperlink"], ButtonBox["1", ButtonData:>"EndNote 1", ButtonStyle->"Hyperlink"], " Using this normalization 0 corresponds to plurality rule, the Borda \ count corresponds with ", Cell[BoxData[ \(TraditionalForm\`s = 1\/3\)]], " and anti-plurality rule is represented by ", Cell[BoxData[ \(TraditionalForm\`s = 1\/2\)]], ". Anti-plurality rule assigns 1 point to each of a voter's top-two ranked \ candidates, this is equivalent to assigning a vote of negative one to the \ least favored candidate and choosing the candidate with the least negative \ votes (hence the name anti-plurality rule)." }], "Text", Evaluatable->False, CellTags->"Return 1"], Cell["\<\ \tUsing the normalization we can represent every positional voting system by \ the following matrix:\ \>", "Text"], Cell[TextData[{ StyleBox["The Standardized Positional Vote Matrix\n\n", FontVariations->{"Underline"->True}], Cell[BoxData[ RowBox[{"(", GridBox[{ {"", StyleBox["abc", FontSlant->"Italic"], StyleBox["acb", FontSlant->"Italic"], StyleBox["cab", FontSlant->"Italic"], StyleBox["cba", FontSlant->"Italic"], StyleBox["bca", FontSlant->"Italic"], StyleBox["bac", FontSlant->"Italic"]}, {"a", \(1 - s\), \(1 - s\), "s", "0", "0", "s"}, {"b", "s", "0", "0", "s", \(1 - s\), \(1 - s\)}, {"c", "0", "s", \(1 - s\), \(1 - s\), "s", "0"} }, GridFrame->True, RowLines->True, ColumnLines->True], ")"}]]] }], "Text", TextAlignment->Center, FontWeight->"Bold"], Cell[TextData[{ "\tThe vote matrix can be read in two ways. Reading down a particular \ column we see the number of points given to each candidate from a voter with \ the ranking indicated by that column. A voter with ranking ", StyleBox["cba", FontSlant->"Italic"], ", for example, gives points of 0, s, and 1-s to candidates a, b, and c \ respectively. Reading across the rows we see where a candidate's votes come \ from. Candidate b, for example, gets s votes from each voter of type", StyleBox[" abc", FontSlant->"Italic"], " or ", StyleBox["cba", FontSlant->"Italic"], ", zero points from each voter of type ", StyleBox["acb", FontSlant->"Italic"], " or ", StyleBox["cab", FontSlant->"Italic"], " and 1-s points from each voter of type ", StyleBox["bca", FontSlant->"Italic"], " or", StyleBox[" bac", FontSlant->"Italic"], ". Note that s indicates the weight placed on a voter's second ranking. \ Plurality rule, ", Cell[BoxData[ \(TraditionalForm\`s = 0\)]], ", counts second rankings for nothing. The Borda Count, ", Cell[BoxData[ FormBox[ FormBox[\(s = 1\/3\), "TraditionalForm"], TraditionalForm]]], ", counts second rankings for half as much as first rankings, and \ anti-plurality rule, ", Cell[BoxData[ FormBox[ FormBox[\(s = 1\/2\), "TraditionalForm"], TraditionalForm]]], ", counts second rankings as highly as first rankings." }], "Text"], Cell["\<\ \tThe standardized positional vote system can therefore be written as:\ \>", "Text"], Cell[BoxData[{ FormBox[ RowBox[{ StyleBox[\(The\ Standardized\ Positional\ Voting\ System\), FontVariations->{"Underline"->True}], "\n"}], TextForm], FormBox[ RowBox[{ RowBox[{ RowBox[{"(", GridBox[{ {\(1 - s\), \(1 - s\), "s", "0", "0", "s"}, {"s", "0", "0", "s", \(1 - s\), \(1 - s\)}, {"0", "s", \(1 - s\), \(1 - s\), "s", "0"} }, GridFrame->True, RowLines->True, ColumnLines->True], ")"}], RowBox[{"(", GridBox[{ {"p1"}, {"p2"}, {"p3"}, {"p4"}, {"p5"}, {"p6"} }, GridFrame->True, RowLines->True, ColumnLines->True], ")"}]}], "=", RowBox[{"(", GridBox[{ {\(p1 + p2 + \((\(-p1\) - p2 + p3 + p6)\)*s\)}, {\(p6 + p5 + \((p4 - p5 + p1 - p6)\)*s\)}, {\(p3 + p4 + \((p2 - p3 - p4 + p5)\)*s\)} }, GridFrame->True, RowLines->True, ColumnLines->True], ")"}]}], TextForm]}], "Text", TextAlignment->Center, FontWeight->"Bold"], Cell[TextData[{ "\tMultiplying the vote matrix by the profile vector gives us the vote \ outcome on the right hand side. The voting package always converts profile \ vectors into proportions so the right hand side will give us the ", StyleBox["share", FontSlant->"Italic"], " of the vote going to candidates a, b, and c, respectively.", ButtonBox["\[SelectionPlaceholder]", ButtonData:>"EndNote 2", ButtonStyle->"Hyperlink"], ButtonBox["2", ButtonData:>"EndNote 2", ButtonStyle->"Hyperlink"] }], "Text", CellTags->"Return 2"], Cell[TextData[{ "\tGiven a profile vector and a voting system, s, the function \ PositionalVoteTally calculates the voting outcome. For example, the outcome \ when ", Cell[BoxData[ \(TraditionalForm\`aprofile = {1, 2, 3, 4, 5, 6}\)]], " and the voting system is plurality rule is given by:" }], "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[BoxData[ \(PositionalVoteTally[aprofile, 0]\)], "Input", CellHorizontalScrolling->False], Cell[BoxData[ FormBox[ InterpretationBox[GridBox[{ {\({11\/21, 1\/3, 1\/7}\)}, {\({"C2", "C3", "C1"}\)} }, GridBaseline->{Baseline, {1, 1}}, ColumnAlignments->{Left}], ColumnForm[ {{ Rational[ 11, 21], Rational[ 1, 3], Rational[ 1, 7]}, {"C2", "C3", "C1"}}], Editable->False], TraditionalForm]], "Output"] }, Open ]], Cell[TextData[{ "\tThe vote tallies are given in proportions from highest to lowest. The \ above indicates, for example, that C2 wins the election with ", Cell[BoxData[ \(TraditionalForm\`11/21 = 52.3 %\)]], " of the vote. C3 comes in second with ", Cell[BoxData[ \(TraditionalForm\`1/3 = 33 %\)]], " of the vote and C1 comes in last with ", Cell[BoxData[ \(TraditionalForm\`1/7 = 14.2 %\)]], " of the vote." }], "Text", Evaluatable->False], Cell[TextData[{ "\tAs another example let ", Cell[BoxData[ \(TraditionalForm\`aprofile = {0, 0.39, 0, .244, 0.3, 0}\)]], " and compare the results of plurality rule with the Borda count. (This is \ a normalized profile vector which indicates that 39% of the voters are of \ type 2 etc.)" }], "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[BoxData[ \(aprofile = {0, 0.39, 0, .244, 0.3, 0}\)], "Input", CellHorizontalScrolling->False], Cell[BoxData[ FormBox[ RowBox[{"{", RowBox[{"0", ",", StyleBox["0.390000000000000035`", StyleBoxAutoDelete->True, PrintPrecision->2], ",", "0", ",", StyleBox["0.243999999999999994`", StyleBoxAutoDelete->True, PrintPrecision->3], ",", StyleBox["0.3`", StyleBoxAutoDelete->True, PrintPrecision->1], ",", "0"}], "}"}], TraditionalForm]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(PositionalVoteTally[aprofile, 0]\)], "Input", CellHorizontalScrolling->False], Cell[BoxData[ FormBox[ InterpretationBox[GridBox[{ { \({0.417558886509636018`, 0.321199143468950776`, 0.261241970021413294`}\)}, {\({"C1", "C2", "C3"}\)} }, GridBaseline->{Baseline, {1, 1}}, ColumnAlignments->{Left}], ColumnForm[ {{.41755888650963602, .32119914346895079, .26124197002141331}, {"C1", "C2", "C3"}}], Editable->False], TraditionalForm]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(PositionalVoteTally[aprofile, 1\/3]\)], "Input", CellHorizontalScrolling->False], Cell[BoxData[ FormBox[ InterpretationBox[GridBox[{ { \({0.420413990007137705`, 0.301213418986438252`, 0.278372591006424041`}\)}, {\({"C3", "C2", "C1"}\)} }, GridBaseline->{Baseline, {1, 1}}, ColumnAlignments->{Left}], ColumnForm[ {{.42041399000713775, .30121341898643827, .27837259100642403}, {"C3", "C2", "C1"}}], Editable->False], TraditionalForm]], "Output"] }, Open ]], Cell[TextData[{ "\tNotice that plurality rule ranks the candidates ", Cell[BoxData[ \(TraditionalForm\`C1 > C2 > C3\)]], " but the Borda Count ranks them in the completely opposite manner ", Cell[BoxData[ \(TraditionalForm\`C3 > C2 > C1\)]], ". This is quite disturbing! It's not surprising, of course, that the \ voting rule changes the outcome somewhat but we might have hoped that given \ the same preferences different voting schemes would give approximately the \ same outcomes. Now we are stuck in the difficult position of having to \ decide which outcome is better or more democratic. Do the voter's think C3 \ is the best candidate or the worst candidate? How can the results of any \ voting scheme be considered 'correct' or 'good' if some other voting scheme \ which appears equally legitimate gives entirely different results?" }], "Text", Evaluatable->False], Cell[TextData[{ "\tSo far we have looked at only two voting systems, plurality rule and the \ Borda count. But why stop there? Why not also examine a system which gives \ the top candidate 20 points the second ranked candidate 6 points and the \ bottom ranked candidate 3 points? Using the normalization this corresponds \ to ", Cell[BoxData[ \(TraditionalForm\`s = .15\)]], "." }], "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[BoxData[ \(PositionalVoteTally[aprofile, 0.15]\)], "Input", CellHorizontalScrolling->False], Cell[BoxData[ FormBox[ InterpretationBox[GridBox[{ { \({0.35492505353319057`, 0.332869379014989297`, 0.312205567451820176`}\)}, {\({"C1", "C3", "C2"}\)} }, GridBaseline->{Baseline, {1, 1}}, ColumnAlignments->{Left}], ColumnForm[ {{.35492505353319059, .33286937901498931, .31220556745182015}, {"C1", "C3", "C2"}}], Editable->False], TraditionalForm]], "Output"] }, Open ]], Cell[TextData[{ "\tYet another ranking! If all that matters is the winner of the election, \ the ", Cell[BoxData[ \(TraditionalForm\`s = 0.15\)]], " system gives the same results as plurality rule but often the ranking of \ second and third placed candidates also matters. In many contests, such as \ the Miss USA Pageant or the World BodyBuilding Championship, the second \ placed candidate receives a larger prize than the third placed candidate and \ may replace the winner if the winner is disqualified. In politics, not all \ elections are all or nothing affairs. A candidate ranked second in the New \ Hampshire Presidential primary could go on to eventually win the election \ while a third ranked candidate might find his campaign funds quickly \ declining as supporters jumped ship to 'stronger' candidates. In Russian \ Presidential elections, French Parliamentary elections, and many state and \ local elections in the United States the top n (often 2) candidates go into a \ second round 'runoff' election if the top candidate receives less than x \ percent (usually 50%) of the vote. In each of these cases the entire ranking \ matters and thus ", StyleBox["acb", FontSlant->"Italic"], " is a significantly different outcome than ", StyleBox["abc", FontSlant->"Italic"], ". " }], "Text", Evaluatable->False], Cell[TextData[{ "\tIt would be interesting to see the election outcome for ", StyleBox["every", FontSlant->"Italic"], " possible method of positional voting. We can do this using the \ representation triangle and the procedure line." }], "Text"] }, Open ]], Cell[CellGroupData[{ Cell["The Representation Triangle and the Procedure Line", "Section", Evaluatable->False], Cell[CellGroupData[{ Cell[BoxData[ \(PlotPL[]\)], "Input", CellHorizontalScrolling->False], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.0238095 0.952381 0.0238095 0.952381 [ [.5 .01131 -9 -9 ] [.5 .01131 9 0 ] [.97619 .01131 -3 -9 ] [.97619 .01131 3 0 ] [1.025 .02381 0 -6.28125 ] [1.025 .02381 16 6.28125 ] [.01131 .5 -18 -4.5 ] [.01131 .5 0 4.5 ] [.01131 .97619 -6 -4.5 ] [.01131 .97619 0 4.5 ] [.02381 1.025 -8 0 ] [.02381 1.025 8 12.5625 ] [ 0 0 0 0 ] [ 1 1 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 g .25 Mabswid .5 .02381 m .5 .03006 L s [(0.5)] .5 .01131 0 1 Mshowa .97619 .02381 m .97619 .03006 L s [(1)] .97619 .01131 0 1 Mshowa 0 .02381 m 1 .02381 L s gsave 1.025 .02381 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (C1) show 75.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore .02381 .5 m .03006 .5 L s [(0.5)] .01131 .5 1 0 Mshowa .02381 .97619 m .03006 .97619 L s [(1)] .01131 .97619 1 0 Mshowa .02381 0 m .02381 1 L s gsave .02381 1.025 -69 -4 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (C2) show 75.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore 0 0 m 1 0 L 1 1 L 0 1 L closepath clip newpath .5 Mabswid .97619 .02381 m .02381 .97619 L s .02381 .5 m .97619 .02381 L s .02381 .5 m .97619 .02381 L s .02381 .02381 m .5 .5 L s .02381 .97619 m .5 .02381 L s gsave .5381 .34762 -66 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (1) show 69.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore gsave .5381 .15714 -66 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (2) show 69.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore gsave .30952 .15714 -66 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (3) show 69.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore gsave .1381 .30952 -66 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (4) show 69.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore gsave .1381 .56667 -66 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (5) show 69.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore gsave .30952 .56667 -66 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (6) show 69.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore gsave .02381 .02381 -69 -16.5625 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (C3) show 75.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore % End of Graphics MathPictureEnd \ \>"], "Graphics", ImageSize->{288, 288}, ImageMargins->{{43, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHgOol00`00Oomoo`1JOol00`00Oomoo`1J Ool2000?Ool00`00Oomoo`0/Ool001Eoo`03001oogoo00moo`03001oogoo05Qoo`03001oogoo05Uo o`80011oo`03001oogoo02eoo`005Goo00<007ooOol047oo00<007ooOol0Egoo00<007ooOol0Egoo 0P004Goo00<007ooOol0;Woo000EOol00`00Oomoo`0AOol00`00Oomoo`1EOol00`00Oomoo`1FOol2 000BOol00`00Oomoo`0_Ool001Eoo`03001oogoo019oo`03001oogoo05Aoo`03001oogoo05Aoo`80 01=oo`03001oogoo031oo`005Goo00<007ooOol04goo00<007ooOol0DWoo00<007ooOol0Dgoo0P00 57oo00<007ooOol0Woo000EOol00`00Oomoo`0MOol00`00Oomoo`0ROol2000OOol00`00Oomoo`0EOol3000/Ool2 000NOol00`00Oomoo`0kOol001Eoo`03001oogoo01ioo`03001oogoo02=oo`03001oogoo01aoo`03 001oogoo01Eoo`03001oogoo02Yoo`8001moo`03001oogoo03aoo`005Goo00<007ooOol07goo00<0 07ooOol08Goo00<007ooOol077oo00<007ooOol05goo00<007ooOol09goo0P0087oo00<007ooOol0 ?Goo000EOol00`00Oomoo`0POol00`00Oomoo`0QOol00`00Oomoo`0KOol00`00Oomoo`0GOol00`00 Oomoo`0UOol2000QOol00`00Oomoo`0nOol001Eoo`03001oogoo025oo`03001oogoo01ioo`03001o o`0001aoo`03001oogoo01Moo`03001oo`0002Aoo`80029oo`03001oogoo03moo`005Goo00<007oo Ool08Woo00<007ooOol07Woo00<007ooOol06goo00<007ooOol067oo00<007ooOol08Goo0P008goo 00<007ooOol0@7oo000EOol00`00Oomoo`0SOol00`00Oomoo`0jOol00`00Oomoo`0kOol2000TOol0 0`00Oomoo`11Ool001Eoo`03001oogoo02Aoo`03001oogoo03Uoo`03001oogoo03Uoo`8002Eoo`03 001oogoo049oo`005Goo00<007ooOol09Goo00<007ooOol0=goo00<007ooOol0>7oo0P009Woo00<0 07ooOol0@goo000EOol00`00Oomoo`0VOol00`00Oomoo`0fOol00`00Oomoo`0fOol2000WOol00`00 Oomoo`14Ool001Eoo`03001oogoo02Moo`03001oogoo03Aoo`03001oogoo03Eoo`8002Qoo`03001o ogoo04Eoo`005Goo00<007ooOol0:7oo00<007ooOol07oo00<007ooOol0EGoo000EOol00`00 Oomoo`0hOol00`00Oomoo`0KOol00`00Oomoo`0KOol2000iOol00`00Oomoo`1FOol001Eoo`03001o ogoo03Qoo`03001oogoo01Yoo`03001oogoo01Yoo`8003Yoo`03001oogoo05Moo`005Goo00<007oo Ool0>Goo00<007ooOol06Goo00<007ooOol067oo0P00>goo00<007ooOol0F7oo000EOol00`00Oomo o`0jOol00`00Oomoo`0GOol00`00Oomoo`0GOol2000lOol00`00Oomoo`1IOol001Eoo`03001oogoo 03]oo`03001oogoo01Ioo`03001oogoo01Eoo`8003eoo`03001oogoo05Yoo`005Goo00<007ooOol0 ?7oo00<007ooOol057oo00<007ooOol057oo0P00?Woo00<007ooOol0Fgoo000EOol00`00Oomoo`0m Ool00`00Oomoo`0COol00`00Oomoo`0BOol2000oOol00`00Oomoo`1LOol001Eoo`03001oogoo03io o`03001oogoo015oo`03001oogoo015oo`80041oo`03001oogoo05eoo`005Goo00<007ooOol0?goo 00<007ooOol047oo00<007ooOol03goo0P00@Goo00<007ooOol0GWoo000EOol00`00Oomoo`10Ool0 0`00Oomoo`0>Ool00`00Oomoo`0>Ool20012Ool00`00Oomoo`1OOol001Eoo`03001oogoo045oo`03 001oogoo00eoo`03001oogoo00aoo`8004=oo`03001oogoo061oo`005Goo00<007ooOol067oo0`00 9goo00<007ooOol02goo00<007ooOol02goo0P00A7oo00<007ooOol0HGoo000EOol00`00Oomoo`0I Ool00`00Oomoo`0WOol00`00Oomoo`0:Ool00`00Oomoo`09Ool20015Ool00`00Oomoo`1ROol001Eo o`03001oogoo01Moo`@002Uoo`03001oogoo00Qoo`03001oogoo00Qoo`8004Ioo`03001oogoo06=o o`005Goo00<007ooOol05goo00<007oo0000:goo00<007ooOol01goo00<007ooOol01Woo0P00Agoo 00<007ooOol0I7oo000EOol00`00Oomoo`0HOol2000/Ool00`00Oomoo`05Ool00`00Oomoo`05Ool2 0018Ool00`00Oomoo`1UOol001Eoo`03001oogoo01Uoo`03001oogoo02]oo`03001oogoo00Aoo`03 001oogoo00=oo`8004Uoo`03001oogoo06Ioo`005Goo00<007ooOol0B7oo00<007ooOol00Woo00<0 07ooOol00Woo0P00BWoo00<007ooOol0Igoo000EOol00`00Oomoo`19Ool01@00Oomoogoo00000Woo 0P00Bgoo00<007ooOol0J7oo000EOol00`00Oomoo`1:Ool01000Ool007oo0P00C7oo00<007ooOol0 JGoo000EOol00`00Oomoo`1;Ool3000/Ool5000LOol00`00Oomoo`1ZOol001Eoo`03001oogoo04Yo o`<002moo`03001oogoo01]oo`03001oogoo06]oo`005Goo00<007ooOol0B7oo0P0000Aoo`00Ool0 02ioo`03001oogoo01Yoo`03001oogoo06aoo`005Goo00<007ooOol0AWoo0P000Woo00D007ooOomo o`0002eoo`03001oogoo01Uoo`03001oogoo06eoo`005Goo00<007ooOol0A7oo0P0017oo00<007oo Ool00Woo00<007ooOol0:Woo00<007ooOol067oo00<007ooOol0KWoo000EOol00`00Oomoo`12Ool2 0005Ool00`00Oomoo`04Ool00`00Oomoo`0XOol2000IOol00`00Oomoo`1_Ool001Eoo`03001oogoo 041oo`8000Moo`03001oogoo00Eoo`03001oogoo045oo`03001oogoo071oo`005Goo00<007ooOol0 ?Woo0P0027oo00<007ooOol01goo00<007ooOol0?goo00<007ooOol0LGoo000EOol00`00Oomoo`0l Ool2000:Ool00`00Oomoo`08Ool00`00Oomoo`0mOol00`00Oomoo`1bOol001Eoo`03001oogoo03Yo o`8000]oo`03001oogoo00Yoo`03001oogoo03]oo`03001oogoo07=oo`005Goo00<007ooOol0>7oo 0P003Goo00<007ooOol02goo00<007ooOol0>Goo00<007ooOol0M7oo000EOol00`00Oomoo`0fOol2 000>Ool00`00Oomoo`0=Ool00`00Oomoo`0gOol00`00Oomoo`1eOol001Eoo`03001oogoo03Aoo`80 011oo`03001oogoo00ioo`03001oogoo03Eoo`03001oogoo07Ioo`005Goo00<007ooOol07oo00<007ooOol0>7oo00<007ooOol0TWoo0004Ool00`00Ool00007Ool00`00Oomo o`04Ool00`00Oomoo`0gOol00`00Oomoo`0hOol00`00Oomoo`2COol000Eoo`03001oogoo00Ioo`<0 00Aoo`03001oogoo03Moo`03001oogoo03Moo`03001oogoo09Aoo`005Goo00<007ooOol0=Woo00<0 07ooOol0=goo00<007ooOol0UGoo000EOol00`00Oomoo`0fOol00`00Oomoo`0fOol00`00Oomoo`2F Ool001Eoo`03001oogoo03Eoo`03001oogoo03Ioo`03001oogoo09Moo`005Goo00<007ooOol0=Goo 00<007ooOol0=Goo00<007ooOol0V7oo000EOol00`00Oomoo`0dOol00`00Oomoo`0eOol00`00Oomo o`2IOol001Eoo`03001oogoo03Aoo`03001oogoo03Aoo`03001oogoo09Yoo`005Goo00<007ooOol0 9oo`005Goo00<0 07ooOol03goo00<007ooOol047oo00<007ooOol0hgoo000EOol00`00Oomoo`0?Ool00`00Oomoo`0? Ool00`00Oomoo`3TOol001Eoo`03001oogoo00ioo`03001oogoo00moo`03001oogoo0>Eoo`005Goo 00<007ooOol03Woo00<007ooOol03Woo00<007ooOol0iWoo000EOol00`00Oomoo`0=Ool00`00Oomo o`0>Ool00`00Oomoo`3WOol001Eoo`03001oogoo00eoo`03001oogoo00eoo`03001oogoo0>Qoo`00 5Goo00<007ooOol037oo00<007ooOol03Goo00<007ooOol0jGoo000EOol00`00Oomoo`0]o o`005Goo00<007ooOol02goo00<007ooOol02goo00<007ooOol0k7oo000EOol00`00Oomoo`0:Ool0 0`00Oomoo`0;Ool00`00Oomoo`3]Ool001Eoo`03001oogoo00Yoo`03001oogoo00Yoo`03001oogoo 0>ioo`005Goo00<007ooOol02Goo00<007ooOol02Woo00<007ooOol0kgoo000EOol00`00Oomoo`09 Ool00`00Oomoo`09Ool00`00Oomoo`3`Ool001Eoo`03001oogoo00Qoo`03001oogoo00Uoo`03001o ogoo0?5oo`005Goo00<007ooOol027oo00<007ooOol027oo00<007ooOol0lWoo000EOol00`00Oomo o`07Ool00`00Oomoo`08Ool00`00Oomoo`3cOol001Eoo`03001oogoo00Moo`03001oogoo00Moo`03 001oogoo0?Aoo`005Goo00<007ooOol01Woo00<007ooOol01goo00<007ooOol0mGoo000EOol00`00 Oomoo`06Ool00`00Oomoo`06Ool00`00Oomoo`3fOol001Eoo`03001oogoo00Eoo`03001oogoo00Io o`03001oogoo0?Moo`005Goo00<007ooOol01Goo00<007ooOol01Goo00<007ooOol0n7oo000EOol0 0`00Oomoo`04Ool00`00Oomoo`05Ool00`00Oomoo`3iOol001Eoo`03001oogoo00Aoo`03001oogoo 00Aoo`03001oogoo0?Yoo`005Goo00<007ooOol00goo00<007ooOol017oo00<007ooOol0ngoo000E Ool00`00Oomoo`03Ool00`00Oomoo`03Ool00`00Oomoo`3lOol001Eoo`03001oogoo009oo`03001o ogoo00=oo`03001oogoo0?eoo`005Goo00<007ooOol00Woo00<007ooOol00Woo00<007ooOol0oWoo 000EOol01@00Oomoogoo000017oo00<007ooOol0ogoo000EOol01@00Oomoogoo00000goo00<007oo Ool0ogoo0Goo000EOol01000Oomoo`000goo00<007ooOol0ogoo0Woo000EOol01000Oomoo`000Woo 00<007ooOol0ogoo0goo000EOol00`00Ool00002Ool00`00Oomoo`3oOol4Ool001Eoo`05001oo`00 Ool0003oOol7Ool001Eoo`800003Ool007oo0?moo`Moo`003Goo1@000goo0`00ogoo2Goo000?Ool0 0`00Oomoo`03Ool2003oOol:Ool000moo`03001oogoo00=oo`800?moo`Yoo`003goo00<007ooOol0 0goo00<007ooOol0ogoo2Goo000?Ool00`00Oomoo`03Ool00`00Oomoo`3oOol9Ool000ioo`8000Eo o`03001oogoo0?moo`Uoo`005Goo00<007ooOol0ogoo2Goo000EOol00`00Oomoo`3oOol9Ool00?mo ob5oo`00ogoo8Goo003oOolQOol00?moob5oo`00ogoo8Goo003oOolQOol00?moob5oo`00ogoo8Goo 003oOolQOol00?moob5oo`004Goo0P000Woo0`00ogoo2Goo000@Ool00`00Oomoo`02Ool00`00Oomo o`3oOol9Ool0011oo`03001oogoo00=oo`03001oogoo0?moo`Qoo`0047oo00<007ooOol00goo00<0 07ooOol0ogoo27oo000@Ool00`00Ool00002Ool00`00Ool0003oOol9Ool0011oo`<000=oo`03001o ogoo0?moo`Qoo`00ogoo8Goo003oOolQOol00?moob5oo`00ogoo8Goo003oOolQOol00?moob5oo`00 ogoo8Goo003oOolQOol00?moob5oo`00\ \>"], ImageRangeCache->{{{0, 287}, {287, 0}} -> {-0.0888568, -0.0771559, 0.00420706, 0.00420706}}], Cell[BoxData[ FormBox[ TagBox[\(\[SkeletonIndicator] Graphics \[SkeletonIndicator]\), False, Editable->False], TraditionalForm]], "Output"] }, Open ]], Cell[TextData[{ "\tThe representation triangle is used to show all possible voting \ outcomes. The x coordinate of any point in the triangle tells us the \ proportion of the vote going to C1. The y coordinate tells us the proportion \ of the vote going to C2. Since proportions must sum to one we can easily \ calculate C3 vote share as, ", Cell[BoxData[ \(TraditionalForm\`C3 = 1 - C1 - C2\)]], ". Notice, for example, that the origin is labelled C3, this is because if \ ", Cell[BoxData[ \(TraditionalForm\`C1 = 0\)]], " and ", Cell[BoxData[ \(TraditionalForm\`C2 = 0\)]], ", ", Cell[BoxData[ \(TraditionalForm\`C3 = 1\)]], " (C3 wins by unanimous vote). \n\tThe representation triangle is split \ into the six possible strict voting outcomes (ties occur at the borders of \ the regions). Region 1, for example, covers the entire area where ", Cell[BoxData[ \(TraditionalForm\`C1 > C2 > C3\)]], ". To see this more clearly consider the 45 degree line which runs from \ the origin to the triangle's hypoteneuse. Along this line ", Cell[BoxData[ \(TraditionalForm\`C1 = C2\)]], " so all points to the right or below the line have ", Cell[BoxData[ \(TraditionalForm\`C1 > C2\)]], " and all points to left or above the line have ", Cell[BoxData[ \(TraditionalForm\`C2 > C1\)]], ". Similarly, along the line from the C2 vertex to the midpoint of ", Cell[BoxData[ \(TraditionalForm\`C3 - C1\)]], ", ", Cell[BoxData[ \(TraditionalForm\`C1 = C3\)]], ". All points above or to the right of this line thus have coordinates \ such that ", Cell[BoxData[ \(TraditionalForm\`C1 > C3\)]], ". Finally, the line from the C1 vertex to the midpont of ", Cell[BoxData[ \(TraditionalForm\`C3 - C2\)]], " indicates all the points where ", Cell[BoxData[ \(TraditionalForm\`C2 = C3\)]], ". Points above or to the right of this line have ", Cell[BoxData[ \(TraditionalForm\`C2 > C3\)]], ". The region where ", Cell[BoxData[ \(TraditionalForm\`C1 > C2\)]], " and ", Cell[BoxData[ \(TraditionalForm\`C1 > C3\)]], " and ", Cell[BoxData[ \(TraditionalForm\`C2 > C3\)]], " is thus Region 1. (As a quick reminder of which regions mean what we can \ always jump back to the top of this notebook or simply reenter VoterTypes[].)\ \n The function PlotPL[aprofile] will plot all possible positional voting \ election outcomes for the profile aprofile, ie. it will plot the election \ outcome as s ranges from 0 to ", Cell[BoxData[ \(TraditionalForm\`1/2\)]], ". The plurality vote outcome is indicated with a red point, the Borda \ Count outcome with a green point and the anti-plurality vote with a blue \ point. (PL, by the way, stands for Procedure Line.)" }], "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[BoxData[ \(PlotPL[aprofile]\)], "Input", CellHorizontalScrolling->False], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.0238095 0.952381 0.0238095 0.952381 [ [.5 .01131 -9 -9 ] [.5 .01131 9 0 ] [.97619 .01131 -3 -9 ] [.97619 .01131 3 0 ] [1.025 .02381 0 -6.28125 ] [1.025 .02381 16 6.28125 ] [.01131 .5 -18 -4.5 ] [.01131 .5 0 4.5 ] [.01131 .97619 -6 -4.5 ] [.01131 .97619 0 4.5 ] [.02381 1.025 -8 0 ] [.02381 1.025 8 12.5625 ] [ 0 0 0 0 ] [ 1 1 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 g .25 Mabswid .5 .02381 m .5 .03006 L s [(0.5)] .5 .01131 0 1 Mshowa .97619 .02381 m .97619 .03006 L s [(1)] .97619 .01131 0 1 Mshowa 0 .02381 m 1 .02381 L s gsave 1.025 .02381 -61 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (C1) show 75.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore .02381 .5 m .03006 .5 L s [(0.5)] .01131 .5 1 0 Mshowa .02381 .97619 m .03006 .97619 L s [(1)] .01131 .97619 1 0 Mshowa .02381 0 m .02381 1 L s gsave .02381 1.025 -69 -4 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (C2) show 75.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore 0 0 m 1 0 L 1 1 L 0 1 L closepath clip newpath .5 Mabswid .97619 .02381 m .02381 .97619 L s 1 0 0 r .025 w .42148 .32971 Mdot .4 .65 0 r .28893 .31068 Mdot 0 .4 1 r .22265 .30116 Mdot 0 g .5 Mabswid .42148 .32971 m .22265 .30116 L s .02381 .5 m .97619 .02381 L s .02381 .5 m .97619 .02381 L s .02381 .02381 m .5 .5 L s .02381 .97619 m .5 .02381 L s gsave .5381 .34762 -66 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (1) show 69.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore gsave .5381 .15714 -66 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (2) show 69.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore gsave .30952 .15714 -66 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (3) show 69.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore gsave .1381 .30952 -66 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (4) show 69.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore gsave .1381 .56667 -66 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (5) show 69.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore gsave .30952 .56667 -66 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (6) show 69.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore gsave .02381 .02381 -69 -16.5625 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (C3) show 75.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore % End of Graphics MathPictureEnd \ \>"], "Graphics", ImageSize->{288, 288}, ImageMargins->{{43, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHgOol00`00Oomoo`1JOol00`00Oomoo`1J Ool2000?Ool00`00Oomoo`0/Ool001Eoo`03001oogoo00moo`03001oogoo05Qoo`03001oogoo05Uo o`80011oo`03001oogoo02eoo`005Goo00<007ooOol047oo00<007ooOol0Egoo00<007ooOol0Egoo 0P004Goo00<007ooOol0;Woo000EOol00`00Oomoo`0AOol00`00Oomoo`1EOol00`00Oomoo`1FOol2 000BOol00`00Oomoo`0_Ool001Eoo`03001oogoo019oo`03001oogoo05Aoo`03001oogoo05Aoo`80 01=oo`03001oogoo031oo`005Goo00<007ooOol04goo00<007ooOol0DWoo00<007ooOol0Dgoo0P00 57oo00<007ooOol0Woo000EOol00`00Oomoo`0MOol00`00Oomoo`0ROol2000OOol00`00Oomoo`0EOol3000/Ool2 000NOol00`00Oomoo`0kOol001Eoo`03001oogoo01ioo`03001oogoo02=oo`03001oogoo01aoo`03 001oogoo01Eoo`03001oogoo02Yoo`8001moo`03001oogoo03aoo`005Goo00<007ooOol07goo00<0 07ooOol08Goo00<007ooOol077oo00<007ooOol05goo00<007ooOol09goo0P0087oo00<007ooOol0 ?Goo000EOol00`00Oomoo`0POol00`00Oomoo`0QOol00`00Oomoo`0KOol00`00Oomoo`0GOol00`00 Oomoo`0UOol2000QOol00`00Oomoo`0nOol001Eoo`03001oogoo025oo`03001oogoo01ioo`03001o o`0001aoo`03001oogoo01Moo`03001oo`0002Aoo`80029oo`03001oogoo03moo`005Goo00<007oo Ool08Woo00<007ooOol07Woo00<007ooOol06goo00<007ooOol067oo00<007ooOol08Goo0P008goo 00<007ooOol0@7oo000EOol00`00Oomoo`0SOol00`00Oomoo`0jOol00`00Oomoo`0kOol2000TOol0 0`00Oomoo`11Ool001Eoo`03001oogoo02Aoo`03001oogoo03Uoo`03001oogoo03Uoo`8002Eoo`03 001oogoo049oo`005Goo00<007ooOol09Goo00<007ooOol0=goo00<007ooOol0>7oo0P009Woo00<0 07ooOol0@goo000EOol00`00Oomoo`0VOol00`00Oomoo`0fOol00`00Oomoo`0fOol2000WOol00`00 Oomoo`14Ool001Eoo`03001oogoo02Moo`03001oogoo03Aoo`03001oogoo03Eoo`8002Qoo`03001o ogoo04Eoo`005Goo00<007ooOol0:7oo00<007ooOol07oo00<007ooOol0EGoo000EOol00`00 Oomoo`0hOol00`00Oomoo`0KOol00`00Oomoo`0KOol2000iOol00`00Oomoo`1FOol001Eoo`03001o ogoo03Qoo`03001oogoo01Yoo`03001oogoo01Yoo`8003Yoo`03001oogoo05Moo`005Goo00<007oo Ool0>Goo00<007ooOol06Goo00<007ooOol067oo0P00>goo00<007ooOol0F7oo000EOol00`00Oomo o`0jOol00`00Oomoo`0GOol00`00Oomoo`0GOol2000lOol00`00Oomoo`1IOol001Eoo`03001oogoo 03]oo`03001oogoo01Ioo`03001oogoo01Eoo`8003eoo`03001oogoo05Yoo`005Goo00<007ooOol0 ?7oo00<007ooOol057oo00<007ooOol057oo0P00?Woo00<007ooOol0Fgoo000EOol00`00Oomoo`0m Ool00`00Oomoo`0COol00`00Oomoo`0BOol2000oOol00`00Oomoo`1LOol001Eoo`03001oogoo03io o`03001oogoo015oo`03001oogoo015oo`80041oo`03001oogoo05eoo`005Goo00<007ooOol0;Goo 106O3Woo00<007ooOol047oo00<007ooOol03goo0P00@Goo00<007ooOol0GWoo000EOol00`00Oomo o`0/Ool0106O0Gl1W`5o0P6O3Woo00<007ooOol03Woo00<007ooOol03Woo0P00@Woo00<007ooOol0 Ggoo000EOol00`00Oomoo`0/Ool20Il4000;Ool4Ool00`00Oomoo`0eOol00`00Oomoo`1fOol001Eoo`03001oogoo039oo`80015oo`03 001oogoo011oo`03001oogoo03=oo`03001oogoo07Moo`005Goo00<007ooOol0<7oo0P004goo00<0 07ooOol04Goo00<007ooOol0Ool001Eoo`03001oogoo009oo`8003Eoo`03001oogoo03Aoo`03001oogoo00=oo`03 001oogoo08moo`001Goo00<007ooOol00Woo00<007ooOol00Woo00<007ooOol00goo00<007ooOol0 0P00=goo00<007ooOol0=Goo00D007ooOomoo`00099oo`0017oo00<007oo00001goo00<007oo0000 17oo0`00>7oo00<007ooOol0=goo00<007oo0000Tgoo0004Ool00`00Ool00009Ool00`00Oomoo`02 Ool2000iOol00`00Oomoo`0hOol00`00Oomoo`2BOol000Aoo`03001oo`0000Moo`8000Eoo`03001o ogoo03Qoo`03001oogoo03Qoo`03001oogoo099oo`0017oo00<007oo00001goo00<007ooOol017oo 00<007ooOol0=goo00<007ooOol0>7oo00<007ooOol0Tgoo0005Ool00`00Oomoo`06Ool30004Ool0 0`00Oomoo`0gOol00`00Oomoo`0gOol00`00Oomoo`2DOol001Eoo`03001oogoo03Ioo`03001oogoo 03Moo`03001oogoo09Eoo`005Goo00<007ooOol0=Woo00<007ooOol0=Woo00<007ooOol0UWoo000E Ool00`00Oomoo`0eOol00`00Oomoo`0fOol00`00Oomoo`2GOol001Eoo`03001oogoo03Eoo`03001o ogoo03Eoo`03001oogoo09Qoo`005Goo00<007ooOol0=7oo00<007ooOol0=Goo00<007ooOol0VGoo 000EOol00`00Oomoo`0dOol00`00Oomoo`0dOol00`00Oomoo`2JOol001Eoo`03001oogoo03=oo`03 001oogoo03Aoo`03001oogoo09]oo`005Goo00<007ooOol0Ool2000QOol00`00Oomo o`2POol001Eoo`03001oogoo01Moo`03001oo`0001Ioo`03001oogoo00moo`03001oo`0001moo`03 001oogoo0:5oo`005Goo00<007ooOol06Goo00<007ooOol057oo00<007ooOol03goo00<007oo0000 7Woo00<007ooOol0XWoo000EOol00`00Oomoo`0GOol2000FOol00`00Oomoo`0@Ool2000NOol00`00 Oomoo`2SOol001Eoo`03001oogoo01Moo`03001oogoo01Eoo`03001oogoo011oo`03001oogoo01ao o`03001oogoo0:Aoo`005Goo00<007ooOol05goo0`0057oo00<007ooOol04Woo0P006goo00<007oo Ool0YGoo000EOol00`00Oomoo`0^Ool00`00Oomoo`0^Ool00`00Oomoo`2VOol001Eoo`03001oogoo 02eoo`03001oogoo02ioo`03001oogoo0:Moo`005Goo00<007ooOol0;Goo00<007ooOol0;Goo00<0 07ooOol0Z7oo000EOol00`00Oomoo`0/Ool00`00Oomoo`0]Ool00`00Oomoo`2YOol001Eoo`03001o ogoo02aoo`03001oogoo02aoo`03001oogoo0:Yoo`005Goo00<007ooOol0:goo00<007ooOol0;7oo 00<007ooOol0Zgoo000EOol00`00Oomoo`0[Ool00`00Oomoo`0[Ool00`00Oomoo`2/Ool001Eoo`03 001oogoo02Yoo`03001oogoo02]oo`03001oogoo0:eoo`005Goo00<007ooOol0:Woo00<007ooOol0 :Woo00<007ooOol0[Woo000EOol00`00Oomoo`0YOol00`00Oomoo`0ZOol00`00Oomoo`2_Ool001Eo o`03001oogoo02Uoo`03001oogoo02Uoo`03001oogoo0;1oo`005Goo00<007ooOol0:7oo00<007oo Ool0:Goo00<007ooOol0/Goo000EOol00`00Oomoo`0XOol00`00Oomoo`0XOol00`00Oomoo`2bOol0 01Eoo`03001oogoo02Moo`03001oogoo02Qoo`03001oogoo0;=oo`005Goo00<007ooOol09goo00<0 07ooOol09goo00<007ooOol0]7oo000EOol00`00Oomoo`0VOol00`00Oomoo`0WOol00`00Oomoo`2e Ool001Eoo`03001oogoo02Ioo`03001oogoo02Ioo`03001oogoo0;Ioo`005Goo00<007ooOol09Goo 00<007ooOol09Woo00<007ooOol0]goo000EOol00`00Oomoo`0UOol00`00Oomoo`0UOol00`00Oomo o`2hOol001Eoo`03001oogoo02Aoo`03001oogoo02Eoo`03001oogoo0;Uoo`005Goo00<007ooOol0 97oo00<007ooOol097oo00<007ooOol0^Woo000EOol00`00Oomoo`0SOol00`00Oomoo`0TOol00`00 Oomoo`2kOol001Eoo`03001oogoo02=oo`03001oogoo02=oo`03001oogoo0;aoo`005Goo00<007oo Ool08Woo00<007ooOol08goo00<007ooOol0_Goo000EOol00`00Oomoo`0ROol00`00Oomoo`0ROol0 0`00Oomoo`2nOol001Eoo`03001oogoo025oo`03001oogoo029oo`03001oogoo0;moo`005Goo00<0 07ooOol08Goo00<007ooOol08Goo00<007ooOol0`7oo000EOol00`00Oomoo`0POol00`00Oomoo`0Q Ool00`00Oomoo`31Ool001Eoo`03001oogoo021oo`03001oogoo021oo`03001oogoo0<9oo`005Goo 00<007ooOol07goo00<007ooOol087oo00<007ooOol0`goo000EOol00`00Oomoo`0OOol00`00Oomo o`0OOol00`00Oomoo`34Ool001Eoo`03001oogoo01ioo`03001oogoo01moo`03001oogoo01oo`005Goo00<007ooOol047oo00<007ooOol04Goo00<007oo Ool0hGoo000EOol00`00Oomoo`0@Ool00`00Oomoo`0@Ool00`00Oomoo`3ROol001Eoo`03001oogoo 00moo`03001oogoo011oo`03001oogoo0>=oo`005Goo00<007ooOol03goo00<007ooOol03goo00<0 07ooOol0i7oo000EOol00`00Oomoo`0>Ool00`00Oomoo`0?Ool00`00Oomoo`3UOol001Eoo`03001o ogoo00ioo`03001oogoo00ioo`03001oogoo0>Ioo`005Goo00<007ooOol03Goo00<007ooOol03Woo 00<007ooOol0igoo000EOol00`00Oomoo`0=Ool00`00Oomoo`0=Ool00`00Oomoo`3XOol001Eoo`03 001oogoo00aoo`03001oogoo00eoo`03001oogoo0>Uoo`005Goo00<007ooOol037oo00<007ooOol0 37oo00<007ooOol0jWoo000EOol00`00Oomoo`0;Ool00`00Oomoo`0aoo`005Goo00<007ooOol02Woo00<007oo Ool02goo00<007ooOol0kGoo000EOol00`00Oomoo`0:Ool00`00Oomoo`0:Ool00`00Oomoo`3^Ool0 01Eoo`03001oogoo00Uoo`03001oogoo00Yoo`03001oogoo0>moo`005Goo00<007ooOol02Goo00<0 07ooOol02Goo00<007ooOol0l7oo000EOol00`00Oomoo`08Ool00`00Oomoo`09Ool00`00Oomoo`3a Ool001Eoo`03001oogoo00Qoo`03001oogoo00Qoo`03001oogoo0?9oo`005Goo00<007ooOol01goo 00<007ooOol027oo00<007ooOol0lgoo000EOol00`00Oomoo`07Ool00`00Oomoo`07Ool00`00Oomo o`3dOol001Eoo`03001oogoo00Ioo`03001oogoo00Moo`03001oogoo0?Eoo`005Goo00<007ooOol0 1Woo00<007ooOol01Woo00<007ooOol0mWoo000EOol00`00Oomoo`05Ool00`00Oomoo`06Ool00`00 Oomoo`3gOol001Eoo`03001oogoo00Eoo`03001oogoo00Eoo`03001oogoo0?Qoo`005Goo00<007oo Ool017oo00<007ooOol01Goo00<007ooOol0nGoo000EOol00`00Oomoo`04Ool00`00Oomoo`04Ool0 0`00Oomoo`3jOol001Eoo`03001oogoo00=oo`03001oogoo00Aoo`03001oogoo0?]oo`005Goo00<0 07ooOol00goo00<007ooOol00goo00<007ooOol0o7oo000EOol00`00Oomoo`02Ool00`00Oomoo`03 Ool00`00Oomoo`3mOol001Eoo`03001oogoo009oo`03001oogoo009oo`03001oogoo0?ioo`005Goo 00D007ooOomoo`0000Aoo`03001oogoo0?moo`005Goo00D007ooOomoo`0000=oo`03001oogoo0?mo o`5oo`005Goo00@007ooOol000=oo`03001oogoo0?moo`9oo`005Goo00@007ooOol0009oo`03001o ogoo0?moo`=oo`005Goo00<007oo00000Woo00<007ooOol0ogoo17oo000EOol01@00Ool007oo0000 ogoo1goo000EOol200000goo001oo`3oOol7Ool000eoo`D000=oo`<00?moo`Uoo`003goo00<007oo Ool00goo0P00ogoo2Woo000?Ool00`00Oomoo`03Ool2003oOol:Ool000moo`03001oogoo00=oo`03 001oogoo0?moo`Uoo`003goo00<007ooOol00goo00<007ooOol0ogoo2Goo000>Ool20005Ool00`00 Oomoo`3oOol9Ool001Eoo`03001oogoo0?moo`Uoo`005Goo00<007ooOol0ogoo2Goo003oOolQOol0 0?moob5oo`00ogoo8Goo003oOolQOol00?moob5oo`00ogoo8Goo003oOolQOol00?moob5oo`00ogoo 8Goo003oOolQOol0015oo`80009oo`<00?moo`Uoo`0047oo00<007ooOol00Woo00<007ooOol0ogoo 2Goo000@Ool00`00Oomoo`03Ool00`00Oomoo`3oOol8Ool0011oo`03001oogoo00=oo`03001oogoo 0?moo`Qoo`0047oo00<007oo00000Woo00<007oo0000ogoo2Goo000@Ool30003Ool00`00Oomoo`3o Ool8Ool00?moob5oo`00ogoo8Goo003oOolQOol00?moob5oo`00ogoo8Goo003oOolQOol00?moob5o o`00ogoo8Goo003oOolQOol00001\ \>"], ImageRangeCache->{{{0, 287}, {287, 0}} -> {-0.0888568, -0.0771559, 0.00420706, 0.00420706}}], Cell[BoxData[ FormBox[ TagBox[\(\[SkeletonIndicator] Graphics \[SkeletonIndicator]\), False, Editable->False], TraditionalForm]], "Output"] }, Open ]], Cell[TextData[{ "\tFrom above we know that given ", Cell[BoxData[ \(TraditionalForm\`aprofile = {0, 0.39, 0, .244, 0.3, 0}\)]], " and ", Cell[BoxData[ \(TraditionalForm\`s = 0\)]], " (plurality rule) the outcome is in Region 1, the exact outcome is \ indicated by the red point. The Borda count outcome (", Cell[BoxData[ \(TraditionalForm\`s = 1\/3\)]], ") is indicated with a green point and the left most point in blue is the \ anti-plurality (", Cell[BoxData[ \(TraditionalForm\`s = 1\/2\)]], ") outcome. The pointsizes are optimized for a hi-res monitor. If they \ appear too small or to big PlotPL[profile,size,options] also takes a size \ option in the second slot. Default pointsize is .025. PlotPL[profile,.0105] \ will print smaller points, for example.\n\tNotice that the procedure line \ goes through regions 1,2,3, and 4 plus it intersects three boundaries so this \ single profile can lead to 7 different outcomes in all. Obviously a single \ profile can generate a lot of different outcomes depending on the voting \ system! This problem gets much worse as the number of candidates increases. \ Saari (1992) shows that with only 10 candidates a single profile can generate \ over 3 million strict rankings and over 8 million rankings including ties! \ " }], "Text", Evaluatable->False], Cell[TextData[{ "\tWhat we have just shown is that with the single profile, ", Cell[BoxData[ \(TraditionalForm\`aprofile = {0, 0.39, 0, .244, 0.3, 0}\)]], ", the voting outcome can range from ", Cell[BoxData[ \(TraditionalForm\`C1 > C2 > C3\)]], " to", Cell[BoxData[ \(TraditionalForm\`\(\ C1 > C3 > C2\ \)\)]], "to", Cell[BoxData[ \(TraditionalForm\`\(\ C3 > C1 > C2\)\)]], " and even ", Cell[BoxData[ \(TraditionalForm\`C3 > C2 > C1\)]], "! Which of these is the best outcome? Which of these is the most \ democratic outcome? The answers to these questions are not obvious. \ Regardless of our answers to these questions our results show that any theory \ of democracy which speaks of a \"will of the majority\" is incoherent. How \ can the majority be said to have a will when the same preferences may \ generate the ranking ", Cell[BoxData[ \(TraditionalForm\`C1 > C2 > C3\)]], " or the reverse ranking ", Cell[BoxData[ \(TraditionalForm\`C3 > C2 > C1\)]], "? When there are ten candidates, a single profile may generate over 8 \ million rankings which of these rankings represents the majority's will?" }], "Text", Evaluatable->False], Cell[TextData[{ "\tThe following command generates 10 random voter profiles and their \ respective procedure lines.", ButtonBox["\[SelectionPlaceholder]", ButtonData:>"EndNote 3", ButtonStyle->"Hyperlink"], ButtonBox["3", ButtonData:>"EndNote 3", ButtonStyle->"Hyperlink"], " " }], "Text", Evaluatable->False, CellTags->"Return 3"], Cell[CellGroupData[{ Cell[BoxData[ \(Show[simpleplot, Table[PlotPLLines[Table[Random[], {6}], .02], {10}], RTriangle, PlotRange -> All]\)], "Input", CellHorizontalScrolling->False], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.0238095 0.952381 0.0238095 0.952381 [ [.5 .01131 -9 -9 ] [.5 .01131 9 0 ] [.97619 .01131 -3 -9 ] [.97619 .01131 3 0 ] [.01131 .5 -18 -4.5 ] [.01131 .5 0 4.5 ] [.01131 .97619 -6 -4.5 ] [.01131 .97619 0 4.5 ] [.5381 .34762 -5 -6.28125 ] [.5381 .34762 5 6.28125 ] [.5381 .15714 -5 -6.28125 ] [.5381 .15714 5 6.28125 ] [.30952 .15714 -5 -6.28125 ] [.30952 .15714 5 6.28125 ] [.1381 .30952 -5 -6.28125 ] [.1381 .30952 5 6.28125 ] [.1381 .56667 -5 -6.28125 ] [.1381 .56667 5 6.28125 ] [.30952 .56667 -5 -6.28125 ] [.30952 .56667 5 6.28125 ] [ 0 0 0 0 ] [ 1 1 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 g .25 Mabswid .5 .02381 m .5 .03006 L s [(0.5)] .5 .01131 0 1 Mshowa .97619 .02381 m .97619 .03006 L s [(1)] .97619 .01131 0 1 Mshowa 0 .02381 m 1 .02381 L s .02381 .5 m .03006 .5 L s [(0.5)] .01131 .5 1 0 Mshowa .02381 .97619 m .03006 .97619 L s [(1)] .01131 .97619 1 0 Mshowa .02381 0 m .02381 1 L s .5 Mabswid .97619 .02381 m .02381 .97619 L s 1 0 0 r .02 w .4838 .36485 Mdot 0 .4 1 r .38003 .40149 Mdot 0 g .5 Mabswid .4838 .36485 m .38003 .40149 L s 1 0 0 r .02 w .38856 .48405 Mdot 0 .4 1 r .41529 .34169 Mdot 0 g .5 Mabswid .38856 .48405 m .41529 .34169 L s 1 0 0 r .02 w .27467 .14804 Mdot 0 .4 1 r .31554 .31967 Mdot 0 g .5 Mabswid .27467 .14804 m .31554 .31967 L s 1 0 0 r .02 w .52299 .38089 Mdot 0 .4 1 r .31032 .38775 Mdot 0 g .5 Mabswid .52299 .38089 m .31032 .38775 L s 1 0 0 r .02 w .14159 .60349 Mdot 0 .4 1 r .33319 .37782 Mdot 0 g .5 Mabswid .14159 .60349 m .33319 .37782 L s 1 0 0 r .02 w .30007 .26009 Mdot 0 .4 1 r .37569 .30548 Mdot 0 g .5 Mabswid .30007 .26009 m .37569 .30548 L s 1 0 0 r .02 w .30241 .18496 Mdot 0 .4 1 r .30497 .32938 Mdot 0 g .5 Mabswid .30241 .18496 m .30497 .32938 L s 1 0 0 r .02 w .47239 .45803 Mdot 0 .4 1 r .28391 .40975 Mdot 0 g .5 Mabswid .47239 .45803 m .28391 .40975 L s 1 0 0 r .02 w .5766 .07719 Mdot 0 .4 1 r .34952 .32296 Mdot 0 g .5 Mabswid .5766 .07719 m .34952 .32296 L s 1 0 0 r .02 w .3545 .42841 Mdot 0 .4 1 r .341 .39646 Mdot 0 g .5 Mabswid .3545 .42841 m .341 .39646 L s .02381 .5 m .97619 .02381 L s .02381 .5 m .97619 .02381 L s .02381 .02381 m .5 .5 L s .02381 .97619 m .5 .02381 L s gsave .5381 .34762 -66 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (1) show 69.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore gsave .5381 .15714 -66 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (2) show 69.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore gsave .30952 .15714 -66 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (3) show 69.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore gsave .1381 .30952 -66 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (4) show 69.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore gsave .1381 .56667 -66 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (5) show 69.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore gsave .30952 .56667 -66 -10.2813 Mabsadd m 1 1 Mabs scale currentpoint translate 0 20.5625 translate 1 -1 scale gsave 0.000000 0.000000 0.000000 setrgbcolor 1.000000 setlinewidth gsave newpath 61.000000 16.562500 moveto 460.000000 16.562500 lineto 460.000000 4.000000 lineto 61.000000 4.000000 lineto 61.000000 16.562500 lineto closepath clip newpath 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 63.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor (6) show 69.000000 12.812500 moveto %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10.000000 scalefont [1 0 0 -1 0 0 ] makefont setfont 0.000000 0.000000 0.000000 setrgbcolor 0.000000 0.000000 rmoveto 1.000000 setlinewidth grestore grestore %%DocumentNeededResources: font Courier %%DocumentSuppliedResources: %%DocumentNeededFonts: Courier %%DocumentSuppliedFonts: %%DocumentFonts: font Courier grestore 0 0 m 1 0 L 1 1 L 0 1 L closepath clip newpath % End of Graphics MathPictureEnd \ \>"], "Graphics", ImageSize->{288, 288}, ImageMargins->{{43, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHgOol00`00Oomoo`0EOol001Eoo`03001oogoo00io o`03001oogoo06Eoo`03001oogoo01Qoo`04001l07`0O019Ool2000?Ool00`00Oomoo`0FOol001Eo o`03001oogoo00moo`03001oogoo06=oo`03001oogoo01Qoo`03001oogoo04Uoo`80011oo`03001o ogoo01Moo`005Goo00<007ooOol047oo00<007ooOol0HWoo00<007ooOol05goo00<007ooOol0B7oo 0P004Goo00<007ooOol067oo000EOol00`00Oomoo`0AOol00`00Oomoo`1POol00`00Oomoo`0GOol0 0`00Oomoo`17Ool2000BOol00`00Oomoo`0IOol001Eoo`03001oogoo019oo`03001oogoo05moo`03 001oogoo01Moo`03001oogoo04Eoo`8001=oo`03001oogoo01Yoo`005Goo00<007ooOol04goo00<0 07ooOol0GGoo00<007ooOol05goo00<007ooOol0A7oo0P0057oo00<007ooOol06goo000EOol00`00 Oomoo`0DOol00`00Oomoo`1LOol00`00Oomoo`0FOol00`00Oomoo`13Ool2000EOol00`00Oomoo`0L Ool001Eoo`03001oogoo01Eoo`03001oogoo05Yoo`03001oogoo01Ioo`03001oogoo049oo`8001Io o`03001oogoo01eoo`005Goo00<007ooOol05Woo00<007ooOol0FGoo00<007ooOol05Goo00<007oo Ool0@Goo0P005goo00<007ooOol07Woo000EOol00`00Oomoo`0GOol00`00Oomoo`1GOol00`00Oomo o`0EOol00`00Oomoo`10Ool2000HOol00`00Oomoo`0OOol001Eoo`03001oogoo01Qoo`03001oogoo 05Ioo`03001oogoo01Aoo`03001oogoo03moo`8001Uoo`03001oogoo021oo`005Goo00<007ooOol0 6Goo00<007ooOol0E7oo00<007ooOol057oo00<007ooOol0?Woo0P006Woo00<007ooOol08Goo000E Ool00`00Oomoo`0JOol00`00Oomoo`1COol00`00Oomoo`0COol00`00Oomoo`0mOol2000KOol00`00 Oomoo`0ROol001Eoo`03001oogoo01]oo`03001oogoo055oo`03001oogoo01=oo`03001oogoo03ao o`8001aoo`03001oogoo02=oo`005Goo00<007ooOol077oo00<007ooOol0D7oo00<007ooOol04Woo 00<007ooOol0>goo0P007Goo00<007ooOol097oo000EOol00`00Oomoo`0MOol00`00Oomoo`0POol3 O00[Ool00`00Oomoo`0COol00`00Oomoo`0iOol2000NOol00`00Oomoo`0UOol001Eoo`03001oogoo 01ioo`03001oogoo01ioo`El02Yoo`03001oogoo019oo`03001oogoo03Qoo`8001moo`03001oogoo 02Ioo`005Goo00<007ooOol07goo00<007ooOol07Goo0W`000<007`0O000:Goo00<007ooOol04Woo 00<007ooOol0=goo0P0087oo00<007ooOol09goo000EOol00`00Oomoo`0POol00`00Oomoo`0LOol2 O0000`00O01l0005Ool2000ROol00`00Oomoo`0AOol00`00Oomoo`03Ool3000`Ool2000QOol00`00 Oomoo`0XOol001Eoo`03001oogoo025oo`03001oogoo01aoo`03O00007`000Qoo`03001oogoo01io o`03001oogoo015oo`03001oogoo00Aoo`03001oogoo02ioo`80029oo`03001oogoo02Uoo`005Goo 00<007ooOol08Woo00<007ooOol07Goo00<007ooOol01Goo00<007ooOol07goo00<007ooOol047oo 00<007ooOol01Woo00<007ooOol0:goo0P008goo00<007ooOol0:Woo000EOol00`00Oomoo`0SOol0 0`00Oomoo`0LOol00`00Oomoo`06Ool00`00Oomoo`0MOol00`00Oomoo`0@Ool00`00Oomoo`07Ool0 0`00Oomoo`0YOol2000TOol00`00Oomoo`0[Ool001Eoo`03001oogoo02Aoo`03001oogoo01]oo`03 001oogoo00Aoo`03001oo`0001moo`03001oogoo00moo`03001oogoo00Moo`03001oo`0002Qoo`80 02Eoo`03001oogoo02aoo`005Goo00<007ooOol09Goo00<007ooOol06Woo00<007ooOol01Goo00<0 07ooOol07Goo00<007ooOol03goo00<007ooOol02Goo00<007ooOol09Goo0P009Woo00<007ooOol0 ;Goo000EOol00`00Oomoo`0VOol00`00Oomoo`0JOol00`00Oomoo`0TOol00`00Oomoo`0>Ool00`00 Oomoo`0`Ool2000WOol00`00Oomoo`0^Ool001Eoo`03001oogoo02Moo`03001oogoo01Uoo`03001o ogoo009oo`=l01ioo`03001oogoo00ioo`03001oogoo02moo`8002Qoo`03001oogoo02moo`005Goo 00<007ooOol0:7oo00<007ooOol067oo00@007ooOomoo`El01eoo`03001oogoo00ioo`03001oogoo 02eoo`8002Uoo`03001oogoo031oo`005Goo00<007ooOol0:Goo00<007ooOol05goo00@007ooOomo o`9l0003001l07`001aoo`03001oogoo00ioo`03001oogoo02aoo`8002Yoo`03001oogoo035oo`00 5Goo00<007ooOol0:Woo00<007ooOol05goo00<007ooOol00W`000<007`0O00077oo00<007ooOol0 3Goo00<007ooOol0:goo0P00:goo00<007ooOol07oo00<007ooOol037oo00<0 07oo00005goo00<007ooOol01goo00<007ooOol077oo0P00>Goo00<007ooOol0@7oo000EOol00`00 Oomoo`0iOol00`00Oomoo`0;Ool00`00Ool0000FOol00`00Oomoo`07Ool00`00Oomoo`0KOol2000j Ool00`00Oomoo`11Ool001Eoo`03001oogoo03Yoo`03001oogoo00Yoo`03001oo`0001Ioo`03001o ogoo00Ioo`03001oogoo01Yoo`8003]oo`03001oogoo049oo`005Goo00<007ooOol0>goo00<007oo Ool02Woo0P005Goo00<007ooOol01Woo00<007ooOol06Goo0P00?7oo00<007ooOol0@goo000EOol0 0`00Oomoo`0lOol00`00Oomoo`08Ool2O0000`00Oomoo`0COol00`00Oomoo`05Ool00`00Oomoo`0H Ool2000mOol00`00Oomoo`14Ool001Eoo`03001oogoo03eoo`03001oogoo00Ioo`=l0003001l07oo 019oo`03001oogoo00Eoo`03001oogoo01Moo`8003ioo`03001oogoo04Eoo`005Goo00<007ooOol0 ?Woo00<007ooOol01Goo0W`00P0000=l07ooOol04Goo00<007ooOol017oo00<007ooOol05Woo0P00 ?goo00<007ooOol0AWoo000EOol00`00Oomoo`0nOol00`00Oomoo`05Ool3O002000BOol00`00Oomo o`05Ool00`00Oomoo`0DOol20010Ool00`00Oomoo`17Ool001Eoo`03001oogoo03moo`03001oogoo 00Eoo`9l0004001oo`00000@Ool00`00Oomoo`04Ool00`00Oomoo`0COol20011Ool00`00Oomoo`18 Ool001Eoo`03001oogoo041oo`03001oogoo00Ioo`04001oogooOol2000=Ool00`00Oomoo`04Ool0 0`00Oomoo`0BOol20012Ool00`00Oomoo`19Ool001Eoo`03001oogoo045oo`03001oogoo00Eoo`03 001oogoo00=oo`03001oogoo00Yoo`03001oogoo00=oo`03001oogoo015oo`8004=oo`03001oogoo 04Yoo`005Goo00<007ooOol0@Woo00<007ooOol017oo00<007ooOol017oo0P002Goo00<007ooOol0 0goo00<007ooOol047oo0P00A7oo00<007ooOol0Bgoo000EOol00`00Oomoo`13Ool00`00Oomoo`03 Ool20007Ool20007Ool00`00Oomoo`02Ool00`00Oomoo`0?Ool20015Ool00`00Oomoo`1Ool001Eoo`03001oogoo04Ioo`03001o ogoo008000aoo`<000=oo`03001oogoo00aoo`8004Qoo`03001oogoo04moo`005Goo00<007ooOol0 Agoo00D007oo001oo`0000eoo`8000030Il0006O00aoo`8004Uoo`03001oogoo051oo`005Goo00<0 07ooOol0B7oo0P0000=oo`00Ool02goo00<007oo0Il00P0000<1O`6OOol027oo0P00BWoo00<007oo Ool0DGoo000EOol00`00Oomoo`0KOol3000[Ool00`00Ool0000Ool00`00Oomo o`1EOol001Eoo`03001oogoo01]oo`8002aoo`030001W`6O008000030Imoogoo009oo`<1W`8000Io o`8004moo`03001oogoo05Ioo`005Goo00<007ooOol077oo00<007ooOol0:Goo00L1W`000Il1O`6O 0Gl00004Ool20Il200000`6OOomoo`02Ool2001@Ool00`00Oomoo`1GOol001Eoo`03001oogoo04Mo o`81W`030001W`6O0081W`03Ool007oo009oo`81W`030001W`6O009oo`80055oo`03001oogoo05Qo o`005Goo00<007ooOol0Agoo0P6O00<0006O0Il017oo00D007ooOomoo`000081W`03Ool00000059o o`03001oogoo05Uoo`005Goo00<007ooOol0Agoo1@6O1Goo00D007ooOol007oo008000ioo`<1Wd9o o`03001oogoo05Yoo`005Goo00<007ooOol0B7oo0`6O1goo10003goo0P6O00<1O`6O0Il0@7oo00<0 07ooOol0Fgoo000EOol00`00Oomoo`1BOol2000AOol20Il00`000Il1W`0LOol5000NOol00`00Oomo o`1LOol001Eoo`03001oogoo051oo`<00003Ool007oo00moo`81W`030001W`6O01ioo`03001oogoo 01eoo`03001oogoo05eoo`005Goo00<007ooOol0CWoo0P000Woo00@007ooOol0011oo`030Il0006O 01moo`03001oogoo01aoo`03001oogoo05ioo`005Goo00<007ooOol0C7oo0P000goo00<007ooOol0 0Woo00<007ooOol03Goo00<007ooOol07goo00<007ooOol06goo00<007ooOol0Ggoo000EOol00`00 Oomoo`1:Ool20005Ool00`00Oomoo`03Ool00`00Oomoo`0Woo00<007ooOol0SWoo000E Ool00`00Oomoo`0]Ool00`00Oomoo`09Ool00`00Oomoo`0jOol00`00Oomoo`2?Ool001Eoo`03001o ogoo02aoo`03001oogoo00Yoo`03001oogoo03Uoo`03001oogoo091oo`005Goo00<007ooOol0:goo 00<007ooOol02Woo00<007ooOol0>Goo00<007ooOol0TGoo000EOol00`00Oomoo`0[Ool00`00Oomo o`0:Ool00`00Oomoo`0hOol00`00Oomoo`2BOol001Eoo`03001oogoo02Yoo`03001oogoo00Yoo`03 001oogoo03Qoo`03001oogoo09=oo`005Goo00<007ooOol0:Goo00<007ooOol02goo00<007ooOol0 =goo00<007ooOol0U7oo000EOol00`00Oomoo`0XOol00`00Oomoo`0;Ool00`00Oomoo`0gOol00`00 Oomoo`2EOol001Eoo`03001oogoo02Moo`03001oogoo00aoo`03001oogoo03Ioo`03001oogoo09Io o`005Goo00<007ooOol06goo00<007ooOol027oo00<007ooOol037oo00<007ooOol04Goo0P008goo 00<007ooOol0Ugoo000EOol00`00Oomoo`0JOol00`00Ool00009Ool00`00Oomoo`0Ool001Eo o`03001oogoo01Uoo`03001oogoo01Yoo`03001oogoo05oo`005Goo 00<007ooOol047oo00<007ooOol047oo00<007ooOol0hWoo000EOol00`00Oomoo`0?Ool00`00Oomo o`0@Ool00`00Oomoo`3SOol001Eoo`03001oogoo00moo`03001oogoo00moo`03001oogoo0>Aoo`00 5Goo00<007ooOol03Woo00<007ooOol03goo00<007ooOol0iGoo000EOol00`00Oomoo`0>Ool00`00 Oomoo`0>Ool00`00Oomoo`3VOol001Eoo`03001oogoo00eoo`03001oogoo00ioo`03001oogoo0>Mo o`005Goo00<007ooOol03Goo00<007ooOol03Goo00<007ooOol0j7oo000EOol00`00Oomoo`0Yoo`005Goo00<007ooOol02goo00<007ooOol037oo00<007ooOol0jgoo000EOol00`00Oomoo`0; Ool00`00Oomoo`0;Ool00`00Oomoo`3/Ool001Eoo`03001oogoo00Yoo`03001oogoo00]oo`03001o ogoo0>eoo`005Goo00<007ooOol02Woo00<007ooOol02Woo00<007ooOol0kWoo000EOol00`00Oomo o`09Ool00`00Oomoo`0:Ool00`00Oomoo`3_Ool001Eoo`03001oogoo00Uoo`03001oogoo00Uoo`03 001oogoo0?1oo`005Goo00<007ooOol027oo00<007ooOol02Goo00<007ooOol0lGoo000EOol00`00 Oomoo`08Ool00`00Oomoo`08Ool00`00Oomoo`3bOol001Eoo`03001oogoo00Moo`03001oogoo00Qo o`03001oogoo0?=oo`005Goo00<007ooOol01goo00<007ooOol01goo00<007ooOol0m7oo000EOol0 0`00Oomoo`06Ool00`00Oomoo`07Ool00`00Oomoo`3eOol001Eoo`03001oogoo00Ioo`03001oogoo 00Ioo`03001oogoo0?Ioo`005Goo00<007ooOol01Goo00<007ooOol01Woo00<007ooOol0mgoo000E Ool00`00Oomoo`05Ool00`00Oomoo`05Ool00`00Oomoo`3hOol001Eoo`03001oogoo00Aoo`03001o ogoo00Eoo`03001oogoo0?Uoo`005Goo00<007ooOol017oo00<007ooOol017oo00<007ooOol0nWoo 000EOol00`00Oomoo`03Ool00`00Oomoo`04Ool00`00Oomoo`3kOol001Eoo`03001oogoo00=oo`03 001oogoo00=oo`03001oogoo0?aoo`005Goo00<007ooOol00Woo00<007ooOol00goo00<007ooOol0 oGoo000EOol00`00Oomoo`02Ool00`00Oomoo`02Ool00`00Oomoo`3nOol001Eoo`05001oogooOol0 0004Ool00`00Oomoo`3oOol001Eoo`05001oogooOol00003Ool00`00Oomoo`3oOol1Ool001Eoo`04 001oogoo0003Ool00`00Oomoo`3oOol2Ool001Eoo`04001oogoo0002Ool00`00Oomoo`3oOol3Ool0 01Eoo`03001oo`00009oo`03001oogoo0?moo`Aoo`005Goo00D007oo001oo`000?moo`Moo`005Goo 0P0000=oo`00Ool0ogoo1goo000=Ool50003Ool3003oOol9Ool000moo`03001oogoo00=oo`800?mo o`Yoo`003goo00<007ooOol00goo0`00ogoo2Goo000?Ool00`00Oomoo`03Ool00`00Oomoo`3oOol9 Ool000moo`03001oogoo00=oo`03001oogoo0?moo`Uoo`003Woo0P001Goo00<007ooOol0ogoo2Goo 000EOol00`00Oomoo`3oOol9Ool001Eoo`03001oogoo0?moo`Uoo`005Goo00<007ooOol0ogoo2Goo 003oOolQOol00?moob5oo`00ogoo8Goo003oOolQOol00001\ \>"], ImageRangeCache->{{{0, 287}, {287, 0}} -> {-0.0825959, -0.0652294, 0.00385924, 0.00385924}}], Cell[BoxData[ FormBox[ TagBox[\(\[SkeletonIndicator] Graphics \[SkeletonIndicator]\), False, Editable->False], TraditionalForm]], "Output"] }, Open ]], Cell[TextData[{ "\tRandom plots are always different of course but in the typical run of 10 \ plots it is often the case that most procedure lines cross at least one \ boundary and many cross more than one. Thus, most profiles result in more \ than one outcome when the voting system changes. In fact, using Monte Carlo \ methods with ", StyleBox["Mathematica", FontSlant->"Italic"], " or analytically using the normal function as an approximation (Saari and \ Tataru, 1997) it's possible to show that as the number of voters gets large \ (say 100 or more) the probability of a single profile generating i different \ outcomes is:" }], "Text", Evaluatable->False, TextAlignment->Left, TextJustification->0, FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontColor->GrayLevel[0], Background->GrayLevel[1], FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell[TextData[{ StyleBox["Probability of a Single Profile Generating i Outcomes\n", FontVariations->{"Underline"->True}], "\n", Cell[BoxData[ RowBox[{"(", GridBox[{ {\(No . of\ Different\ Outcomes\), "Probability"}, {"7", ".06"}, {"5", ".19"}, {"3", ".44"}, {"1", ".31"} }, GridFrame->True, RowLines->True, ColumnLines->True], ")"}]]] }], "Text", Evaluatable->False, TextAlignment->Center, TextJustification->0, FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontColor->GrayLevel[0], Background->GrayLevel[1], FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], Cell["\<\ \tThe table contains no probabilities of even numbers of outcomes ocurring \ because an even number of outcomes requires at least one tie and the \ probability of a tie vote goes to zero as the number of voters increases.\ \>", "Text"], Cell[TextData[{ "\tMany non-obvious theorems about voting follow from from the fact that \ the procedure line is linear and is bracketed by the plurality and \ anti-plurality voting systems. Some examples: If both the plurality and \ anti-plurality rankings are the same then ", StyleBox["all ", FontSlant->"Italic"], "positional vote systems give the same rankings. A single profile can give \ rise to at most 4 different strict rankings or 7 different rankings including \ rankings with ties. If a profile gives rise to an all-tied vote under ", StyleBox["any", FontSlant->"Italic"], " system then at most the profile gives rise to two different strict \ rankings. You can probably find other theorems like these simply by thinking \ about ways in which straight lines can be placed within the RTriangle. Or \ see Saari (1994) for more examples. " }], "Text", Evaluatable->False] }, Open ]], Cell[CellGroupData[{ Cell["Some Machiavellian Musings", "Section", Evaluatable->False], Cell[TextData[{ "\tA modern Machiavelli has a number of different strategies he can pursue \ in order to win an election. First, he can estimate the voter profile and \ plot the procedure line. If he is going to lose the election under the \ current electoral system perhaps there is a different electoral system under \ which he will win. Such Machiavellianism is not uncommon. In 1986, for \ example, Francois Mitterand arranged a change in the French electoral system \ in order to benefit his party. In an effort to lessen the impact of black \ voters, many cities in the American South adjusted the geographic basis of \ their electoral systems shortly after the Civil Rights Act was passed. And \ the Greek electoral system has changed in almost every election since World \ War II! \n\tA second strategy is to find a profile such that the candidate \ will win under the current electoral system and then try to move voters \ towards that profile. Suppose, for example, that we wanted to find all the \ voter profiles such that under plurality rule the outcome was ", Cell[BoxData[ \(TraditionalForm\`{ .42, .3, .28}\)]], ". This problem is easily solved using ", StyleBox["Mathematica", FontSlant->"Italic"], "'s Solve function. The function, f, is the core function underlying \ PositionalVoteTally it computes the vote tally and returns it in the form \ {C1,C2,C3}. " }], "Text", Evaluatable->False], Cell[CellGroupData[{ Cell["genericprofile={p1,p2,p3,p4,p5,p6}", "Input"], Cell[BoxData[ \(TraditionalForm\`{p1, p2, p3, p4, p5, p6}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell["sol=Solve[f[genericprofile,0]=={.42,.3,.28}]", "Input"], Cell[BoxData[ \(TraditionalForm \`Solve::"svars" \( : \ \) "Equations may not give solutions for all \"solve\" variables."\)], "Message"], Cell[BoxData[ \(TraditionalForm \`{{p1 \[Rule] \(0.420000000000000017`\[InvisibleSpace]\) - 1.`\ p2, p3 \[Rule] \(0.280000000000000035`\[InvisibleSpace]\) - 1.`\ p4, p5 \[Rule] \(0.3`\[InvisibleSpace]\) - 1.`\ p6}}\)], "Output"] }, Open ]], Cell["\<\ \tAny sol