Human Based Genetic Algorithm

Alexander Kosorukoff


Genetic algorithms (GA) are search procedures learned from Nature and based on mechanics of natural selection and genetics. In this paper a new kind of GA is presented. It organizes individuals and uses their ability to perform intelligent crossover and selection operators on existing knowledge. Genetic algorithms that use human judgment to evaluate solutions are known as interactive genetic algorithms. There are many implementations of them to generate abstract images and music. Usually, the evolutionary program performs there the role of creator, confining a human to the role of critic. On the other hand, I believe that humans naturally prefer to be creators rather than critics. That was the motivation to devise a Human Based GA, that allows and encourages humans to take part in both roles. It is called human based genetic algorithm (HBGA) since all basic genetic operators are performed with the help of people. The algorithm processes strings of natural language and organizes knowledge flows within a community of individuals for the purpose of collaborative evolutionary problem solving, boosting innovation and creativity inside the community.


This paper contains description of Human Based Genetic Algorithm (HBGA), its relationship with other known types of evolutionary computation and creativity techniques, the results of its usage for the purpose of collaborative web-based problem solving, and conclusions about using genetic algorithms as engines of innovation and creativity in corporations and non-profit organizations.

The paper is organized into the following parts: overview of related work, general description of organizational evolutionary methods including HBGA and its web application, results and conclusions.


Every new idea is a recombination of existing ideas. This simple principle is very important both for functionality of HBGA and for understanding of it. In this part we will try to identify some of the ideas that were the building blocks of HBGA, and try to analyse their relative importance.

Research related to HBGA can be divided into two general areas:

  1. Evolutionary computation (genetic algorithms and interactive genetic algorithms)
  2. Knowledge management (creativity techniques, brainstorming, ideas banks)

We will review research in these areas and will try to locate the place of HBGA there.

Evolutionary computation

Small introduction to genetic algorithms

Genetic algorithm (GA) is a search procedure made after the principles of natural life. It is the main and very important result of bionics approach, trying to learn from Nature, discovering and using the technologies that Nature found before us through years of evolution. GA employs diversity, variability and selection in search for better solutions.

The idea of genetic algorithm is to predict what areas of search space are more interesting for exploration, and explore them first. The predictions are really a number of successive guesses exploring similarities found among the best of already found solutions, no matter if they are uncomplete or not good enough. In short, the idea is to learn from the best.

This general idea is implemented as a very simple procedure, described very well in [Goldberg, 1989]. It uses population of binary strings of fixed length, very simple operators of mutation, crossover and selection, and achieves surprising results given its simplicity. It employs only three basic operators over population of prospective solutions. The mutation operator makes small random changes in the strings. The crossover operator exchanges information among these binary strings, cutting them at random place and swapping their right parts. The selection operator gives more copies to the better strings. This simplicity makes genetic algorithms especially attractive for many people.

The described procedure is very stable with respect to modifications and programming bugs, so it usually works even if programmed incorrectly and despite of most bugs it might have. The solutions it yields also possess this distinguishable quality of stability or resistance to minor changes and modifications.

This kind of stability to changes, in some extent, contributed also to the complexity of the field of evolutionary computation (EC). You can easily implement many variations of GA and most of them will work. That is why it is easy to get lost in the huge number of diverse implementations in the absence of agreed standards of measuring their performance.

The number of applications of GA is at least as diverse as the number of implementations. Genetic algorithms were successfully applied to many diverse tasks and proved to be a nice combination of generality and efficiency for global search, optimization, and problem solving.

Interactive genetic algorithms (IGA)

Probably the first IGAs appeared as a result of attempts to apply evolutionary computation techniques to artistic domains. It was unclear how to define fitness functions there, and IGAs solved this problem by relying on a human evaluator to provide a subjective fitness for each individual.

The main feature of an IGA is its interactive human interface, presenting the user with individuals from the current population to evaluate them. Individuals can be presented at once, like graphic images, so that an entire population can be viewed [Dawkins, 1989]), or consecutively, like fragments of music [Biles, 1994].

The process of interactive evolution can be considered a system for helping the user with creative explorations, or it might be considered a system that attempts to "learn" about human aesthetics from the user. In either case it allows the user and computer to work together interactively in a new way to produce results that could not be produced by either [Moroni, 2000]. Nice review of interactive genetic algorithm applications can be found in [Takagi, 1998].

IGA allowed us to address problems with no formal model developed, like beauty, harmony, creativity. They also showed that some part of the functions of a genetic algorithm can be taken and delegated to an outside agent. That allow us to see GA from a different perspective: as a process of information management. This viewpoint led to the development of human based genetic algorithm (HBGA), which idea was also simple: if we can delegate function of evaluation to an outside agent, why can't we delegate the other functions in the same way?

What will be the GA then, after we delegate all its functions to outside agents? That is an important question and it allows us to understand another function of GA that was left unnoticed earlier: information flow management/organization.

We will postpone discussion of this, because we need to finish our overview of building blocks of HBGA before proceeding to description of it.

Knowledge management (KM)

Knowledge allows us to create value of our assets. From the other hand the knowledge is itself an asset. So knowledge management is the knowledge of using knowledge. This recursive definition helps little, because is not so easy to understand it. Peter Drucker, main proponent of KM wrote: "Knowledge is being applied to knowledge itself. It is now fast becoming the one factor in production, sidelining both capital and labour."

Concepts are best defined from how people use them. Let us try to define knowledge management by looking at what people are doing in this area.

  1. Knowledge acquisition (gaining - external, creation - internal)
  2. Knowledge handling (representation, storing, classification, measurement, transfer, and sharing - methods of KM)
  3. Knowledge application (the goal of KM)

Knowledge management is omnipresent, but it attracted the attention of researchers and businesses fairly recently. Good example of knowledge management is economics: it shows how to acquire, handle and use the knowledge about the rarity of things we use.

In this section we will concentrate more on methods of knowledge acquisition, especially knowledge creation, and try to analyse them from evolutionary point of view.

Random creativity techniques

There are several techniques for inspiring creative exploration of solution space. Most of their names start with word 'random': random word, random heuristic (false rule), random picture, random sound, etc.

Random Word technique is the most simple technique where you use a random word to generate new associations, which finally lead you to new ideas. By getting a random word and thinking how you can use it to solve your problem you are practically guaranteed to attack the problem from a different direction from that you would normally.

Heuristic is a rule that can be true with some probability. It can be quote, idea or suggestion which meant to be applied beyond its normal area of its applicability, so any rule can be thought as heuristic. We use heuristics as a tips for generating new ideas, trying to apply/adapt rules from other fields to our problems. The rule is usually false, because situation is different. Considering application of heuristic to your situation, you find yourself thinking about doing things in a different way than you would normally. NLP literature contains many heuristics. Probably the most famous one: "If what you are doing is not working, try something different." This is based on the axiom, "If you always do what you've always done, you'll always get what you've always gotten" [Bandler, 1982].

Random techniques can be classified by modality of association (Verbal, Visual, Audial, Kinesthetic) and content size:

of association
Content size
VerbalRandom wordRandom heuristicRandom article
VisualRandom colorRandom drawingRandom picture
AudialRandom soundVoiceMusic
KinestheticRandom perception: touch & feelDance, playing an instrument, showering, running, gardening

Also many hybrids and combinations are possible: random website, movie, or TV program.

All of these techniques require to make association of the problem with random object, and try to explore solutions/principles from the area associated with that random object and apply/adapt them to the target problem area. Effectiveness of them depends on representative system of individual. Random stimulus changes context of problem and sometimes shifts modality of perception. As a result, new interpretations appear which can be better than the original ones. From the point of evolutionary computation application of random technique can be viewed as a mutation, because it changes some part of the context randomly. The effect of this kind of mutation can be small when content size of stimulus is small. It can be big for stimuli with big content, so it can be viewed as a domain transfer from another unrelated area.


Brainstorming can be viewed as a development of random creativity techniques, but here ideas of other people used as a main essentially non-random stimulus. Sometimes random creativity techniques are also used in the process of brainstorming, but they have only auxiliary function.

The basic concepts of brainstorming were developed in the late 1930s by Alex Osborn. Very briefly, brainstorming involves at least four principles:

  1. There's no such thing as a bad idea.
  2. The free expression of all ideas is encouraged.
  3. Seek quantity rather than quality of ideas.
  4. Encourage and build upon the ideas of everyone in the group.

Many variations of brainstorming have been built upon Osborn's work and his basic principles. These include additional procedures, games, tools, and technology used to stimulate the people involved in brainstorming sessions.

The field of Computer-Assisted Brainstorming (CAB) started in 1984 by Seth Hollander who described in his MS thesis "an interactive computer program designed to enhance creative thinking." Just one year later, in 1985, such a program, "The Idea Generator," for which Hollander's thesis served as a blueprint was created.

CAB presents the following advantages:

  1. Asynchronous brainstorming: participants don't have to present at a certain place and time
  2. Avoiding mental blocks
  3. Ability to stop and resume at any time and place.
  4. Easy computerized note-taking and reporting

Solo-brainstorming became very efficient because of CAB, that is why many writers like to use computers. The text you are reading now is a product of solo-brainstorming. This kind of brainstorming uses previous selected ideas of the same person on particular topic as a stimuli. Since the state of the person changes with time as a result of communication with other people and environment, one can perceive his own ideas differently after some time. That makes this crossover of previous and new ideas possible, easy fixation and later revision of them in computer makes it extremely efficient. Idea processor software is devised to facilitate this process, like Axon Idea Processor.

Peter Lloyd [Lloyd, 2000] introduced a special word "brainlining" for this that combines the words "brainstorming" and "online." Brainlining combines advantages of CAB with advantages of Internet: its freedom, democracy and numerous population. Participants tend to participate more freely. They can enter ideas simultaneously. All ideas are visible, everybody can see every idea, and all ideas are recorded and available to all participants. That is why brainlining is extremely efficient.

From the point of evolutionary computation brainstorming method can be thought as intelligent crossover of solutions. We distinguish it from random domain mutation and random domain transfer described in the previous section, because it happens only between ideas for particular problem, that makes it essentially non-random. Principles of brainstorming suppress any selection of ideas, usually taking place in the form of judgment. The Computer Aided Brainstorming implies a change of genotype representation, shift of modality from audial to primarily visual, with more efficient use of communication media. Online brainstorming explores effect of diversity. The Internet provides it with the most diverse, intelligent, and unique ideas imaginable. The more diverse and exotic, the greater the chances of collision of unrelated ideas, resulting in a winning combination.

Ideas banks

The main function of bank is storage of assets. Despite the same name as known financial institution, ideas banks perform essentially different function. The Global Ideas Bank is a project of Institute of Social Innovations and New Civilization Network. The idea behind the bank is to collect socially innovative non-technological ideas and evaluate them, awarding 1,000 UK sterling annually for the best ideas submitted. Ideas are classified into groups according to their subject. Idea can be posted by author or any person in behalf of author. People can post comments to ideas and rate them on scale from 0 (bad idea) to 10 (great idea). Evaluation of idea is calculated as an average of evaluations given by several people (e.g.. rated 77% by 48 people).

Ideas bank can be thought as a population of ideas with selection implemented. Initially selection was performed by editors, now there is a tendency to replace it with selection by visitors of the website [Eaton, 1997]. This not only reflects popular trend to democracy, but also very rational from the point of view of better classification. Research show that democratic structure of classification and decision making has significant advantage in comparison with autocratic hierarchical structure according to the error of classification [Kosorukoff, 1995; Kosorukoff, 2000].

Another approach based on selection of ideas is TRIZ [Altshuller, 1946]. TRIZ is Russian acronim for theory of inventiveness and problem solving. It began with the hypothesis that there are universal principles of invention, and that if these principles could be identified and codified, people can be taught to apply them systematically. Over 2 million patents have been examined, classified and analyzed to look for principles of innovation. The principles were classified according to the type of problem they solve, so faced with particular kind of problem, person should be able to find corresponding principles (heuristics) and try to apply them.

The main function of methods described in this section is classification and selection. Their weakness is that the process of selection alone is too systematic and predictable, not like creativity as we know it.


In this part we had reviewed research and projects related to HBGA: basic evolutionary computation methods and basic creativity techniques of knowledge management. We had reviewed the latter from the point of view of the former and found that knowledge management techniques have close analogies in evolutionary computation. Random creativity techniques use mutation based random search; brainstorming techniques use recombination of ideas; ideas banks use selection of ideas. These are main operations of simple genetic algorithm used separately. It is known from experience with genetic algorithms that these operations separately doesn't work as well as in combination. Human Based Genetic Algorithm described here is one particular combination of them. It will be described in the next part.

General description of organizational evolutionary methods

The world is ruled by letting things take their course.
It cannot be ruled by interfering.
-- Lao Tsu

In this part we will discuss the genetic algorithms that delegate their usual functions to external agents, and perform only organizational function themselves. HBGA is one example of them, performing only knowledge flow management between humans. Agents should not be necessarily human. IGA is an example of cooperation of human selection agent and computational recombination agent. We can easily imagine the procedure where the roles are exactly the opposite. It happens in computer aided design (CAD), when human generates new solution with intelligent crossover or transfer of technologies from one area to another, and computational modeling technique gives evaluation of how the model will behave. When our external agents are all computational, we get coarse-grained parallel genetic algorithm [Cantu-Paz, 1997]. Organizational GA can communicate with external physical object, receiving its responses and treating them as a feedback, like we communicate with a car when driving it. Finally it can communicate with environment which can be thought as a set of external physical objects. In all these cases the delegation of functions and resulting division of labor and cooperation between human, computational and/or physical agents are the main distinguishing feature.

General class of organizational evolutionary methods
Selection agent

Recombination agent
ComputationalPGAIGAGA-based controllers
PhysicalDatamining applicationsArtificial selection,
(ideas from Nature)

The order of columns reflects the cost of performing selection function. Computation modeling is usually the cheapest way to evaluate solutions if it is applicable, human evaluation is more expensive, and real world experimenting is the most expensive way to test the solution.

Delegation of duties and division of labor are the terms from business management and economics. The economics analogy helps to explain why certain tasks fit into certain cells of this table. Apparently this is a consequence of alternative costs of performing these functions by different agents. Computers, humans and physical processes are very different. You can notice easily, that in the areas where humans significantly outperform computers in evaluation we have many applications of interactive genetic algorithms, in the areas good described by mathematical models, human evaluation loose in competition with computer modeling. Emergence of new technologies can shuffle the tasks across this table, since it leads to changes in the relative advantages.

Although it is not quite apparent from this table, HBGA also uses division of labor between participants: between people who are better at evaluation and people who are better in combinatorial thinking.

We will see that there are many analogies between economics and organizational management from one side, and evolutionary computation from the other side. HBGA uses division of labor, enrichment of work place, motivational system like many companies in industry do. The analogy goes both ways: if we undertake the trip in the other direction, we will see that HBGA is a good model of evolutionary organizational management. We can use its evolutionary concepts of recombination and selection to improve corporate knowledge management and make it evolutionary. We will return to the issue of using HBGA in corporate environment in the conclusions.

Division of labor between the agents makes sense only if there is an exchange of products between them. In our general case the product is information, in HBGA it is knowledge. How good HBGA can perform knowledge management? That is a topic of the next section.

HBGA as a knowledge flow management tool

Without selecto-recombinative functions, human based genetic algorithm becomes an organizational procedure employing communication. It is an infrastructure: a way to organize the flows of information between agents performing different functions that earlier were internal functions of genetic algorithm.

The task of organizing the flows of information in GA wasn't paid much attention before parallel GAs appear. The infrastructure of parallel GA and flows of solutions between subpopulations considerably influence the performance of PGA, diversity and selective pressure [Cantu-Paz, 2000].

Let us discuss some critical issues of knowledge management within HBGA and see how HBGA addresses them.

Human factors: informational capacity and mental fatigue
In the universe the difficult things are done as if they are easy.
-- Lao Tsu

For effective knowledge flow management we need to account informational capacity of communication channels and interfaces. The main factor here is that capacities of human communication and information processing are limited. Moreover, they are varied with time as a result of fatigue.

Fatigue problem is known as a problem of interactive GAs and human-computer interfaces in general. [Takagi, 1998] considers fatigue problem as the biggest problem of interactive GAs. He suggests following classification of techniques to address this problem in IGA:

These methods quicken convergence, make work more comfortable, reduce evaluation time, but there is no considerable reducing of fatigue [Takagi, 1998].

There are many studies about factors that influence mental fatigue: work load, diet, rest, noise, and other factors. It was shown that fatigue was usually caused by imbalance of work and rest.

It was natural to expect that fatigue problem will be twice urgent in HBGA, because it relies on humans twice as much as interactive genetic algorithm (double workload). In reality, of 400 people used HBGA, nobody reported this problem. It should be noted that HBGA populations are rather large than small, and they are not forced to quick convergence. Instead of fatigue, people report that they have fun and inspiration of using the technique.

To explain this result let us try to look at fatigue problem from different angle. We suggest that mental fatigue is connected not with the workload, but rather with the level of its diversity.

Controlling diversity
When three people journey together,
Their number decreases by one.
When one man journeys alone,
He finds a companion.
-- I Ching

We assume that fatigue problem is caused by inappropriate level of diversity, which can be either too low (e.g. monotonous conveyer line), or too high (excess level of complexity). In common IGA the process of repeated evaluation is monotonous, so the lack of diversity causes fatigue. HBGA diversify the work of human operator in comparison with IGA. The role of human became enriched because he or she has a choice of different roles at any given moment. This technique is known in industry as enrichment of workplace. We also try to control diversity, keeping it at the level appropriate to human.

Let us try to analyse fatigue problem in more details from evolutionary point of view. There is a correspondence between selection and recombination and different kinds of thinking.

Convergent and divergent thinking correspond to selection and recombination in evolutionary procedure. Humans use them to keep the complexity of information they handle within comfortable limits, described earlier. Divergent thinking seems to be the only way out of a deadlock situation with too little choices. Convergent thinking is a natural way to deal with too many choices. This is a good regulatory mechanism humans usually use, until it fails in some extreme. In this case we got into one knowledge management crisis out of two possible, like in economy of material goods. In our case though, both crisises can happen simultaneously. One example of this is education, when you get one knowledge instead another, which you actually need. It causes fatigue twice: because you are overloaded with irrelevant data, and because you can't find the answers to your questions. That is the reason why many people think that study is difficult. Another similar example is an Internet search engine that gives you answers on all possible questions except the one you asked. Both education and search engines need improvement because they fail to fulfill our expectations.

The following table expands that idea.

Internal processingRecombination
Divergent thinking
Convergent thinking
External processingInitialization
Reporting results

We assumed that there is some convenient range of diversity a person can handle. There are external and internal ways to change actual diversity. We had to evolve some system of control in order to keep actual level within the range.

When diversity is too high, we try to limit inflow of new information and utilize convergent thinking and expression. When diversity is too low, we try to use divergent thinking and find ways to perceive relevant information.

The failure of this system can put us far beyond the range of convenience: either in "no choice, no ideas" situation, or "being overwhelmed by information". Both are very uncomfortable, and cause fatigue over time.

There are many reasons why such failure can happen, but looks like they mostly connected with the cases where we are out of control of the external information flows. The most apparent example is educational system, it assumes nearly constant rate of inflow of information, which is beyond student's control. If the rate of inflow is low it is ok, otherwise we are in trouble. In the case of natural perceiving student would limit incoming flow and wait until convergent thinking balances the diversity. The conventional educational system doesn't allow him to do this. It also puts restrictions on expression, reducing drastically the degree of freedom of natural regulatory system. The only thing that student can really exercise is one's convergent thinking. As a result, curiosity and natural joy of learning are gradually substituted with fatigue of studying, negative feelings toward the subject, atrophy of divergent thinking, stress and vision problems. Unfortunately, this can become a stable negative association with any kind of studying as a result of prolonged experience of this kind.

Now let us look at interactive GA fatigue problem from this perspective. Looks like the problem is very similar: the human operator is also limited to using only convergent thinking. In IGA we have control above external flows: we are free at expression and we can control incoming information by taking pauses and having enough rest. What makes the operator stick to convergent thinking is the procedure of IGA that doesn't allow one to perform any other function, because it isn't supported. But the result is similar to the one in the previous example.

The main inference from this is that fatigue is caused by inability to control either external or internal information flows.

Humans (as any other agents) have limited capacity to process large quantities of verbal information. Modern ways of communication have produced situation where the incoming flow of information is many times higher than our capacity to process it. This results in disbalance in the incoming and the outgoing flow.

Communication is considered effective if the input and output flows of information are comparable in volume. When two people communicate with each other the flows of information between them can be in perfect balance. If the number of people is three, each speak 1/3 of time and listens 2/3 of time. Similarly with N people, output flow relates to input as 1/N to N-1/N.

It is known that human capacity to process information is limited. Different sources give different estimates: [Howard, 1994] suggests that people can process objects only one at a time, [Howell, 1971] suggests the number 2.5 bits (correspond to choice from 6 or 7 items). Psychologists used 7-point rating scales for a long time: finer categories doesn't add much to the usefullness of ratings.

In the work of Howell the results of experiments measuring the channel capacity using different modalities of perception and expression were shown: pitch (2.5 bits), loudness (2.3 bits), tastes (1.9 bits), points on a line (3.25 bits), size (2.8 bits), hue (3.1 bits), brightness (2.3 bits). For two dimensions the capacity increases to 4.6 bits (corresponding to choice of one from 24 positions in a square). He suggests that channel capacity does seem to be a valid notion for describing human observers. There seems to be some limitation built into us either by learning or by design of our nervous systems, a limit that keeps our channel capacities in the general range. On the basis of the present evidence it seems safe to say that we possess a finite and rather small capacity for making unidimensional judgements, and that this capacity does not vary a great deal from one simple attribute to another.

Since average person can effectively operate (compare and evaluate) only a small number of objects at the same time that ranges from 5 to 7 objects, it is the the likely explanation why large groups of people often have low productivity, while small ones are fairly effective. In the group of 6 people a person listens 5/6th of the time and speaks 1/6th of the time.

This ratio 1:6 is a basis of HBGA interfaces. It is used on two different levels: for construction a box for solving particular problem and for construction of the whole page of problems. We return to it later when we will discuss interfaces.

Bias and attractiveness problem
Truthful words are not beautiful.
Beautiful words are not truthful.
-- Lao Tsu

Attractiveness problem is closely related with fatigue problem, because something that causes fatigue is seldom attractive, and attractiveness reduces fatigue. Although it has another aspect, connected with sampling bias.

When we sample solutions for evaluation we can choose them at random giving solutions equal chances to be evaluated (low sampling bias, but many inferior uninteresting solutions, i.e. excessive diversity), or at fitness-based criteria (high sampling bias, but more attractive to people, since the average attractiveness of solutions is higher than in random sampling). This is a tradeoff between attractiveness and quality of evaluation.

Another similar problem is with displaying the fittest solutions. Often a fitness-ordered list of solutions lacks diversity to be interesting for people, looking at it multiple times. The solution can be generating top list stochastically with some probability distribution based on fitness (e.g. put there 80% of good solutions, and 20% average/poor). Another approach is account for derivative or change in fitness for a particular period (like 'rising stars' in Lycos Model search).

Agent reliability

It is not a secret that humans are prone to errors. One source of error is that every human evaluates solution based on limited information, that is usually insufficient to take the the right decision. Another source of errors is human fatigue, discussed in the previous part. Cooperation of many evaluators in the form of majority voting or other decision making technique is usually used to reduce the impact of errors, as well as address the efficiency problem. When number of cooperating evaluators is big enough the efficiency of such techniques depends more on communication infrastructure than on abilities of each particular evaluator [Kosorukoff, 1995; Kosorukoff, 2000].

Advantage of cooperative evaluation is not easy to achieve. [Ray, 1989] suggests that our judgment plays detrimental role to creativity: many ideas were suppressed by judgment even before they are expressed in any form. If we will try to represent the process of from creation of ideas to its expression, we got something like this:

Communication media

Judgment element acts like a filter, that should classify ideas into useful and useless. Though the filter is imperfect, so it suppresses many good ideas too. Brainstorming technique has a strict rule against judgment and critics. As a result weak idea can bypass judgment and be expressed. Once it expressed it can be improved in the process of recombination with other ideas, and become stronger. Brainstorming procedure though doesn't eliminate possibility of judgment, as a result judgment accumulate and may interfere with the creative process in the most inappropriate moment. Some people are critical and they can't suppress their judgment for a long time.

The method used in FKE is not aimed directly on suppressing judgment. Instead of confronting judgment directly as it usually suggested, it collects this information and redirects the flow of judgment (if any) so that it is neither accumulated, nor communicated to other people before it processed by collaborative classification technique. It makes a media in which weak ideas can be amplified, while judgment can't. This will look like the following:

||||| FKE structured media |||||

The model of classifying organization as a network of classifying agents proposed in [Kosorukoff, 2000] was used to implement the selection of ideas in FKE. The object of classification - ideas of participating people toward solution of their problems, submitted to the system. In the paper it was shown how to construct cascade structure from unreliable classification elements/agents that can classify solutions as a whole with minimal error. Regular classification cascade from the paper [Kosorukoff, 2000] was used for evolutionary problem solving (classification of solutions). It represents trade-off between the criterion of classification error minimum and complexity of knowledge flow structure.

The classification cascade perform selection part of HBGA with the help of human participants. Since the error of collaborative classification is lower than individual one, selection of ideas is improved. Effectiveness of crossover is also improved because we are now operating on a larger population of ideas.

Free Knowledge Exchange

Knowing ignorance is strength.
Ignoring knowledge is sickness.
-- Lao Tsu

Evolution is a method for creating and exploring complexity that doesn't require human understanding of the specific process involved [Moroni, 2000]. Here we are going to use evolution to acquire understanding/knowledge or create it.

Free Knowledge Exchange project (FKE) uses HBGA as the engine of creativity and innovation in collaborative problem solving. It evolves natural language strings to arrive at better solutions. Idea of viewing GA as a model of human creativity was proposed in the famous book of David Goldberg [Goldberg, 1989], but since then fairly little attempts were made to put this great idea to work. In this part we will discuss this application of HBGA in details.

Here we will treat words "creativity" and "problem solving" as synonyms. This becomes trivial if we use an analogy from economics, that follows this way. Creativity is a process of production of new knowledge. If there is a production, there should be a demand. It easy to see that the demand is some problem, that needs a solution. This solution if found will be a product that can satisfy the demand. So the process of production of this solution is both "creativity" and "problem solving."

We can go further and apply economy of material goods where it is not applicable. This way leads us to the idea of intellectual property. We will not go that far with our analogy.

Here we would like to explore another way. Since intangible entities like problems and solutions are fundamentally different from material goods, we should handle them differently. Intangibles can be duplicated easily, while material goods can't, so the main principle of economics about scarcity of material resources is not relevant to intangibles unless scarcity is imposed artificially by copyright or patent law.

Another crucial difference is that intangible problem and solutions can evolve, while physical assets can't. Of course if you allow them to evolve. We allow, because we don't want them to be scarce: we want more of them. That is the central idea of our approach. Combined with genetic algorithm, the method that shows us how to evolve them, this idea yields FKE technology.


The sage has no mind of his own.
He is aware of the needs of others.
-- Lao Tsu

The simplified structure of the system can be represented as three layer structure. It is better not to think of them as a flat layers, but rather think that each upper layer is the context for adjacent lower layer. Don't try to analyse it upside down: starting with lowest level of Solutions will make it easier. When you come to the top layer keep in mind that we don't talk about biological side of evolution here, but we rather address the level of socionics, which deals with psychology of people as distinct from their physical bodies.

SelectionCredit (see Motivation system)
RecombinationCommunication forum:
direct communication between participants
SelectionFitness = SUMpeople(Credit*Interest)
RecombinationHuman based recombination
SelectionHuman based cascade filtering
RecombinationHuman based recombination

The structure of the system looks complex, but it is recursive, we will first look at one lowest level of it and then show that the upper levels are similar to it.

We call such a structure a multi-level genetic algorithm because evolution happens on different levels simultaneously: several genetic algorithms (here HBGA) embedded one into another to accomplish this. Here we apparently have three levels. Some operators can be absent at some levels. For example, in our implementation there is no top level internal recombination operator. That doesn't necessarily mean that the process of recombination doesn't happen: actually this process is outsourced to traditional kind of forums: Usenet and IRC, so that participants usually use what they prefer.

In FKE system each participant has credit (rating) which is initially set to 1. The credit defines how much attention the system will share to the problems of the particular person. At the beginning the problems of all people are considered to be equally important. As you will see later, the credit also measures the contribution of the participant in solving of problems of other people.

Each person creates a list of problems he/she needs to solve. It can be created from existing or new problems. If new problem is added, it is also added to the population of problems. The relationships between the authors and the problems are shown on the picture by downward arrows, going from people level to problems level. The credit of each person is distributed among all items in his/her interest list. The total fitness (credit) of each problem in the population is calculated as a sum of shares given to it by all participants interested in solving this problem, it reflects the importance of the problem for the whole community of people. Fitness of the problem in genetic algorithm determines the probability of its selection, so problems with higher fitness receive more attention.

Initial solutions to each problem are acquired from people or from solution lists of similar problems. Initialization interfaces employ creativity techniques to achieve this. After first solutions are acquired, selecto-recombinative interface began to work along with initialization interface. The probability of transition to initialization state is decreased with the number of acquired answers, and the probability of transition to selecto-recombinative state is increased. This leads to evolution of population of solutions. It is described in section devoted to interfaces.

Collaborative filtering is used to discard unfit solutions and evolve the better ones. Filtering performed by many people, and flows of solutions between them are optimized by computer to reduce the decision error, so that decision error of the system is several times lower than average decision error of individual participant (8 times lower for 15 participants). The process of cascade filtering is described in section devoted to selection.

Filtering also gives valuable accounting information to calculate credits. Cumulative ratings of filtered ideas of some person contribute to the credit of the person in the system. The backpropagation of credit information is show with red upward arrows going from the solution level to the people level. Each time someone's solution is chosen in the tournament selection, the credits of this solution and its author are increased. Together with credit proportional randomized selection of the problems it makes a kind of economy for ideas so that each person is sure that every idea contributed to help other person will be returned to him with a bunch of ideas to his problem.

All this happens in parallel, like technological manufacturing process: producing, enreaching, selecting and delivering solutions to people who need them. In the following sections we will describe the parts of this process and their implementation.


The greatest form has no shape
-- Lao Tsu

In our model the representation of genotype is any string of natural language. The only restriction imposed on the string is the length limit, defined as 4k bytes. People evaluate the fitness of solution for particular problem. What they really evaluating is the meaning of the solution string in the context of the problem and other solution strings. The phenotype can be thought of the meaning of the string in the context in which it is presented. Even the understanding of problem depend on context (other problems on the same page, and solutions to this problem and to adjacent problems). Advertisement on the page also contributes to the content, and influences not only impression, but the meaning of the particular string. It was noticed that people tend to generate more input, when they were shown a nice picture before this, even if this picture is advertisement.

Usually in GA we think of mapping of genotype to phenotype as one-to-one correspondence. Let us explore the different possibilities: M:1, 1:M, and M:M mappings.

Case M:1 is not unusual, it happens when tho genotypes correspond to the same phenotype. It usually happens when coding of genotype is redundant, so it contains non-meaningful information, changing of which doesn't yield a new phenotype. The use of natural language strings as a genotype presents another example of M:1 mapping, connected with synonyms which spelled differently, but have the same meaning.

Case 1:M is referred as pathway dependent phenotype by biologists. In this case one genotype can give us the different phenotypes when expressed, and choice of different paths of expression can depend on environment or random choice. This kind of mapping is also the case in FKE, because people really evaluate not just strings of natural language, but their meanings, that is context dependent. The understanding of the meaning of each solution string depends on the context in which it is presented to the person, so each time it is presented in different context the evaluated phenotype (meaning) is different.

Combining, what we have previously, we can conclude that the mapping genotype-phenotype in FKE is M:M. Implementing selection is both described cases is difficult and analysis of its effect is more complex than the one for usual kind of GA with 1:1 mapping.


It does not speak, and yet is answered.
It does not ask, yet is supplied with all its needs.
It seems to have no aim and yet its purpose is fulfilled.
-- Lao Tsu

Since HBGA doesn't perform functions of selection and recombination itself, the major part of it are interfaces with human participants. The interface is a very important part of any program interacting with humans. It must be efficient, easy and fun to use. It should take into account human factors or psychological features of participant. We discussed already that average person can comfortably operate (compare and evaluate) over limited number of objects at the same time. As we have seen, the maximal comfortable number ranges from 5 to 7 objects. In addition, people often find it easier to compare two objects and decide which is better, than estimate the value of one particular object with respect to certain abstract scale.

Interface can be described as a number of states and rules of transition between them. These rules are probabilistic in the case of HBGA. So the interface can be thought as a Markov process with variable transition probabilities. The three main states of the interface are initialization, mutation and selecto-recombinative states.


Everything in the universe comes out of Nothing.
Nothing - the nameless
is the beginning;
-- Lao Tsu

In the usual GA initial population is generated randomly, this implies the number of fitness evaluations equal to the population size. During this process the values of fitness calculated, but not used to guide the search, until all population is filled. This approach is too expensive for HBGA, because human evaluations are costly, and we can't afford making too many evaluations.

The statistic of preferences of people shown in the previous section suggested another method of initialization. HBGA starts with an empty population. The first solutions that proposed by people are added to the population, so it grows in size until some moment. To maintain diversity, selection operator applied rarely until the population will acquire the necessary size, corresponding to the importance of the problem for the community (the expressed interest of people counted as the sum of their ratings divided by the number of problem person has in his interest list, see section on motivation system).

Thus, initialization of HBGA is not a separate phase of the algorithm, like initialization of usual GA. It is rather thought as an operator or state of the algorithm that occurs with some defined probability, like other operators.

Initialization is performed in the same time as selecto-recombinative process with some probability. As a result of this process new external solutions arrive from outside that were not influenced by other solutions in the current population. The inflow of such external solutions serves as a constant source of solution diversity, and can be regulated by the probability of transition to initialization state.

The probability of initialization is equal to one when population of solutions is empty, and slowly decreases with the size of the population.


Taste the tasteless.
Magnify the small, increase the few.
Reward bitterness with care.
See simplicity in the complicated.
Achieve greatness in little things.
-- Lao Tsu

Naive mutation of natural language strings can be accomplished by substituting one word with another randomly chosen word, by insertion of such word in the random place of the sentence, or by deletion of random word in the sentence. It is quite obvious that this kind of mutations will often produce nonsense. More appropriate form of mutation was described in the section on random creativity techniques. It works more like a mutation of meaning, because it introduce a new context associated with randomly chosen word. Humans perform mutation intelligently. In this section we discuss how human based mutation interface works.

You are suggested a question and a possible answer, that needs to be improved or tuned. You can make it shorter removing unnecessary details, amplify the main idea, or clarify something if you think it needs clarification. It is up to you. Your modified solution is expected to appear in the input box.

This may be thought as a simplified case of selecto-recombinative state, that will be discussed in the next section.


This interface is like a multiple-choice question. The total number of choices is bounded by the psychological limits discussed earlier. The difference from usual multiple choice question used widely in computerized testing is that the last choice appears to be open. It is an input box, where you can type any solution. Usually the submitted solution are inspired by the previous options, but sometimes it can be completely irrelevant to them. You can combine parts of the previous solutions, making intelligent recombination of them (or crossover), or you can just choose among existing solutions (giving their fitness evaluation). In the former case you will perform creative function, in the latter - critical one.

Thus the basic element of interface merges selection and recombination into one process. Each time the human user can choose what he/she prefers to do: selection, recombination or both. Human decides it according to personal preferences, context, and corresponding background.


The truly great man dwells on what is real and not what is on the surface,
On the fruit and not the flower.
Therefore accept the one and reject the other.
-- Lao Tsu

Selection makes us sure that the information we store is important and useful. It filters out unfit solutions, unimportant problems, as well as spam.

Tournament selection is used with variable tournament size ts up to 5. The tournament size correspond to difficulty of making a choice. Thus, using variable tournament size gives us diversification of evaluation function according to its difficulty for the user. Another advantage is that the preferences of users for particular tournament size can be studied.

There are at least two possibilities to choose ts solutions for evaluation:

Currently first option is implemented: individual solutions for tournament are selected randomly from the population, and offered to user for evaluation. He may either choose one fit enough for the problem, or enter modified solution as the last option, which is a open choice.


In the universe great acts are made up of small deeds.
-- Lao Tsu

Naive crossover of strings can be made similar to the one used in simple genetic algorithm: by breaking the strings at a random blank-space and swapping the right parts. It seems that it will result in complete nonsense, but here are some strings generated in this way from choices of previous example:

Something very powerful and Something that keeps us from making the same errors twice.
Something that keeps us from making the same world.
Something that keep us from information about the world.
The product of the world.

If we use the whole population of 18 solutions that reside in the database, we can get the following: Knowledge is our even when we're wrong. Something that keeps us possible. The product of knowing is possible. Knowledge is our personal world. Something that keeps life. The product of knowing that we gather, select and generalize throughout our life.

Surprisingly, meaningful sentences contribute up to 30% of all sentences, generated by this very primitive procedure. This effect needs to be studied, but it is clear at the moment that it is connected with the fact that strings for crossover were preselected according to their fitness for particular problems. Naive crossover of random sentences gave us less than 10% of meaningful sentences depending on their source. More elaborate forms of automatic crossover can raise this percentage, but nonsense will still happen quite frequently. The frequence of nonsense that we can allow depend on expectations of the users. If they are high, we should keep this frequency low, otherwise we may set it to be higher. We assume that the expectations of our users are high and they don't want to evaluate nonsense. That means that existing automatic recombination operators are likely to distract many people because of their inefficiency. Critical people often excommunicate other people who talk nonsense, so the computer system using naive recombination is even more likely to be excommunicated. Creative people usually have more tolerance because they have an ability to find sense and relationship where other people don't see it.

Desire to circumvent this problem led to human based crossover/mutation operator. A subset of ts solutions is presented to human user for evaluation/crossover. When person sees two ideas that can be nicely combined together, the natural desire is to make this combination. Unfortunately, most poll and multiple choice systems don't handle this and you can't express your creative desire. That is why people with mostly creative thinking don't like multiple choice questions and polls: they always have to choose something they are not really satisfied. Critical people have opposite preferences, they usually prefer multiple choices they can evaluate, and don't like open questions, because they have to use their creativity to answer them. What kind of people contribute more to problem solving?

Creative people with divergent thinking act like new ideas generators, performing intelligent crossover of existing ideas. People with convergent thinking, who is better at selection of existing ideas (evaluation) act as critics. We need both kinds of people to keep balance. We supply both kinds of people with what they prefer: multiple choice options for selection and input box for recombination of ideas.

The statistic of preferences of 400 English speaking people used this online technique shows that largest number of people (50%) strongly prefer creativity to evaluation, and the second large group (32%) had not expressed preference between them. People who strongly prefer evaluation or critical function are in minority group (18%). The corresponding numbers for 68 Russian speaking people are 59%, 33%, and 8% respectively.


FKE evolves solutions to many problems simultaneously. The interface presents user with 5 input boxes that represent 5 problems simultaneously. Each problem comes with solutions fetched from 5 different populations of solutions.

It is also easy to see, that the whole page is constructed by the same principle as individual element of interface: 5 problems correspond to 5 defined choices, and the last option is an open choice for new problem to be submitted.

Interface also uses a kind of random word creativity technique, that was added recently. Random Chinese character with its meaning and derivation appears on the webpage each time it is downloaded, but no more than once a minute. Especially for people, which native language is not Chinese, it can cause unusual associations, that help to come up with creative ideas. For Chinese people it is exactly random word creativity technique.

Several populations of solutions compete for the limited storage size. Each corresponds to particular problem, and the size of the population is limited by the interest of people in solving this problem (see Motivation system).

The interface constructed in such a way that it allows some general solutions to penetrate from one population to another, if it fits for both problems corresponding to these population. Solutions or their building blocks (ideas) can penetrate from one population to another as people find a way to adapt solution of the previous problem to the new one. This process can be thought as a kind of crossover on the level of populations, since it implies informational exchange between them. User interface shows five problems at once, you not only can combine/crossover solutions of one problem, but copy a solution to the area of another problem, with or without some adaptation. We call this process domain transfer. Thus general solutions can migrate among populations corresponding to different problems. It can also be done automatically, with the probability, proportional to the measure of similarity of texts of the corresponding problems.

There is a selection pressure, acting on the level of populations. It is connected with expressed interest of community in solving the problem, corresponding to the given population. The more important is the problem for the community, the more space allowed for population devoted to finding solutions for the problem. The sizing of populations is a part of the motivation system mechanism described in the next section. It provides a kind of economy system, that rewards the good solutions and cooperation.

Alternative evaluation criteria for questions/problems suggested in [Ray, 1989] is to evaluate the questions by the fruit they bear. "You'll begin to see that you get stimulating answers when your questions are direct, simple, and open-ended." Applied to our system this approach suggests to evaluate the problem by cumulative value of answers it generates. If people submit many good answers to the question, then the question itself is also good.

There is also the third way: direct evaluation of questions. The people evaluate the quality of the question directly, choosing the option from the selection box, corresponding to their subjective attitude to the question.

Analysis of these evaluation schemes had not shown some correlation between them. For example, people can rank the question very low, but still give many answers to this question. More research is needed to determine comparative efficiency of these methods of evaluation.

Since the interface of the problem level is similar to selecto-recombinative state of solution level interface, human based crossover and mutation also happen at the problem level generating problems derived from one or two existing ones, shown in the list.


Before receiving
There must be giving.
-- Lao Tsu

The motivation is important part of any project in which people are supposed to participate. Without it such a project will not attract attention of people, and will not create the desire to participate. Good project may fail, if it won't get people motivated to participate.

First we need to analyse barriers, that block free expression of ideas or solutions. Many people don't like to share their solutions because solutions can give them competitive advantage, if they are not known to other people. People don't like to share their problems because of the privacy concerns: some people can get advantage of knowing their problems. Another reason, why people don't express their ideas is the expectation of evaluation. [Ray, 1989] notes that even positive evaluation can suppress free expression of idea, because it creates expectation of future evaluations. Many people are humble and think that their ideas are not worth of attention to submit them, especially if these ideas are only partial solutions. These make difficulty for sharing knowledge and cooperation in problem solving.

To make it easier for people to overcome these barriers and make evaluation less biased, we made participants messages anonymous. Someone's individual judgment can't affect the author of problem or solution because the media of communication is structured in such a way, that you can't address someone personally. Though, the judgment is not suppressed, but rather solicited to power collaborative filtering system. Now, after we lowered the barriers, we can think of motivation.

To motivate people, a kind of artificial neural network was created that transmits signals appeared in the evaluation process. They are propagated through the weight coefficients to adjust the credits of the problem, the author of problem, and the author of solution. The weight coefficients determine the size of reward given for submitting a problem, submitting unchecked solution, an interest expressed to particular problem, or approval expressed to particular solution. The weight coefficients are adjusted to reflect the number of stimulus of the specific kind. E.g. if the number of problems is small, the reward for a new problem is big. Reward for the first unchecked answer is usually higher than for any successive one (the law of diminishing marginal returns).


In this part the Free Knowledge Exchange project was described. It provides user with a simple interface to create solutions by combination and modification, an environment discouraging critics and arguments, and encouraging emergence of new ideas. It gives associations that can otherwise be overlooked, focuses attention of the user on few things and promotes explorations of associations between them. It encourages multi-user collaboration in solving problems of importance and provides a new way of communication, that is fairly productive.

In addition, it gives us some factual material to study human creativity, part of which is presented in the next part.


Types of problems asked

There are two kinds of problems people have:

  1. Problems for which the solutions are known, but the best solution is not obvious.
  2. Problems for which the possible solutions are unknown

The first kind of problem usually solved with convergent thinking, the second kind with divergent. Actually in FKE makes no difference of these types. Every problem is solved by both processes performed in parallel. This uniform approach has advantages when the list of solutions in the problem of the first type is incomplete, or when too many solutions are generated for the second type of problem.

The problems posted by a person can be addressed back to the same person. This possibility was not excluded, because it was noticed that sometimes persons pose questions in the beginning, and then they answer their questions themselves. It appears that by asking somebody beyond their own intellect, they free their own inner creativity to supply an answer.

The same thing noticed in [Ray, 1989]: it happens when you ask someone to help find something after you've searched for it in vain. At almost the moment the other person agrees to help, you remember where you left it -- as if the moment you relax, the Essense says, "I thought you'd never ask."

There is no limitation on the content of problem that can be submitted, and there is no classification of problems according to their content. You had already seen some problems posted in the system. Most common problems people post at the website can be classified into 4 types:
Type Example(s)
How can I ...? What set of qualities can ensure success in life?
What is the best ...? What is the best search engine/website/operating system?
What is ...? What is knowledge/truth/genetic algorithm/organism?
Why ...? Why do we die?
Unclassified Problem: my partner

It is interesting to compare top scored questions at different national websites. Here are the preferences of English and Russian speaking users:

English speaking usersRussian speaking users (translated)
What is your impression from our site?How can I study in the US? What steps I need to undertake?
How do you know that you are in the right career to really exceed in live and to do well overall?Where I can buy CD with various games and programs?
How to avoid conflicts? Or conflicts are necessary part of our life?Give an expanded definition for word 'love'
Is it possible to educate children by computers, reducing thus quantity of teachers.Where can I get upgrade to AVP (anti virus software)?
Why consists time of THREE elements: past, present and futureYour suggestions on improvement of this server
How can i redirect the out of the compilation to some file so that i can view all the errors at one time only if all errors do not come in single pageHow do you like the server?
When working in a group what is the best techniques to use for solving problems that may arise when the work group has a grade for school riding on it?Share the addresses of most interesting chats in the Internet
I have recently been promoted to a management position in a company that I have been employed for 1 year. Another member of my team was never offered the job based on the Company's impression that she has expressed her disinterest in taking on the added responsibility management requires. After the announcement, she became bitter. Before the promotion she and I had a great working relationship and I would like it to continue. However, I get the impression that since I am now her supervisor, her bitterness could cause a rift in the organization. How do I combat this situation and help her realize that this is a good situation. It opens up other doors for her in the organization. i.e. Assistant manager in our dept. By the way, she has been with company for 5 years. I look forward to your response.Share the addresses of good ISP providers
I work full time and have two pre-school children. I would like to further my career and better myself by continuing my education. What are the best ways to make time in my daily life for an Internet distance education class? Kids don't always nap when you want.Where I can see the rating of Success Formula community?
One year ago I entered on a very high position in a big company. The company was sold two weeks ago and the possible strategy of the new owner is to fire and replace all first level employees. On the other side he has to work further with young and high motivated people. What is here to do? Stay or leave in advance?What is a checking account?

You may see how different in size and content questions in both parts. The analysis of these differences is beyond the scope of this paper, but the general idea if that English and Russian speaking people not only answer similar questions differently, but they also have different notions about importance of particular questions. It is interesting to analyse what kind of questions people of different nations consider important. If it would be possible to provide communication between knowledge bases in different languages, it would help people speaking different languages to understand each other better and recombine their ideas coming from different cultures.


Comparison of solutions to similar questions is also very interesting. We can't make it here because of size limitations. You can find solutions to the top ranked problems at the website ( under the heading Frequently Asked Questions.

We will rather concentrate here on some issues related to the solutions that you can get from the system, their correctness and scope.


A question is about correctness of solutions received from the system is very frequent. If we return to the table of two ways of thinking, the correctness concept will be on the left side, while our system is operating primarily on the right. Looks like, correct answers only exist for a small part of problems, these are usually artificial problems designed to test someone's knowledge within a scope of some deterministic model of the world. Correct answer to 1 + 1 is 2, but it is only within the scope and assumptions of math. If we go beyond this model of assumptions we can have more than 2 (synergy) or less than 2 (antagonism). Even in math, within the scope of the model, there is a viewpoint that we need to change our derogatory attitude to conjectures as something inferior and not very useful. Indeed, the statements that can be logically proven are usually also trivial, they are nice but give us little help in complex problems we are faced with. [Zielberger, 1999] proposes the idea to legitimize incomplete proof: "The reason that the output of mathematicians is so meager is that we only publish that tiny part of our work that ended up in complete success." "Publish all your (good) thoughts and ideas, regardless of whether they are finished or not." That matches exactly to the principle we use at FKE. We would also suggest to omit the word (good), because it relies too much on individual judgment, that we know often fails in evaluation of the author's own ideas.


Does the system achieves balance between exploration and exploitation?

Among all available optimization tools, evolutionary computation appears as a very effective one, because applying genetic operations and selection gives us a good compromise between exploration and exploitation of the search space [Atmar, 1994].

Although I think the necessary balance isn't achieved automatically, it is connected with the size of population of evaluated solutions. We evaluate solutions by using them. If we stick to using only top solution in our population, then no exploration will take place (it is equivalent to having a population with only one individual). If we will use/evaluate large population of solutions with even probability, then it will be most effective exploration, but not as effective exploitation. So the balance is somewhere between them. Genetic algorithm can work in any point of this range depending on its parameters. The problem is that we don't know what the exact point we need to approach. More research needs to be done on this.


What is it? Initially defined as ''a new information service that incorporates some features of Usenet with features of computerized testing and accounting'', it overgrown this definition. The similar question posted on the website yields the following answers, ranked as fittest by people:


In the pursuit of learning, every day something is acquired.
In the pursuit of Tao, every day something is dropped.
-- Lao Tsu

While being fairly young, this project has its history.

It was not created instantly. As it is expected from evolutionary project, it went through some bootstrapping process, tuning itself since it was initiated. Many features were added that were suggested by people. This process is still continuing.

Success Formula community was established in 1997 as a small "organization helping each member to be successful through new forms of cooperation based on better knowledge management, which in turn leads to better management of other resources." That was the goal of organization. The strategy to achieve it was quite simple, it was based on computerized testing. The application form asked people what areas they would like to develop their abilities. Computerized testing should be used to evaluate and make inventory of all knowledge resources, compare them, and rank participants according to their abilities in particular areas. Then the organization would be able to connect those who desire to improve to the participants who are one step higher in the direction of desirable improvement. The main problem was the need to develop tests and evaluate test results for many areas of knowledge that we had faced with.

In 1998 I wrote the program to reduce the expenses for evaluating the tests, but finally I had eliminated all test development procedure.

I had to prepare the tests on economics, accounting and finance, since I had some experience in this area. I don't like multiple choice questions myself, so I didn't offer people things I don't like only because they are easier for grading. Instead I wrote a program that asks open ended questions, and then I can evaluate the answers by ranking those corresponding to one question at a time. The evaluation process happened to be easy, but monotonous. I was the only person who could grade the answers, so finally, I get tired of this. I was lazy enough to come out with an idea to let people do evaluation of each other's answers. It was just a little modification of the program: moving the evaluation interface from restricted class to the public one. All I needed then was to make up the questions, and participants were grading themselves. It did work. Surprisingly, I could even get fun from grading after that, because I enriched grading work by adding the possibility of answering the questions. Sometimes you can answer the question even better than the 'correct' answer you knew before. That feels nice. The only thing I needed to turn this program into the FKE was to share with people the possibility of adding new questions, the feature I used exclusively. So I shared it, and soon realized that people often can ask more clever questions than me. It was nice.

In 1998 this program was put to the Internet with very little changes, as an experiment. You still can encounter sometimes those questions on accounting with which it has begun.

First people registered before the web server was ready. They posted some questions about the project and the technology used at the website, their purpose and functions. They asked what is it, who is running it and some other questions. It happened, that when other people were faced with these questions, they were inclined to answer something and posted their guesses about the goals of the project. I realized after some time that what they posted were their expectations, and I tried to make the website compliant to these expectations. In this bootstrapping process, people really helped me better understand what FKE is or what it should be for. Their guesses about the goals of the project became the real goals.

Free Knowledge Exchange web project got this name on February 12, 1999, after it was moved to the new location Since then, probably only the name of the project stayed fixed. Evolutionary algorithm had little changes, which were connected with support of different languages. Website design was changed two times, but its content is evolving every day!

Now FKE appeared in many web directories, received 17630 hits, and got 425 registered users, 161 of which contributed their solutions to the project (on October 1, 2000). Here is a statistic of visits for last 14 months (data from Click2net advertising network):



Questions asked (Q)216
Answers given (A)1518
Evaluations made (E)948

This means that each problem has 7 solution in average, and each solution was evaluated 2 times in average.

Distribution of people according to their A/(A+E) ratio:

Statistic by the number of visitors from different countries (data from Click2net advertising network):

USA+10482Ukraine 86
Guam+693Taiwan 84
Netherlands 374Malaysia 66
Australia+340Italy 57
Canada+248Israel 48
UK+194South Africa+45
Germany 159France 42
Singapore+95Brazil 35

Plus sign in LS column shows that the language of the country is supported.


Free Knowledge Exchange project has shown that HBGA technology is capable to perform effectively the functions of knowledge acquisition, storage and generation. It can be used to discover hidden problems of organization as well as the resources to solve them. It creates the spirit of collaboration between its users and provides the measure of their contribution in the final result. These are valuable features that make it a good choice for corporate knowledge management and innovation.

This work gave some insight into the process of human creativity and gave factual results to study it. Creativity happens when people make an intelligent crossover of solutions within a population of existing ones and perform inter-population solution transfer. Analysis of the data gathered in the process of using this system should give us some knowledge about how this intelligent crossover takes place and how can it be implemented at the computational level. Understanding of this will allow us to come very close to computational intelligence that can be called creative.

By now the analysis of user preferences confirmed basic initial assumptions on which this whole project was based: people like to be creative more than critical. The number of generated answers is 7 times more than the number of submitted problems. We probably never solve all our problems, but the process of collaborative evolution gives us a hope that solving them will go faster.

Here are some lessons I learned from this project:

The efficiency of this kind of project is difficult to determine in numbers. It is an example of humanized technology [Takagi, 1998] that is created for people and only people can give real evaluation of it. Here are 17 different opinions submitted by people:

What is your opinion about this website?
It's very unique and really a good thing. This way, people won't have to be afraid to ask
Could be helpful
So far so good!
I think it is very interesting
The idea is quite smart. Here's hoping it can succeed, it's certainly got the potential.
A good idea. But why do I keep getting asked the same questions?
I think it is very good and helps to expand your thoughts.
Never answers my questions
I like it. It seems like a really good idea. Fun too.
Very nice but this will not work. If someone knows stuff he can solve it for people before they even have to ask it.
Pretty cool, but I don't seem to be able to see my own responses to problems, nor does there seem to be very quick responses to my own problems on a lazy Sunday evening.... Keep up the good work, though@!
Love it. I'd love to see my answers appear sometimes too.
It is an interesting diversion. Sort of an interactive reality game.
I am keep on getting the same questions again and again. Please be more efficient so that people will not loose the interest in this.
We have so many experts in everything, and still we have more and more problems, and sometimes it seems that experts make new problems instead of solving old ones. So I think this site is very useful, because we can't always rely on experts, or experts will become a problem.
Too early to tell

Looks like all of these opinions make sense, as well as, the last one.

This work gave much information to study. Much research needs to be done on the data obtained as a result of using the FKE system by many people for more than a year.

Here is an uncomplete list of directions for future research:


(C) 2000 Alex Kosorukoff, Last modified: Sun Jul 17 21:52:43 CDT 2000