From Metagovernment - Government of, by, and for all the people
Jump to: navigation, search

The Vilfredo Goes To Athens project (often referred to as "Vilfredo") starts from the research of what would happen from a mathematical point of view if we consider seriously the principle: "without consensus there is no law." It also assumes that in many case there is a possible solution out there that would generate the consensus. Sometimes key individuals (often regarded as leaders) would find this solution by speaking with the various parts. What this software is trying to do is to help the discussant by providing the showing where the key differences are. To help the people find their solutions without the need of deified leaders (which eventually can become a burden themselves). The Vilfredo website is at



As defined from the Vilfredo community itself:

VGtA is a consensus-building and decision-making tool. It's purpose is to help communities explore potential answers to pressing problems. It helps communities to focus on the answers that will work for all parties involved in the process.

Vilfredo going to Athens is a tool to find a common answer to an open question. The system works as a human based genetic algorithm, where people propose and evaluate each other's answers. It works through a cyclic procedure where proposals are written, evaluated and filtered. Each participant is invited to approve all the proposal that he answer the question (according to him). Then a limited number of those proposals will pass the filter and be accepted in the next generations. Those proposals will represent the basic elements that the users will be invited to integrate to reach a comprehensive answer.

Several academic papers have been presented describing the process. They can be found at

The system represents a testing site in which to study an alternative decision making system that could be used in e-democratic societies.

How it works

In this project a number of questions are asked. Each member can then propose their answer to each question, and vote on all the answers given. Through an algorithm a set of answers is chosen, and the members are invited to provide new answers, after being inspired from the answers that passed the selection. As such the system works as a human based genetic algorithm, that through progressive approximation tries to find a solution that is supported by the widest possible consensus. Possibly by everybody.

The algorithm that choses the answers follows the principles from an Italian Economist of the 19th century: Vilfredo Pareto. In particular it choses the answers the set of answers that are not dominated by any other answer.

The Website Algorithm

    • A question is asked, by a person from now called the "Questioner".
    • Along with the Question, the questioner also defined the timetable. Which means the minimum time, and the maximum time.
  • 1) The Question Enters the first Writing Phase.
    • Every person that is interested, and thinks that knows the answer writes the possible answer(s).
    • Cyclically the following conditions are controlled:
      • Once at least 2 answers have been written & at least "minimum time" has passed from when the first answer was written, the questioner can move on the question to the Endorsing Phase (point 2).
      • Once at least 2 answers have been written & at least "maximum time" has passed from when the first answer was written, the question automatically moves on to the Endorsing Phase (point 2).
  • 2) The Question enters the Endorsing Phase.
    • Every person that is interested in the question is presented with a list of all the possible answer. Each answer has a check box next to it, and aach person checks all the check boxes next to each answer they agree with.
    • Cyclically the following conditions are controlled:
      • Once at least 2 people have checked at least one box & at least "minimum time" has passed from when the first checkbox was checked, the questioner can move on the question to the Evaluating Phase (point 3).
      • Once at least 2 answers have been written & at least "maximum time" has passed from when the first checkbox was checked, the question automatically moves on to the Evaluating Phase (point 3).
  • 3) The Question Enters the Evaluating Phase.
    • Each question that is dominated by another question is discarded.
    • The set of answers that are not dominated by any other answer are defined as the pareto front of the generation.
    • If the pareto front of the generation has only one answer, or equivalently if there are multiple answers, but each answer has been checked by the same people (everybody who has voted), then we say that the system has found a consensus, and the system moves on to the Consensus Found Phase (point 5).
    • If there are more than one answer in the pareto front, and at least two of those answer have been checked by different sets of people, then the system moves on to the Writing Phase (point 4).
  • 4) The Question Enters the Writing Phase.
    • The answers of the pareto front of the previous Evaluating Phase are copied as possible answers.
    • Everybody is invited to:
      • Write an answer that present a workable compromise among existing answers.
      • Write an answer that integrates different answers in the pareto front.
      • Recover and integrate some answers that were lost in the selection process.
      • Write any new idea they might have had that would solve the question.
    • Every person that is interested writes the possible answer(s). There is no maximum to the number of answers that a person can write.
    • Cyclically the following conditions are controlled:
      • Once at least 1 new answer have been written & at least "minimum time" has passed from when the first answer was written, the questioner can move on the question to the Endorsing Phase (point 2).
      • Once at least 1 new answers have been written & at least "maximum time" has passed from when the first answer was written, the question automatically moves on to the Endorsing Phase (point 2).
  • 5) The Consensus Found Phase.
    • An email is sent to all the participants, explaining that the question has reached a consensus, and that is...
    • If someone does not agree with the final consensus, he or she can open it again. To open again a question a person must write a new possible answer. This makes the question moveon to the Writing Phase (point 4).
    • As long as no one opens again the question, the answer(s) found are considered to be representative of the consensus found inside the community.


The Math behind it



We define an answer A as being dominated by another answer B, if everybody who voted for A also voted for B, but the opposite is not true. In other words the set of people who voted for B is a supraset of the set of people who voted for A.

Pareto Front of Answers

We then define the pareto front of answers as the set of answers who are not dominated by any other answer. And we keep the pareto front and discard the other answers. In other words we discard all the answers that have another answer that satisfy the same people and others as well.


Let us note a few things:

  • The most popular answer is always part of the pareto front of answers (because it cannot be dominated).
  • Every person who vote only for one answer, will see that answer as being in the pareto front.
  • Every person will have at least one answer that he has voted for, in the pareto front, so each user will be represented in the pareto front.

Known Problems

The following represent some known issues that using Vilfredo seem to bring up. As for each problem we might try to find possible solutions, they might both suggest possible changes, and spark the biggest debates.

No Consensus Found

Problem: No consensus is found, and the algorithm seem to polarise the people into two or more groups. Example: What is the solution to the banking crisis?. Here the division is between people who would like a liberist position, where the market just does it thing, and people who woud rather see the government trying to solve the situation.

Possible Solutions: SOmetimes a solution to this is to "Agree to DIsagree". Where is an answer is presented which acknoledges that no single answer can be found, and that the community is divided on this. And then it includes fully both positions.

The Trivial Consensus

A consensus is found that does not really answer the question fully. Problem: Sometimes someone writes an answer which does answer partially the question, and everybody agrees on this. Example:Suppose there were no copyright laws. How would the world be different?. Note here the answer: True art would still mostly happen because true art comes from a human necessity to express some deep parts of its soul. was endorsed by everybody. And yet it did not fully answered the question. Possible Solutions:

  • A possible solution consists in opening a new question, which acknowledges the first solution as an accepted part of the solution, and asks for further solutions. An example of this is how question Which kind of business without copyright? was formed. Note the text which says: True art will not die without copyright laws (see this question). But what will happen the the publishing, music and movie industry?
  • A possible solution also is to reopen the question, possibly by writing new answers. All that include the previous answer, as part of them, and the at the endorsing phase not endorsing the original answer.

The Wall of Text

As everybody is supposed to read all the answers by everybody the length of those answers can really start to be quite big. Especially since some people write more than others. This seem to be a common problem (see wall of text) in e-government website. Mostly because most start from the idea that everybody should decide everything. We propose two different solutions. A first, rapid solution is to set up a max length of the possible answers. The questioner could decide how much. Another idea, that requires more investigation, is to set up a distributed system, where each person only evaluates some answers, but then the answer that makes it to the pareto front are evaluated more globally.

Frequently Asked Questions on Vilfredo

How does it work?

This website is part of a study in eGovernment. We are studying the possibilities of a group of people to brainstorm together the solution to a common question.

Can I ask any question I want?

This website is studied to really explore the different possible alternative answer to an open question, and find an answer endorsed by as many people as possible (theorethically everybody). As such the question should be an open question.

What is an open question?

An open question is a question whose answer is not implicit in the question. Generally open questions start with "how", "why", "what shall".

Par contro a closed question is a question where the answers are already given (implicitly or explicitly). Open questions invite the person who is answering them to think, and can bring on unexpected results. As such open questions are good educative tools, but are often feared for they give a lot of power to the person who is answering them.

What are generations?

To make sure that each answer competes with the others in a fair way we need to let everybody chose which of them to endorse at the same time, and stop at the same time. So we need to have two phases, a writing phase, where everybody can write their proposals, and an endorsing time, where everybody is allowed to endorse each other questions (and its own's as well). A writing phase followed by an endorsing phase constitute a generation

what does it mean to "ignore vs endorese"?

I don't like the idea that you rate negatively something there are many reasons why you don't want to endorse something, but if we start to divide them we become crazy and it is useless. So the axe came down quite neatly, either you support something or you do not. If you do not, I don't care if you hate it, or you just dislike it a bit. I just want to know what is that you support. The others are ignored

How many answers can I endorse?

As many as you want. In fact for the system to work well you should endorse all the answers you actually agree with. I asked a question, but now I received more than 1 answer. What does it mean?

That the system has not finished working. Those answers will be used to seed the next generations. Now everybody can read those answers, and be inspired by them, trying to find an acceptable compromise between them, that can be endorsed by both sides. When this is found the new solution will substitute the old ones

Can't you just pick the answer that is endorsed by more people? Why do you always need to make things complicated?

The fact that more people endorse an answer does not make it necessarily the best. It only means that if we were to fight, those people could impose their point of view. In this website we are trying to find an answer by considering everybody's point of view. The assumption is that there is an answer out there, and we need to find it. The assumption is not necessarly always true, but often it will be

What is the internal algorithm that defines how an answer is chosen over another?

You can find the details of the algorithm in a paper that was presented at the European Conference on Artificial Life:Using Pareto Front for a Consensus Building, Human Based, Genetic Algorithm. If you are to use it please add a reference to it as: Pietro Speroni di Fenizio, Chris Anderson, (2009) Using Pareto Front for a Consensus Building, Human Based, Genetic Algorithm Proc. European Conference on Artificial Life (ECAL 2009), LNCS, Springer, Berlin, (in print).

Why is this website called, Vilfredo goes to Athens?

Part of the theory that we used to produce the algorithm was developed by Vilfredo Pareto, an Italian Economist of the last century. Since we are using his theory to develop an e-government website, we figured out that this website would be the product of an hipothethical trip of Vilfredo to Athens' Agorà. The name is also obviously inspired by the Frankie Goes to Hollywood music band.

When does a discussion ends ?

Basically a discussion ends, when everybody is satisfied with the result, and thus does not post anything else. But why would this be the case? There are a vew possibilities, let's look at them one by one. Of course the best way for it to end is with a single result, of a proposal endorsed by everybody. If everybody agrees on the result, no one proposes anything else, and the result is considered final. Anoher possibility is when there are more than one proposal, but each proposal has been endorsed by everybody. And each proposal mean pretty much the same thing. Just rephrased in a different way. If this is the case it is possible that no one will post anything else. At this point the result is known, and what has remained to be done is to phrase it in the best possible way. Something which can be done with this tool, but probably would be better done directly with a wiki. The next possibility is when there are more proposals, and they do not mean the same thing. This tend to have the meaning that the community have found that either of those proposals, or even all of them are ok. Sometimes it is not possible to find an agreement. Eventually the discussion still will end when the people are not participating on it anymore. Once the situation is clear, the positions might reach a sort of standby where no new proposal is being written, and everybody keep on voting on the same old position. When this is the case the discussion has ended. And what you have is a picture of a divided society. Still it might be possible in future that someone might try to workout an acceptable compromise. You should always remember that it is easier to find a compromise when two person are really disagreeing on a particular issue. It can instead be impossible if is just voting for its own proposals, just to show that he does not agree with the others.

Why do I have to insert my email address?

This site requires a semi continuous interaction for each question. In the sense that after you have answered a question, you still need to endorse that question, and endorse all the other proposals that make sense to you. Then once the voting phase is over, a set of answers will be generated. At that point you can try to suggest possible new answers that permit an agreement between the existing groups. All this requires that multiple interaction, as after having voted, you need to wait for everybody else to vote as well, before going on to the next phase, etc...It is for this reason that we ask, your email address. Every time one of the question where you have recently (in the last two phases) proposed or voted goes to the next phase, you will receive a short email, with the link to the posed question. You can also require to receive updates about a question even if you haven't interacted with it yet. The button for this is in the question page, near the top.

I remember in question x, on generation y, I endorsed proposal z. But now it does not appear in the history. Why?

Because there was a bug. Unfortunately we had a bug that deleted some of the past endorsments. It never acted on the last generation, and it never changed who the winner was for a generation (as it acted AFTER the algorithm has calculated the winner). Unfortunately the result of this is that now if you look at the history of some proposals you cannot understand why some proposals won over others. Shit happens, and this is why the system is still in Alpha. Yet we have corrected the bug, and now it is not bugging us anymore. Unfortunately the data gone is gone.

What is the time frame allocated to a generation ? In other words, how long does one generation take ? Should I be checking back hourly, daily, etc. ?

It's a mystery ;-). At the current state of the art each question will move on when the questioner (the person who wrote the question), will chose to move it on. This can only be done when there are at least 2 different proposals to be endorsed or at least one person has voted. But sometimes, some users, either forget that they have asked the question, or want more people to participate, and thus let a question sit there and wait. This is acceptable from the point of view of the algorithm, but of course it means that the other users have to wait as well. To simplify the whole situation we have added automatic emails. Now every time the questioner moves on, each user who has participated in the last generation (i.e. the last voting phase, and the last endorsing phase) will receive an email, making them aware that they need to act again. Also now every time a user endorses something in a question for the first time in a generation, or writes a proposal for the first time in a generation, the questioner will receive an email. In this way the questioner never fully looses sight of the question. And will come back and move it on, when it is the right moment. We are considering making some of the moveon automatic. But it is something which can very easily be done uncorrectly, so we are proceeding very cautiously.

OK, so I just created a proposal and it says that other people have also written some proposals. Where are they? Why can't I see them?

They will appear in the endorsing phase. There are many reasons why the proposals are not shown immediately:

  • to push everybody into thinking a question over without just repeating what the first user is saying
  • to make sure that it is then possible to track down who was the first person to present a particular idea
  • To give to each user a fair possibility in writing their idea, editing it while they wait for the question to be discussed

I found a question I'm interested in, and it's in the endorsement phase. How do I make a proposal?

Essentially you lost the train and you need to wait until is back in the writing phase. But you need to make sure that you catch the next train, i.e. that the question does not go to the writing phase, and then back to the endorsing phase without you having had a chance to write your idea. You can do this by either joining during the endorsing phase, endorsing the proposals you agree with, or by activating the email update (on the top of the question page). In both cases, next time the question moves on to the writing phase you will receive an email. Of course make sure your email is correct. We might eventually permit to users to write new proposals during the endorsing phase. They will still only appear during the next endorsing phase. But it would take away some of the sense of time that comes out of this strong metronome. Also it might disempower the voting process done, as the pareto front becomes less important. So we are reluctant to do it As explained before, this system works with a very strong metronome, that makes sure that everybody is writing questions at the same time, and then endorsing the questions at the same time. By making everybody endorse all the questions at the same time, we are making sure that no question is undeservedly punished for appearing late. Each question needs to be evaluated just for its intrinsec value. For the same reason the author of the proposal is not visible at the endorsing phase, so that people are not able to just endorse something because they trust a particular user. On the other hand after the endorsing phase, in the history of a question, it's possible to see who written which question, and who endorsed which question.

What do the icons (apple, tree, etc.) represent?

Each icon means something different. Generally if you move with the mouse over the icon, it should appear a hint of what it means. Still we can review them here.

Note, the size of the image, are not in scale respect to how they are used on Vilfredo. If anyone knows how to correct this, by imposing a size over the representation on mediawiki of an external image, please correct it.

  • germinating.jpg The germinating plant means that a question is on its first generation. It has no proposals inherited from the previous round and is waiting for the first set of proposals to be written, before going to the first endorsing phase.
  • tree.jpg The tree means that a question is in its second or subsequent generation, and it has some proposals inherited from the previous generation.

flowers.jpg The flowers means that a question is ready to be voted on.

  • apple.jpg fruits.jpg The fruits mean that the question has reached some proposals endorsed by everybody. If everybody agreed on a single proposal, the apple will appear, if instead multiple answers have all been endorsed by everybody, then the multiple fruit will appear.
  • tick.jpg The Ticked Box means that the user that has logged in has acted on this question, either endorsing the proposals written, or by writing new proposals.
  • tick_empty.png Viveversa the Unticked Box means that the user has not acted so far, and is thus invited to do so.
  • email.png The little letter near a name means that the user is receiving email updates, and thus will probably keep on participating in the future. This is useful to divide between questions and proposals written by people who are likely to follow them up, and questions and proposals that will probably just be forgotten.
  • clock.jpg The clock means that the question is ready to be moved on by the questioner. The questioner can chose to move it on in any moment, although she can also chose to let it remain in the same phase for longer
  • sveglia.gif The Alarm Clock means that the question is ready to be moved on, and will automatically move on as soon as possible. This is usually at the hour.


Vilfredo is a free and open source software project licensed under GNU General Public License v3. See the source code.

External link

Future Work

There are plenty of development that should happen at Vilfredo, and plenty of ideas we are considering. Please also insert your own.

A few that should be coded hopefully not too late:

More Power to the Questioner

  • right now everybody can vote and suggest on any question. Not all group of people might like that. Also it is interesting the idea of a Vilfredo question where you have a very specific group of people who is participating. In this way it should (theoretically) be easier for the grup to reach consensus. So there should be the possibility to set up: a) who is allowed to suggest on a question, b) who is allowed to vote on a question
  • Right now it is considered that at least 2 people need to vote on a question for the answer to be valid. The quorum should be set up by the questioner.
  • right now there is only one type of rating system. It should be possible by the questioner to decide which rating system does he want to use. The possibilities being (boolean /what is right now, reoredering the answers, voting with a vote between 0-n - with n>1, continuous bar)

Better Log In

  • Confirmation of the email address. This is a no-brainer
  • Right now the people can register or log in with facebook. Also openid and twitter should be possible.

Integration with external services

  • we should set up an API so it is possible for a system to open just open a question by going to an URL.
  •  add a link to the academic paper

Cleaner User Interface

  • Right now when a question has reached consensus, it still presents the edit field for people to write a new answer. This is confusing. There should be a javascript that hides the form, unless the person officially decides to reopen the question