[EM] Implementing Practical Democracy with Votorola

Michael Allan mike at zelea.com
Sat Mar 21 16:07:32 PDT 2009

Fred Gohlke wrote:
> I fear you're several steps ahead of me.  I'm still struggling to reason my 
> way through the human relationships inherent in a selection process like 
> Practical Democracy.  So far, although I've visited the links you provided, 
> I haven't been able to internalize the material.

No problem, I can demonstrate.  See below.

> re: "I missed your specification of vote shifting.  In which post
>      was it?"
> Members of triads are under no compulsion to select either of their peers.  
> They may choose as they see fit.

However, they may not re-choose.  (Vote shifting is not part of your
method, so Votorola would have to be restrained in this regard.)

> The more I read your post, the more I think we're talking at cross
> purposes.  I keep thinking we're critiquing the concept of Practical
> Democracy, but you seem to be talking about how that concept can be
> integrated with your software.  Although I've visited your site, I
> haven't been able, so far, to get a good handle on what I've
> read. Could we start by discussing the purpose of the software, and
> then, later, how the software helps achieve that purpose?

The general purpose is decision making in the public sphere.  But
Votorola is suitable, in particular, to support Practical Democracy
(PD).  This is what I am suggesting.

I can demonstrate.  (You may need to switch to a fixed width font, in
order to see the diagrams below.)

   (A) (B) (C) (D) (E) (F) (G) (H) (I) (J) (K) (L) (M) (N) (O) (P) (Q) (R)
    |  /    |  /    |  /    |  /    |  /    |  /    |  /    |  /    |  /
    | /     | /     | /     | /     | /     | /     | /     | /     | /
    |/      |/      |/      |/      |/      |/      |/      |/      |/
   (S)     (T)     (Y)     (U)     (V)     (Z)     (W)     (X)     (AA)

   (S)     (T)             (U)     (V)             (W)     (X)
    |      /                |      /                |      /
    |  ---                  |  ---                  |  ---
    |/                      |/                      |/
   (Y)                     (Z)                     (AA)

   (Y)                     (Z)
    |                      /
    |  -------------------

   FIG 1.  The structure of a small PD decision.  27 electors are
   formed into 9 triads at the first level.  Thence 9 candidates are
   chosen for the second level.  Thence 3 are chosen for the third
   level (Y, Z, AA).  Thence the winner (AA).

I ran the above election on one of Votorola's test servers.  I
scripted 27 simulated voters ^[1].  Each voter registered herself and
then cast a vote (or not) according to the pattern of figure 1.  The
results are shown here:


  (This is just a test server for Toronto.  You can click around, and
   even cast votes.  But bear in mind, it's only an alpha prototype.)

As you can see from the above page, the same decision was reached as
in figure 1.  AA has won the election by unanimous assent.  If you
follow her supporting votes backward, they trace out the structure of
a tree, as shown in figure 2.  (The two figures are essentially the
same, except the second is drawn contiguously.)

   (A) (B) (C) (D) (E) (F) (G) (H) (I) (J) (K) (L) (M) (N) (O) (P) (Q) (R)
    |  /    |  /    |  /    |  /    |  /    |  /    |  /    |  /    |  /
    | /     | /     | /     | /     | /     | /     | /     | /     | /
    |/      |/      |/      |/      |/      |/      |/      |/      |/
   (S)     (T)      /      (U)     (V)      /      (W)     (X)      /
    |      /       /        |      /       /        |      /       /
    |  -----------          |  -----------          |  -----------
    |/                      |/                      |/
   (Y)                     (Z)                      /
    |                      /                       /
    |  -------------------------------------------

   FIG 2.  The decision as expressed in a delegate cascade.

Here is a narrower view of the results, from the perspective of a
single voter.  This shows the trace of C's vote, along the path (C, T,
Y, AA).


This page also enables C to shift her vote.  So this is where Votorola
would need to be restrained, for purposes of PD.  Otherwise C might do
something wild and crazy, like this:

   (A) (B)     (D) (E) (F)
    |  /       /    |  /
    | /       /     | /
    |/       /      |/
   (S)     (T)      /
    |      /       /
    |  -----------
    |  -----------------

   FIG 3.  C shifts her vote from T to B.

Votorola is perfectly happy with that, and so am I.  But you might not
be.  Such shifts might occur without regard to the current stage of
the PD decision process, messing it up; or they might transform it
into an indefinite process, that just keeps running, on and on.  Worse
still, the voters might ignore the triad boundaries, and thus create
groups of non-standard size.  C's vote shift in figure 3, for
instance, has created two pairs (C, B) and (D, T) in place of the
standard monad (B) and triad (C, D, T).

So although Votorola can implement PD (as I demonstrate here), it
doesn't have the structure to enforce it.  The missing structure would
have to be added, either internally to the code, or externally to the
environment.  (Code modification seems the easier choice, as it would
involve little more than discounting any vote that breaks a rule.  So
C's vote would become the equivalent of an abstension.  She would be
informed of this on casting it, and might then correct it.)

Anyhow, there it is.  Votorola also has electoral districts and voter
authentication, and it comes with a growing collection of user
interfaces.  Soon it will have an interface to drafting media for the
purpose of legislative voting.  And it's free and open.  (If you come
across any other software that can do this stuff, please let me know.
I keep track of these things.)

[1] The voter simulation script is:

Michael Allan

Toronto, 647-436-4521

More information about the Election-Methods mailing list