For developers : Mathematical descript. of the voting system

Welcome to ask or say anything about direct democracy
Use "NYTRÅD" for writing a comment. (Repeat the captcha in the field below it.)
Or "BESVARA" to make a replay.
Push "Skicka" for sending the comment.
You may register (and then change the language) from this form:

For developers : Mathematical descript. of the voting system

Inläggav Magnus Gustavsson » 2006-11-21 14.42

Mechanism details of the AD-algorithm
Each proposal has a certain accumulated support, which is represented by a any number between -1 and +1. When the voting starts, the accumulated support for the proposal is set to 0. For every day with a certain balance of votes for and against, the accumulated support grows by a constant. If there is a side switch from pro to against of vice versa, the accumulated support is set back to zero.
A vote is considered accepted or rejected when:

(Current value, called mean value in the graph) + (accumulated support) > 1 (accepted) or> -1 (rejected) (Formula corrected by Magnus G, Aktivdemokrati)

This means that many votes, in relation to the total in the electors list, for or against a proposal without majority switches gives a shorter voting period than in a very narrow field of interest (few voters).


P (a proposal)

A (accumulated support)

A* (New accumulated support today)

M (Momentary support) (the sum of all votes for yes)

M* (New momentary support today)

t (days the vote has run when calculation of A)

d (democray constant), could be set to 1, 7, 30 or 356 for pedagogic reasons Z (polulation number)

At start of the vote A and M are set to zero. This is also made every time the momentary support have passed the level of zero to the other side (switching majority).

During the continous vote the value of A is calculated once a day:

Daily Update

Between 00:00 and 02:00 each day the system runs an update on all propositions in the system that have the status in-voting.

Momentary and Accumulated Support Update

When a proposition is first created its values momentary-support* and accumulated-support* are both set to 0.

Once each day the support values for a proposition P is updated as follows:

1. Set momentary-support* to the sum of all votes on P (all who have not actively voted on P are assumed to have voted blank).
2. Increase accumulated-support* with momentary-support*. (since momentary-support* could have a negative value, this could in practice mean a decrease)

Giving formula 1:

A* = M* + A

Finish Condition Check:

In addition, we have to check if the voting on a proposition is finished. To do so we need to calculate the accumulated support (without the star). Just follow these steps:

Set the accumulated support to the accumulated-support* divided by the total number of members and the democratic-constant (which is typically 7).

This would give formula 2:

A = A* /(dxZ)

Actions for the program: When A reaches +1 or -1, the vote is over and +1 means that the proposal is approved, -1 that it's rejected. If M* have been dropping down to or under zero due to a majority switch, A is set to zero. Next day, the value of A is used again in formula 1. And so on..


Depending of the set value of d, the vote will take number of days in the relation of how many are voting out of all members of the electoral list. Basicly: For a certain amount of yes-voters in a particular proposal, P, many members and a high value for d will mean longer voting times (many days) until enough M* has been added to A making it as large as (d times Z), compared with few members and/or a small democracy constant, d.
Senast redigerad av Magnus Gustavsson 2011-12-25 18.43, redigerad totalt 1 gång.
Tänk inte 4%, det är det de etablerade partierna vill få dig att göra.
Tänk på framtiden och vad Du vill att Sverige skall vara.

Magnus Gustavsson
Medlem i partiet
Inlägg: 3111
Registrerad: 2006-01-18 00.54
Ort: Hindås

Re: More detailed description on how the AD-system should wo

Inläggav MrPerfect72 » 2008-05-17 13.45

Are you sure it is a good idea to put this text as the first text that people read? Wouldn´t it be better if this text was part of a design document for progammers only? Don´t you agree that the party program ( is better as a first thread in the english forum?

...and if you keep it high as a thread, at least have a better headline that this is for programmers and that it is a detailed description of only one part of continous voting?
Senast redigerad av jonas 2011-01-30 04.32, redigerad totalt 1 gång.
Anledning: URL changed
Inlägg: 3093
Registrerad: 2006-01-18 09.52

Re: Mathematical description on how the voting system will work

Inläggav Magnus Gustavsson » 2008-09-24 09.38

You are right Martin. Ive changed the heading.
Tänk inte 4%, det är det de etablerade partierna vill få dig att göra.
Tänk på framtiden och vad Du vill att Sverige skall vara.

Magnus Gustavsson
Medlem i partiet
Inlägg: 3111
Registrerad: 2006-01-18 00.54
Ort: Hindås

Re: For developers : Mathematical desc. of the voting system

Inläggav jonas » 2011-01-30 04.37

Here is the rest of the text from the original site that now is gone:
( )

A vote can be –1 (for a “no”), 0 (for “abstains from voting”) +1 (for yes”). At the start of the voting, everybody is considered to have voted 0 for the proposal except the proposer who automatically is considered to have vote +1. Votes can be changed at any time before the proposal is either accepted or rejected. Votes are tied to one's identity within the system, this identity itself being an avatar therefore protecting one's real identity while allowing for trust building and transparency-accountability. For general reference on voting systems a place to start is wikipedia's article on voting methods
Aktiv Demokrati byter namn till Direktdemokraterna.
Vi håller på att migrera till

Deltag i våra möten för att hjälpa till att föra partiet framåt.
Medlem i partiet
Inlägg: 3687
Registrerad: 2006-09-18 22.57
Ort: Göteborg

Återgå till International section

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 1 gäst