Liquid Democracy

The third ’Democracy’

** Current known democratic processes

Direct Democracy

people vote for policies directly. This type of democracy only works when each of the members are informed and can estimate the impact of each policy.

similar but different Approval Voting

Representative Democracy

you choose a representative (usually someone) to decide for you. Cuts costs for informed concent, but trades off control. Also known as indirect democracy.

different democracies and their flaws

From the eyes of Aristotle, every form of democracies has their own short commings. To him, it’s rather unsmart to pick and impose which one is the best, but to analyze and what are the possible alternatives that best suits for the community is far more important.

https://www.thoughtco.com/aristotle-on-democracy-111992

飲茶. 史上最強の哲学入門 (Japanese Edition) (Kindle Locations 1497-1499).

Liquid Democracy

Democracy that you can vote for both policies and people. (Malone, Thomas W, 2018)

liquid_democracy.jpg

Example1: Deciding Breakfast

As a family we need to decide what to have for breakfast. The options are Rice or Bread.

  • Minori put 0.1 points to Yasushi and Ray to deicide, and voted directy 0.1 and 0.7 points respectively to Rice and Bread.
  • Yasushi voted 0.2 points to Minori and 0.3 points to Ray. He gave half of his vote to Rice.
  • Ray gave 0.4 points to her parents and gave the remainder for eating Bread.

Some points to consider :

  • Minori contradics. She is giving 0.1 points to rice while giving it 0.7 to bread.
  • Yasushi is the only one directly voting for Rice
  • Ray has limited knowledge and may not know how Rice tastes.
  1. Voting matrix

The Voting Matrix (\(V\)) will be:

- Minori Yasushi Ray * Rice * Bread
Minori 0.0 0.2 0.4 0.0 0.0
Yasushi 0.1 0.0 0.4 0.0 0.0
Ray 0.1 0.3 0.0 0.0 0.0
* Rice 0.1 0.5 0.0 1.0 0.0
* Bread 0.7 0.0 0.2 0.0 1.0

\[ \ \begin{bmatrix} \ 0.0 & 0.2 & 0.4 & 0.0 & 0.0 \\ \ 0.1 & 0.0 & 0.4 & 0.0 & 0.0 \\ \ 0.1 & 0.3 & 0.0 & 0.0 & 0.0 \\ \ 0.1 & 0.5 & 0.0 & 1.0 & 0.0 \\ \ 0.7 & 0.0 & 0.2 & 0.0 & 1.0 \ \end{bmatrix} \]

  1. results:
Plan Votes
Rice 1.1725
Bread 1.8275

so we have Bread this morning.

  1. influences:
Representative influence
Minori 11.0
Yasushi 4.625
Ray 3.5

Minori has the most influence for deciding breakfast.

Extention: Intermediaries

Other than delegating to humans, we can think of delegeting to categories or parties, which usually a combination of policies or delegates. For instance when deciding dinner, there might be options like Sushi, Ramen, Tacos, but I might be indifferent between the two Japanese dishes. in other words:

\[ \textrm{sushi} \sim \textrm{ramen} \succ \textrm{tacos} \]

We can express political parties if it splits the votes to the party members. Or another way to use this is deciding songs, we usually have the option to choos between songs, albums, artists, genres or eras. But this can lead to a whole new can of worms, when we can vote to vote results, since a vote result is just a intermediary that holds some weights….

python

import pandas as pd
import numpy as np

votes = {
    'alice': [],
    'bob': [],
    'charlie': [],
    'japanese': [], # equally votes to 'ramen' and 'sushi'
   'ramen': [],
    'sushi': [],
    'tacos': []
}

v = pd.DataFrame(data = votes).to_numpy()
a = np.eye(len(votes))

for i in range(100):
    a = np.dot(v, a)

submatrix = a[np.ix_(range(4,7), range(0,3))]
results = np.sum(submatrix, axis = 1)

see this in action.

Math

based on (Suzuki, Ken, 2013) pp 141-148 the book shows a situation where there is only policies and voters(or delegates), here we elaborate to incorporate intermediaries.

Given a set of voters \(X = \{x_1, \cdots, x_{|X|}\}\) and intermediaries, \(Y = \{y_1 ,\cdots , y_{|Y|}\}\), and policies \(Z = \{z_1, \cdots, z_{|Z|}\}\). The total set will be \(S = \{s_1, \cdots, s_{|X \cup Y \cup Z|}\}\). Each element \(s_i\) will have a value pointed to elements in \(\{s_j \in S\}\) this could be frankly refered as votes from other nodes (\(v_{ij}\)). this will form a voting matrix \(V\):

\begin{bmatrix} \ v_{XX} & v_{YZ} & v_{ZX} \\ \ v_{XY} & v_{YY} & v_{ZY} \\ \ v_{XZ} & v_{YZ} & v_{ZZ} \\ \end{bmatrix}

The actual matrix can also elaborated as this:

\begin{bmatrix} \ v_{x_1x_1} & \cdots & v_{x_{|X|}x_1} & v_{y_1x_1} & \cdots & v_{y_{|Y|}x_1} & v_{z_1x_1} & \cdots & v_{z_{|Z|}x_1} \\ \ \vdots & \ddots & \vdots & \vdots & \ddots & \vdots & \vdots & \ddots & \vdots \\ \ v_{x_1x_{|X|}} & \cdots & v_{x_{|X|}x_{|X|}} & v_{y_1x_{|X|}} & \cdots & v_{y_{|Y|}x_{|X|}} & v_{z_1x_{|X|}} & \cdots & v_{z_{|Z|}x_{|X|}} \\ \ v_{x_1y_1} & \cdots & v_{x_{|X|}y_1} & v_{y_1y_1} & \cdots & v_{y_{|Y|}y_1} & v_{z_1y_1} & \cdots & v_{z_{|Z|}y_1} \\ \ \vdots & \ddots & \vdots & \vdots & \ddots & \vdots & \vdots & \ddots & \vdots \\ \ v_{x_1y_{|Y|}} & \cdots & v_{x_{|X|}y_{|Y|}} & v_{y_1y_{|Y|}} & \cdots & v_{y_{|Y|}y_{|Y|}} & v_{z_1y_{|Y|}} & \cdots & v_{z_{|Z|}y_{|Y|}} \\ \ v_{x_1z_1} & \cdots & v_{x_{|X|}z_1} & v_{y_1z_1} & \cdots & v_{y_{|Y|}z_1} & v_{z_1z_1} & \cdots & v_{z_{|Z|}z_1} \\ \ \vdots & \ddots & \vdots & \vdots & \ddots & \vdots & \vdots & \ddots & \vdots \\ \ v_{x_1z_{|Z|}} & \cdots & v_{x_{|X|}z_{|Z|}} & v_{y_1z_{|Z|}} & \cdots & v_{y_{|Y|}z_{|Z|}} & v_{z_1z_{|Z|}} & \cdots & v_{z_{|Z|}z_{|Z|}} \\ \end{bmatrix}

a visual representation will be something like this:

liquid_matrix_0.png

To form this voting matrix, there will be special restrictions. Namely the rules below:

\[v_{x_ix_i} = 0 \; \textrm{where} \; i = \{1, \cdots, |X|\} \]

\[v_{y_jy_j} = 0 \; \textrm{where} \; j = \{1, \cdots, |Y|\} \]

Avoiding self voting for voters and intermediaries, and

\[v_{z_iX \cup Y}=0 \; v_{ZZ} = I\]

to ultimately collect all votes to policies.

Another visualization on the rules will be:

liquid_matrix_1.png

\[ \ A_{t+1} = V \cdot A_t \]

where the \(V\) is the voting matrix and \(A_0\) is \(I\). when \(A'\) is the result with enough recusive operations…

While this iteration, the votes will be gathered into the left bottom part of the matrix.

liquid_matrix_2.png

When I say ’converge’ this means that all votes land to this area, not forming a endless loop between voters (or intermediaries) In the case of not converging, meaning that some votes just circulate between users or intermediaries, we might want to check if the whole network is a DAG (Gupta, Anshul and Suzumura, Toyotaro, 2021).

The result will be summing up each row of that rectangle area.

\[ a_{z_j}=\sum_{i=1}^X A'_{x_iz_j} \; \textrm{for all} \; j \in Z \]

the infulence of each member can be calculated by:

// TODO rethink this part

\[ \frac{\sum_{j=1}^{H} \sum_{t=0}^{\infty} A_{ij}(t)}{\sum_{t=0}^{\infty} A_{ii}(t)} \; \textrm{for all} \; 1 \leq i \leq H \]

colab link

<2023-09-20 Wed> changed to landuses and types of housing

dao_city.jpg

can we visualise the ratio of indirectness?

how much of the vote outcome was direct? we can see that too. we preserve t=1.

References

Gupta, Anshul and Suzumura, Toyotaro (2021). Finding All Bounded-Length Simple Cycles in a Directed Graph, arXiv preprint arXiv:2105.10094.

Malone, Thomas W (2018). Superminds: The surprising power of people and computers thinking together, Little, Brown Spark.

Suzuki, Ken (2013). なめらかな社会とその敵: PICSY{\textperiodcentered} 分人民主 主義{\textperiodcentered} 構成的社会契約論, 勁草書房.

Date: 2019-07-17