[EM] Proportional hierarchy

Rob Lanphier robla at robla.net
Wed Aug 23 18:55:51 PDT 2006


Hi all,

I've been mulling over an idea for a while, and I've finally taken the
time to write it down.

The problem that inspired me to think about this is my casual
involvement at Daily Kos, which is a popular political discussion
site.  I find the sheer number of diaries and comments positively
overwhelming.  What's more, there doesn't seem to be much incentive
for people to form subgroups of specific interest, other than the
tagging system and a general consensus that one should band together
with locals.

I've thought about how the problem applies on the EM mailing list.
There seems to be several different major schools of thought, with
clusters around Condorcet-compliant methods, Range/Approval, IRV,
maybe a smattering of people who still prefer plurality, and some that
prefer more baroque mechanisms.  However, the volume on this list,
while sometimes heavy, is still within the bounds of what an
interested reader could keep up with (though I personally haven't).
Moreover, any fancy mechanisms are much harder to implement on a
mailing list than on online forums.  We just don't have a problem that
would warrent any complicated solutions, though maybe it'd be fun to
experiment anyway.

Larger communities like Daily Kos have this scaling problem in spades.
I suspect a lot of great thinking gets missed because of the shear
volume.  What's more, the strategy seems to be "write more, eventually
someone will notice", rather than form groups to /concisely/ promote a
shared agenda.  Moreover, there's things that you just don't say over
there, for fear of getting "cast off the island" (anything that isn't
rabidly anti-Nader is "troll rated", meaning it won't stay on the site
for long).  Get troll rated too many times, and you can't even post.

Slashdot (http://slashdot.org) has a some interesting filtering
mechanisms, where one can say "give me all of the comments rated 5 and
higher".  However, how they arrive at those ratings is sorta mediocre.
One can get a high rating simply by having only something moderately
interesting to say, but doing it quickly.  I've found getting a "5" on
Slashdot has much more to do with timing than with the thought I've
put into my work.

My solution would be to come up with a hierarchical filtering
mechanism, where all users are placed (via election method described
below) in small groups of 6-10 people.  The leaders of each of these
groups would themselves be members of small groups, up to the top of
the hierarchy. Members of each group see all posts by all other
members.  Either the leader or a majority of the group can then vote
to promote items to a higher tier.

Users can then set how many tiers of comment traffic they want to see.
Everything from "only top tier" (plus my group) down to "everything
everyone posts".  Perhaps a user may be interested in filtering out
everything from a particular subgroup.  Given the detailed structure
that would emerge, there'd potentially be a pretty rich mechanism for
filtering out the riffraff, while at the same time potentially getting
the "best of" certain perspectives.

The interesting part about this system would be that it would
potentially be a way to allow multiple viewpoints to co-exist on the
same posting infrastructure.  In addition to accomodating those that
are only interested in hearing their own viewpoint reinforced, it
would potentially allow for some great debates at the top tier.

The key part of the system is the idea that everybody has a place
among a small group of peers.  The load of reading all of the comments
is distributed by design.  Group leaders have incentive to read and
promote comments from those below them, because that's how they become
even more popular (and move to the next tier).  However, they also
have incentive to ensure that they aren't promoting everything,
because that could negatively affect their popularity.

So, with all of that out of the way, here's the method I've come up with.
----
Method involves creating a hierarchical structure of workgroups, each
of which has between 5 and 9 members.

Vote every three months (with a persistant ballot that optionally
lasts one year).

The tier 1 leader is chosen by Schulze(wv) (or other suitable single
winner system, preferably one that is good at taking ranked/rated
ballots and chosing a negotiated winner).  The tier 1 members are
chosen using proportional representation.

The members of tier 1 are also leaders of groups in tier 2.  The
same holds true for members of tier n; they are leaders of tier n+1.

The members get distributed in the hierarchy as follows:

1.  The membership of the tier n+1 (and beyond) members is first
    divided up and allocated as "constituants" amongst tier n, based on
    which tier n winner is ranked highest on that persons ballot.

2.  Each tier n member (tier n+1 leader) is evaluated, in order of
    number of constituant ballots which they are ranked highest
    compared to other tier n members.

2a. Does this member have more than their quota of allocated
    constituants?  If so, go to step 2b.  If not, continue to the next
    member (repeat step 2).

2b. The ballot of the tier n+1 leader is inspected in order of
    ranking.  Each constituant that appears on the leader's ballot
    remains as a constituant, until either the quota is filled or the
    ballot is exhausted.  If a group of constituants being evaluated
    is ranked equally on the leader ballot, and retaining all of those
    constituants would put that leader over quota, then none of those
    constituants are retained. If the quota is filled, skip to step
    2d.

2c. The remaining constituants are retained by one of the following methods:
    i.  successive acceptance of Condorcet winner
    ii.  by lot
    iii.  other reproduceable but possibly arbitrary metric (e.g. seniority)
    (I'm not sure what makes the most sense here.  This is complicated
    enough that something reproducable is probably preferable to randomness)

2d. The remaining constituants are distributed to the other leaders,
    as in step #1.  Repeat step 2 until all constituants are divided.

3.  Repeat the process for the next tier


Quotas:

If there are n tiers, then a minimum quota per group applies only to
tier n-1.  Maximum quota applies for all tiers.

My current thinking is that the quota should be set to a minimum of
five members plus one leader in a group, with a maximum of nine
members plus the leader, where the algorithm for setting the quota
should optimize for the minimum rather than the maximum.  However, you
always want to ensure that tier n+1 has more members than tier n.

So, an example of how it would work:

6 members = 1 leader, with one group of 5
10 members = 1 leader, with one group of 9
11 members = 1 tier one leader, 
             5 tier one members,
             5 tier two members, divided into up to 5 groups (quota 5)
31 members = 1 tier one leader, 
             5 tier one members,
             25 tier two members, divided into 5 groups (quota 5)
32 members = 1 tier one leader, 
             5 tier one members,
             26 tier two members, divided into 5 groups (quota 6)
91 members = 1 tier one leader, 
             9 tier one members,
             81 tier two members, divided into 9 groups (quota 9)
92 members = 1 tier one leader, 
             5 tier one members,
             25 tier two members, divided into 5 groups (quota 5)
             61 tier three members, divided into up to 25 groups (quota 5)

That's the basic idea.  It seems rather B-Tree like, but I'm not sure
the exact algorithm for determining the group quotas based on the
the number of members and the min and max group size.

Anyway, I'm interested in hearing thoughts on this.

Rob






More information about the Election-Methods mailing list