The following is a Later no harm and Later no Help variant of Schulze STV.  
Like regular STV it either elects or excludes one candidate at a time instead 
of comparing candidate sets.  Like Schulze STV, it protects against Free 
Riding.  It requires fewer calculations than Schulze STV but it is not 
Condorcet.  

All candidates are either elected, hopeful, or excluded.  Initially all 
candidates are hopeful.  The total number of votes is V(Total).  The number of 
seats to be filled is N.  Initially, R = N.
1.       Calculate the V(H)’s and V(Hopeful) using one of the procedures 
below*. 
2.      If the vote total for the hopeful candidate with the largest vote total 
exceeds V(Hopeful)/(R+1) then go to step 3.  Otherwise go to step 4.
3.      Declare the hopeful candidate with the largest vote total elected.  If 
R=1, declare all hopeful candidates excluded and end the count.  Otherwise 
subtract 1 from R and go to step 1.
4.      Declare the candidate with the smallest vote total excluded.  If the 
number of hopeful candidates equals R then declare all hopeful candidates 
elected and end the count.  Otherwise go to step 1.

*Procedure for calculating the V(H)’s and V(Hopeful) if there are no elected 
candidates:  
V(J,H) =1 if H is the highest ranked hopeful candidate on the Jth ballot.  
V(J,H) =0 otherwise.  V(H) = Sum_J V(J,H) for each hopeful candidate, H.  
V(Hopeful) = Sum_H V(H).  

*Procedure for calculating the V(H)’s and V(Hopeful) if there are is at least 
one elected candidate:

1.      V(J,A) is the vote assigned from ballot J to elected candidate A.  
Initially V(J,A) = 1 if A is elected and is ranked higher than the highest 
ranked hopeful candidate on ballot J or if ballot J ranks no hopeful 
candidates.  Otherwise V(J,A) =0.  V(J,Hopeful) =1 if the Jth ballot ranks at 
least one hopeful candidate.  Otherwise V(J,Hopeful) =0.
2.      V(J) = sum_A V(J,A) +V(J,Hopeful).  Rescale V(J,A)  to V(J,A)/V(J) and 
V(J,Hopeful) to V(J,Hopeful)/V(J).
3.      V(A) = sum_J V(J,A).  V(Hopeful) = sum_J V(J,Hopeful).  Go to step 4 if 
V(Hopeful)  has converged.  Otherwise rescale V(J,A) to V(J,A)V(Total)/((N+1) 
V(A)) and V(J,Hopeful) to V(J,Hopeful)(R+1)V(Total)/((N+1)V(Hopeful)) and go to 
step 2.
4.      If H is the highest ranked hopeful candidate on ballot J then V(J,H) = 
V(J,Hopeful).  Otherwise V(J,H) =0.  The total vote for each hopeful candidate 
H is V(H) = Sum_J V(J,H).  By definition V(Hopeful) = Sum_H V(H).


----
Election-Methods mailing list - see http://electorama.com/em for list info

Reply via email to