I tried to run your second case with six candidates for each faction (A1-A6, and B1-B6), and have 11 ballots that rate all A candidates ‘Good’ and all B candidates ‘Bad’, plus 9 ballots that rate all A candidates ‘Bad’ and all B candidates ‘Good’. The results are indeed like you said:
elected = [‘A3’, ‘A1’, ‘A6’] ejected = [‘A2’, ‘A5’, ‘B1’]
And if I make both changes (make rejections non-final and reweigh only based on support for elected candidates) I get:
elected = [‘A3’, ‘A1’, ‘B2’]
Which is closer to proportionality, but It’s hard to know with only 3 seats, so I increased it to 10 and got:
I also thought that perhaps in the first step of each round the ballots should be reweighed based only on support for elected candidates, in the second step based only on resistance to rejected candidates, and in the third step based on either both or again based only on support for elected candidates. I’ll test that next and return with results.
Either way, I think a case like this where you have two completely polarized groups is not very realistic in a place where multiple candidate/parties are elected (not a single-winner two-party system), and a voting method like this exists. Even in Israel that is very polarized and doesn’t have a system like this you still won’t get anything that looks like this ballot arrangement. But It’s still good to know what happens in edge cases, so thanks pointing this out :)
P.S, I’m putting the data for the candidates and ballots in a reply for anyone who wants to replicate the results.
I tried to run your second case with six candidates for each faction (A1-A6, and B1-B6), and have 11 ballots that rate all A candidates ‘Good’ and all B candidates ‘Bad’, plus 9 ballots that rate all A candidates ‘Bad’ and all B candidates ‘Good’. The results are indeed like you said:
And if I make both changes (make rejections non-final and reweigh only based on support for elected candidates) I get:
Which is closer to proportionality, but It’s hard to know with only 3 seats, so I increased it to 10 and got:
Which seems close to proportionality.
I also thought that perhaps in the first step of each round the ballots should be reweighed based only on support for elected candidates, in the second step based only on resistance to rejected candidates, and in the third step based on either both or again based only on support for elected candidates. I’ll test that next and return with results.
Either way, I think a case like this where you have two completely polarized groups is not very realistic in a place where multiple candidate/parties are elected (not a single-winner two-party system), and a voting method like this exists. Even in Israel that is very polarized and doesn’t have a system like this you still won’t get anything that looks like this ballot arrangement. But It’s still good to know what happens in edge cases, so thanks pointing this out :)
P.S, I’m putting the data for the candidates and ballots in a reply for anyone who wants to replicate the results.
candidates = {‘A1’: [0, 0, 0], ‘A2’: [0, 0, 0], ‘A3’: [0, 0, 0], ‘A4’: [0, 0, 0], ‘A5’: [0, 0, 0], ‘A6’: [0, 0, 0],
‘B1’: [0, 0, 0], ‘B2’: [0, 0, 0], ‘B3’: [0, 0, 0], ‘B4’: [0, 0, 0], ‘B5’: [0, 0, 0], ‘B6’: [0, 0, 0]
}
ballots = [
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 2, ‘A2’: 2, ‘A3’: 2, ‘A4’: 2, ‘A5’: 2, ‘A6’: 2, ‘B1’: 0, ‘B2’: 0, ‘B3’: 0, ‘B4’: 0, ‘B5’: 0, ‘B6’: 0}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
[1, {‘A1’: 0, ‘A2’: 0, ‘A3’: 2, ‘A4’: 0, ‘A5’: 0, ‘A6’: 0, ‘B1’: 2, ‘B2’: 2, ‘B3’: 2, ‘B4’: 2, ‘B5’: 2, ‘B6’: 2}],
]