Activities/Kandid

< Activities
Revision as of 15:21, 15 February 2010 by Nostalghia (talk | contribs)

Kandid is a system to evolve graphical forms

You can download Kandid from http://activities.sugarlabs.org/en-US/sugar/addon/4254


Introduction

In Kandid a population consist of images looking like abstract art or patterns. These graphical forms are not drawn by hand. Instead new forms can be found using an interactive genetic algorithm.

Kandid is a combination of image rendering algorithms, genetic programming and interactive aesthetic selection. The program is missing a fitness function, a component you normally expect in an artificial genetic system. The lack of the built in fitness function is done by concept. No mathematical algorithm can decide if a graphic is meaningful for the user. The fitness function in Kandid is replaced by human aesthetic selection. In other words: The user tolds the program which images are 'cool' or never seen before.


Usage

Evolve an image population

You can start Kandid from your Home view by selecting Start new. The new image population starts with randomly generated images.

 

An other possibility is starting Kandid with an existing image population. You can load a former image population from Home view or from the journal.

 

A randomly produced image population looks mostly very dull. Its only a starting point from where the image population can be evolved in subsequent generations.

 

To evolve the new image population you must tell the program which images are interesting. There is a slider above every image. Use this slider to tell Kandid how aesthetic these images are. For an awfully bore image give 0 or 1 point. For images not to bad you can give 5 or 6 points. Your favorites needs 8 or 9 points.

 

Press the Random button and wait a few seconds. Some images will be replaced by other. You can repeat this for some rounds. Preserve interesting images by moving the slider to an value between 5 and 9 points. But the result is a little bit disappointing. Too much bore images. Finding good looking images is like finding a needle in an haystack. This is the point where evolution can help.

Press the Breed button instead of the Random button and wait a few seconds. Again images with low ratings will be replaced by new images. But there is one difference. These new images are offsprings of your favorite images. This means that the offspring genes are build from crossing over two parental genes and additionally mutating this new gene.

 

You can repeat this for a long run. Always marking the image you find most appealing with a high ranking and setting the images, that should not appear again in the next generation, with a low ranking.

 


Tweak the controls

The „Flurry rate„ in Kandid is something like the mutation rate. Offspring images will be generated by crossing over the two parent images genes and mutating the new image gene. The Flurry rate influences the amount of randomness during reproduction. If you have a low "Flurry rate" its likely that offspring images looks similar to the image with the best ranking. If your population looks to uniform increase it to create more deviations.


Collaboration

Kandid supports collaboration by publishing a complete image population or by sharing the gene of single image.

A new image population starts in private mode. To share it select 'My Neighborhood'.

 

You can invite an other buddy to Kandid. If this buddy joins, your population will be send to your friends computer. Let explain this in detail: The gene of each image is send, not a bitmap of the image. In this way your friend can evolve an independent copy of your image population. I suppose your friend has an different aesthetic feeling. And after a few generations both populations will evolve in different directions.

These separated populations can share images by sending the gene of a single image to all friends. Above all images in your population you find a pull down menu. Selecting 'Publish to my friends' will send the gene of this image it to all joined friends.

 

Image genes send from friends will be first displayed in a separate box. You find this incoming box on the left side. If you accept an incoming image, its gene will replace one of the low rated genes in your population. An other possibility is to decline or to ignore an incoming image. Here you see white and pink colored images send from a friend. Maybe he prefers bright color. It is your decision to integrate these to your 'earth tones' image population or just to ignore it.

 


Version history

v3: January 2010

  • Some new views added to Kandid:
    • Starting anew will show the 'Getting started' view.
    • The zoom view shows a selected protozoon with higher resolution.
    • The status view is for monitoring the programs internal state.
  • Scalable vector graphics (SVG) and Unicode characters will be used as stamps.

v2: December 2009

  • first public release