Page 1 of 1
Short Circuit Voting
Posted: Tue Sep 02, 2014 7:58 am
by DGDanforth
Taking Josef's lead of 'stable' vote I suggest we use the phrase 'short circuit vote' in exactly
the same sense as is used with the evaluation of BOOLEAN expressions.
I find it fun and instructive to write pseudo code about these social matters that actually compiles.
Here briefly is my interpretation of the current desired way of voting augmented with short circuiting
Code: Select all
MODULE BBChairShortCircuit;
IMPORT
Services;
VAR
T: LONGINT; (*Termination time of vote*)
Q: INTEGER; (*Quorum number*)
q: INTEGER; (*Number of members who have voted*)
dB: INTEGER; (*Excess of Best score over the next runner up (not including abstain*)
M: INTEGER; (*Missing members who have not yet voted*)
(*
*)
PROCEDURE ShortCircuitVote* (VAR o: INTEGER): BOOLEAN;
VAR time: LONGINT;
BEGIN
time := Services.Ticks();
WHILE time < T DO
IF (M < dB) OR (Q<=q) THEN
(* o := Option(B); option that wins the vote*)
RETURN TRUE
END;
time := Services.Ticks();
END;
RETURN FALSE
END ShortCircuitVote;
END BBChairShortCircuit.
In words, a vote is started and continues until the time T is reached OR until either the excess of the best score dB over the next runner up exceeds the number of missing votes OR until the quorum is reached. The option with the best (largest number of votes) is the result of the poll. If none of the above then the measure voted on fails.
With that understanding a vote of 2 YES, 0 NO, 9 ABSTAIN would be considered valid and 'YES' for the measure would be the result of the vote.
So, I capitulate to the will of the people and abandon my effort to use the MajorityRule.
Comments
Re: Short Circuit Voting
Posted: Tue Sep 02, 2014 8:27 am
by Josef Templ
> OR until the quorum is reached.
As I pointed out earlier, it is a fundamental mistake to close a poll when the quorum is reached.
This OR must be eliminated.
Why?
If I know that I have for example a voting time of one week, I must be able to decide
to cast my vote on the first day of that week or on the last day, perhaps because
I need some time to evaluate the issue more closely until I cast my vote.
If the poll is closed without a stable result before the week expires,
I have no chance to cast my vote although it might change the result
of the poll. This rule is unfair and may lead to wrong results.
The quorum rule must only be used for validating the poll after the poll
time has expired.
An analysis of the last polls shows that if the generalized short-circuit rule is used, polls can be closed
before the end of the polling period anyway without running into the above mentioned
unfair situation.
- Josef
Re: Short Circuit Voting
Posted: Tue Sep 02, 2014 9:06 am
by DGDanforth
Ok,
How about this
Code: Select all
PROCEDURE ShortCircuitVote* (VAR o: INTEGER): BOOLEAN;
VAR time: LONGINT; flag: BOOLEAN;
BEGIN
time := Services.Ticks();
WHILE (time < T) & (dB <= M) DO time := Services.Ticks() END;
flag := (M < dB) OR (Q<=q);
IF flag THEN (* o := Option(B); option that wins the vote*) END;
RETURN flag
END ShortCircuitVote;
If we short circuit then ..
if the voting time has elapsed and a quorum was reached then ..
Re: Short Circuit Voting
Posted: Tue Sep 02, 2014 9:06 am
by ReneK
I agree with Josef on the quorum thing.
If abstain is seen as described by Doug, I'd be for a mandatory "none of the above" on all measures.
Re: Short Circuit Voting
Posted: Tue Sep 02, 2014 9:13 am
by DGDanforth
ReneK wrote:I agree with Josef on the quorum thing.
If abstain is seen as described by Doug, I'd be for a mandatory "none of the above" on all measures.
I've changed my tune about abstain. It is now as you all are using it.
The result of a poll that either short circuits or runs it allotted time (and a quorum was reached) is based on the largest score over all of the options (not including abstain).
*If there is a tie for the largest score then .... flip a coin?
Re: Short Circuit Voting
Posted: Tue Sep 02, 2014 11:52 am
by Josef Templ
ReneK wrote:
If abstain is seen as described by Doug, I'd be for a mandatory "none of the above" on all measures.
adding a mandatory "none of the above" seems reasonable at a first glance.
However, when the poll already contains an exhaustive list of alternatives it does not give sense.
This happens in particular when the poll is about a binary decision and there exist options 'yes' and 'no'.
Of course, it can be ignored, but it looks and in fact it is ridiculous in such cases.
For non-exhaustive lists of options I would support that rule.
An example where it was missing is
http://forum.blackboxframework.org/view ... p?f=4&t=91.
An example where it already has been applied is
http://forum.blackboxframework.org/view ... p?f=4&t=90.
An example where it does not give sense is
http://forum.blackboxframework.org/view ... ?f=4&t=121.
An example where it has been added for formalistic reasons is
http://forum.blackboxframework.org/view ... p?f=4&t=63.
- Josef
Re: Short Circuit Voting
Posted: Tue Sep 02, 2014 10:23 pm
by DGDanforth
Slight rewrite for clarity
Code: Select all
PROCEDURE ShortCircuitVote* (VAR option: INTEGER): BOOLEAN;
VAR time: LONGINT; flag: BOOLEAN;
BEGIN
WHILE (time < cutOff) & ~Short(count) DO IncrementTime(time) END;
flag := Short(count) OR Quorum(count);
IF flag THEN option := Option(count) END; (*option that wins the vote*)
RETURN flag
END ShortCircuitVote;
I propose that the 'first maximum' be the choice of a vote (after abstain which should come first)
Hence if the options are
ABSTAIN
YES
NO
and YES and NO have equal counts then YES would be the result of the vote. If, however, the options are
ABSTAIN
NO
YES
then NO would be chosen in the case of a tie.
-Doug
Re: Short Circuit Voting
Posted: Tue Sep 02, 2014 11:07 pm
by DGDanforth
By the way, I found the word spread to be most useful both in determining Short() and in determining Option().
Short() succeeds if the spread is greater than the missing.
Option() returns the first option with the maximum score.
Alternatively flag := Option(option, count) could be used to return FALSE if the spread is 0.
Re: Short Circuit Voting
Posted: Tue Sep 09, 2014 8:00 pm
by Ivan Denisov
The results of voting should be fixed here:
http://wiki.blackboxframework.org/index ... overned.3F
Can I close this topic?
Re: Short Circuit Voting
Posted: Tue Sep 09, 2014 8:32 pm
by DGDanforth