[To Vote or Not To Vote: A Swarm Approach]

Multi-agent systems Philosophy Added on 19/01/2012

I’ve never voted. I am not sure why, I perhaps don't care enough. People always tell me: 'Imagine everybody would decide not to vote! You have to vote because every small opinion counts towards the final results'. I've never agreed with it, although I couldn't express why. On one hand, it seems like democracy works because decisions depend on opinions of many people, yet it seems like your own vote does not matter at all. The answer to this dilemma can be found in principles of swarm behaviour.

The main strength of biological swarms is in collective decision-making about a common action like what to hunt or where to migrate. However, swarm behaviour only works because of interactions between individuals. One single unit on its own has no impact, even if it keeps repeating its behaviour over and over. An ant can forever walk back and forth to a bad nest site if it doesn't distribute pheromone. A bee can repeatedly collect nectar from a weak flower source if it does not dance to attract other nest mates. It is not the action itself but the passing of information about one's action that results in emergent global results, which is also what makes swarms hard to engineer.

I would therefore argue that there is nothing wrong with not voting. As long as you keep it to yourself or at least don't try to persuade others to behave as you do, your decision to not vote has no impact on who will be the president or who a parliament will constitute of. The same goes for your choice of whom to vote for if you decide to. Your individual action does not matter. Only waves of your impact on others do.

{Please enable JavaScript in order to post comments}

Neural Networks and the Evolution of Cooperation

The paper investigates artificial evolution of cooperation in the Iterated Prisoner's Dilemma using a number of player implementations. Existing strategy encoding and neural network models are compared with action-discriminating neural network created during writing of this paper.

Does Communication Make a Difference?

This paper compares different animal groups from eusocial insect colonies to human society and discusses their mechanics and behaviour as agent systems. The main focus is on interaction between the agents and on how properties of a system like effectiveness or predictability are affected by these interactions.

Robot Flocking: Sensors and Control

This paper discusses various kinds of robot sensory input, approaches to motor control and ways they could be used for flocking. Focus is put on vision and Gibsonian optic flow that could be utilised by robots with advanced behaviour.


The main purpose of pyCreeper is to wrap tens of lines of python code, required to produce graphs that look good for a publication, into functions. It takes away your need to understand various quirks of matplotlib and gives you back ready-to-use and well-documented code.

Novelty detection with robots using the Grow-When-Required Neural Network

The Grow-When-Required Neural Network implementation in simulated robot experiments using the ARGoS robot simulator.

Fast Data Analysis Using C++ and Python

C++ code that processes data and makes it available to Python, significantly improving the execution speed.