Sender: AFRA (melancholy small 蛤)), letter area: AI
Title: Introduction to Genetic Algorithms (Reprinted)
Sending station: BBS Shuimu Tsinghua Station (Tue May 25 23:30:41 2004),
Introduction to Genetic Algorithms
Genetic algorithm introduction
By Marek Obitko, Student of Czech Technical University.
Wang Zhengyao translation
Originally in English versions, you can find it here. You can also download the English version of the PDF format here.
-------------------------------------------------- ------------------------------
Here I want to introduce some basic knowledge of the genetic algorithm. I should write more popular and easy to understand, so that readers who have not had any related knowledge can also be read. We only assume that the reader has a certain understanding of the computer program design. Here we have some Java Applet programs to demonstrate the work of genetic algorithms.
The scope involved in the genetic algorithm is wide, so we can't involve both it. But you can get some ideas of genetic algorithms here: What is a genetic algorithm? What can genetic algorithms do? There is no difficult mathematics theory.
Now, you can choose the next step to browse the following, you can also choose the content you want to browse from the menu on the left. If you don't want to read all the content, you only care about some of them, you can also jump through the top page directly.
There is still a Japanese translation here.
I Introduction
Foreword
The genetic algorithm is part of evolutionary computing technology, while evolutionary computing technology has developed rapidly in the field of artificial intelligence.
You may have been thinking: Is the genetic algorithm to be inspired by Darwin evolution? Simply put, the solution to the problem is evolved in evolution by solving the problem with genetic algorithms.
history
In the 1960s, I. Rechenberg's thoughts of the evolutionary algorithm in his "Evil Strategy" were first introduced (Evolutionsstragegie). His thoughts are gradually developed by other researchers. Genetic Algorithms is invented by John Holland, and later he and his students and his colleagues continued to develop it. Finally, in 1975, John Holland published a monographical "Adaption in Natural and Artificial Systems).
In 1992, John Koza used the genetic algorithm to make new procedures to do some specific work. He said that his method is "Genetic Programming (GP). Among them, the LISP planning method is used because the programs in this language are represented as "Parse Tree), and this genetic algorithm is subject to these analysis trees.
II biological background
gene
All organisms are composed of cells. There is a sequence of chromosomes in each cell. The chromosome is a piece of DNA, which provides a copy mode for the entire organism.
The chromosome is a gene composed of genes or chromosome is a block of a piece. Each basis is encoded by a particular protein. Alternatively, each gene is encoded for a particular feature of the organism, such as the color of the eye. All possible properties of a particular feature (such as blue, orange, etc.) are called alleles. Each gene has its specific position on the chromosome, which is generally referred to as a site (LOCUS).
All sequences of gene substances (or all chromosomes) are called genomic (or chromosome groups). Genes of specific sequences on the genome are referred to as genotypes. Both genotypes and late days are the dominant, physiological and psychological features, such as the color, intelligence of their eyes. Repeoduction
In replication, the Crossover occurs first. The gene from the parent has formed a new gene in accordance with a certain manner. The new child can also be varied. Variation means a point of change in some components on DNA. These changes may be due to errors that appear in gene replication from the parent to the child.
The adaptation of the organism is measured by the organism itself.
III search space
Search Space
In many cases, we solve a problem is to find a solution from a lot of data, and usually this solution is mixed in the data. All feasible solutions is a space that satisfies a certain constraint condition. The symbol is called a search space (also known as a state space). Every point in the search space is a problem. Each feasible solution can be marked by its function value or its adaptation. Remember: The solution to the problem is a point in the search space, so we just want to find this from the search space.
In this way, the problem can be converted to search for extreme value points (maximum or minimum point) in search spaces. Search space may be fully known when solving the problem, but generally we only know some isolated points, then we gradually generate other points. The problem is that this search process may be complicated, we don't even know where to search or you start searching from place. In fact, there are many ways to find a suitably (note: not necessarily the best solution), such as the hill climbing prohibits the proximity method, simulated annealing algorithm, and genetic algorithm. The solution to the genetic algorithm is generally considered to be a better solution because we have no way to prove that it is the best solution.
NP Puzzle (NP-HARD)
For a more difficult NP problem, this problem cannot be solved with a traditional method.
We know a lot of problems have a fast algorithm (polynomial algorithm). However, there are many problems that cannot be solved by algorithms. In fact, it has proven that many problems cannot be solved in a polynomial time.
However, there are many very important questions that their solutions are hard to solve, but their values are very easy to calculate. This fact has led to a complete problem with NP. NP represents Nondeterministic Polynomial, which means that this problem can be "guess" with unclear algorithms. If we have a machine that can guess, we can find a better solution in a reasonable time.
NP - complete problem is simple or not, depending on the problem of problem. Because there are many problems, their output is extremely complicated, for example, some of the problems known as NP-puzzles have been proposed. Such problems are not limited as NP-complete problems.
Because the NP-problem is made by the above features, it is easy to think of some simple algorithms - all the feasible decisions. But this algorithm is too slow (usually time complexity is O (2 ^ n)) is not feasible in many cases.
Now, I don't know if there is any precise algorithm exist. Prove that the existence or no exact algorithm This heavy burden is left to the new researcher, maybe you are J. Many people think that the precise algorithm does not exist, so they try to find an alternative algorithm - such as the genetic algorithm here.
An example of the NP-problem here, a travelling salesman problem, is a satisfactory problem. A brief description of the NP problem You can see here.
IV genetic algorithm
Basic idea
The genetic algorithm is greatly affected by Darwin evolution. In the genetic algorithm, the problem is gradually evolved!
The calculation of the genetic algorithm starts from a group of possible solutions, which is referred to as a population, which is represented in the algorithm. We have made the solution in the population to form a new population, because we expect new populations to be better than the old population! Of course, the solution in the new population has to have such nature, and must be selected according to its adaption, the higher the adaption, the greater the opportunity to participate in the construction of new populations.
This process repeats again and again, until the constraint conditions we have given, such as a good extent of the number or population in the population.
Basic structure of genetic algorithm
1 [Start] Follow the question feature randomly generate a population of nice chromatograms;
2 [Adaptation Calculation] Calculate the adaptation of each gene of the population with an adaptive function F (x);
3 [New population] Repeat the following steps until the new parent group is established;
1. [Select] Select two parent genes from the adaption of each gene in the population (the greater the rate of adaptation, the larger the opportunity);
2. [Cross] Cross the two parents with a certain cross probability to produce the progeny. After the cross is completed, the child is completely the replication of the father;
3. [Mutation] varies at each site (LOCUS) of the sub-gene at a certain probability;
4. [Accept] put this child in the new population;
4 [Replace] A more in-depth algorithm for new populations;
5 [Quiz] If the termination condition is satisfied, it stops; and the best decimation in the current parent group is
6 [cycle] If 5 is not satisfied, turn to 2; continue
Some instructions
You can find that the basic structure of this genetic algorithm is very general. In a specific problem, we have to do a lot of work to implement algorithms.
What is the first problem creates a gene? How to encode them? These issues are closely related to the genetic operation (cross, variation). We will introduce in the next chapter.
The next question is how to choose the parent used to cross from the parent population. There are a lot of methods, but the most basic idea is: Choose a good father (because we think that the parent can produce a good generation). You may think that only a new population is lost from the generated subsequent generation, which may lose a lot of information in the previous generation population. This is indeed true, we can use the elitism method. That is, the best genes in the population will be copied in the new population without changes. Obviously, one of the best solutions produced at any time can survive to the end of the algorithm.
There are still many questions that we will discuss in the later chapters.
You may think, why can the genetic algorithm get the results we need? This problem can be partially resolved by Holland's mode theorem. However, this mode theorem is now criticized by many people because many people think it is problematic. If you are interested, you can find more information here!
V Genetic Algorithm
Overview
In the basic structure of the previous genetic algorithm, we note that crossing and variations are the most important part of the genetic algorithm. The results of the algorithm are the most affected by cross and variation. Of course, we will introduce some gene information before we discuss cross and variation.
Gene's encoding
The gene is in a certain sense to contain the solution of the problem it represents. The most commonly used encoding method is a binary string. The gene can then be represented as:
Gene 1
1101100100110110
No. 2 gene
1101111000011110
Each gene is represented by a binary string that each bit of the binary is expressed some features. Alternatively, the entire binary represents a number, such as that in the applet of the basic genetic algorithm.
Of course, there are many ways to encode. What method code is mainly depends on the problem you want to solve itself. For example, some problems can be coded directly with integers or real numbers!
cross
When we decided to use what method to encode, we can consider the next step - cross. The essence of the cross is to select a parent from the population to generate a new matrix. The easiest way is to randomly select an intersection, from the part from the parent No. 1 gene before the intersection, the portion of the intersection from the 2nd gene of the father.
The drawing can be expressed as the above process as follows: (| means the intersection)
Gene 1
11011 | 00100110110
No. 2 gene
11011 | 11000011110
Child 1
11011 | 11000011110
Child 2
11011 | 00100110110
Of course, there are many ways to cross. For example, a direct improvement of this method is to choose several intersections. Cross may be complicated, which may be the reason for the gene encoding method! For specific issues we have to select a specific cross-over method to make the result of the genetic algorithm better!
Mutations
Once the cross is completed, the variation begins. The purpose of the variation is to prevent the solution in the population from being raised to the local extremum. Variation is a random change of the child. For binary coding, we can randomly change the number of a certain site in the sub-generation (1 becoming 0, or 0 to 1). Thus, the variation can be expressed as follows:
Before the mutation 1
1101111000011110
Before the mutation 2
1101100100110110
Multiple generation 1
1100111000011110
Multiple generation 2
1101100101110110
Obviously, the mutation depends on the encoding method and the cross method. For example, the variation can be cross two genes.
An example of a VI genetic algorithm
Ask for a smallest value
problem
In this chapter in the search space, we have mentioned that many of the problems we encounter can be converted to the extreme value of a function. The following example is just this problem.
Given some functions, then use the genetic algorithm to the minimum of these functions in a given space. For other problems, we can usually be converted to this problem by defining search space and adaptation functions.
Some parameters in the VII genetic algorithm
Probability of crossing and variation
There are two basic parameters in the genetic algorithm: the probability of crossover probability and variation.
The crossed probability is to say the magnitude of cross behavior, if the chance is 0, then the child is completely all the whole fathers. As long as there is a cross, the gene is combined by a fragment of several parents, so it is not completely like the parent. If the cross 100% occurs, then all subsets are generated by cross. If the crossed probability is 0%, then the child is a full replication of the parent. (Note: However, this does not mean that the child is exactly the same as the parent) The purpose of the crossover process is to hope that the new gene is combined with a good part of the old gene, thus new genes than the original gene. Good. Of course, some of the genes in the old population is fully remained in the next generation.
The probability of a variation is that the probability of variation of certain parts of the gene. If there is no variation, there is no difference between the child and the parent of the cross. As long as there is a variation, the gene of the child changes. If the probability of the variation is 100%, then all subsets will change. If the probability of the cross is 0%, then the child will not change. The purpose of the mutation is to prevent the generation of the genetic algorithm from running to a local extremum, so the variation should occur. But the variation can't happen too frequent, otherwise it will become a random search.
Some other parameters
There are other parameters in the genetic algorithm, such as the size of the population is a very important parameter.
The size of the population is to say that the genes contained in each generation population are. If there is too little gene, the less chances of crossover operation in the genetic algorithm, so that our algorithm is just a part of the search space. On the other hand, if there is too much gene, the speed of the genetic algorithm will become slow. Further studies have shown that under certain conditions (these conditions are mainly determined by the problem itself and the encoding method), it is meaningless because it does not speed up the calculation speed of the genetic algorithm.
VIII function's extreme point
problem
Here is a problem with the function of the function, but our function is a binary function in this example.
Example (here is a Java program, slightly)
IX selection operator
Introduction
As we have already known in the basic structure of genetic algorithms, the gene used to cross is from the parent population. So how do you choose these genes? According to Darwin's evolution, adaptive environment (good) gene will survive Down and cross the new generation. There are many ways to choose a good gene, such as a roulette choice method, a Tournament Selection, a Rank Selection, a Stable State Selection method (Steady State Selection) )and many more.
In this chapter, we will choose some instructions.
Roulette Wheel Selection
The choice of parents is made according to their adaptation. The more the gene is adapted to the environment, the greater the opportunity it is selected. Imagine a roulette's machine placed all the genes in the population. The size of each gene is proportional to its adaptation. As shown below:
Then start throwing the bullet, throwing it into that place, takes the corresponding gene. Obviously, the greater the chance of the genes, the larger the adaption, the larger the chance to be selected.
This process can be simulated by this algorithm:
1. [Ask] Calculate the adaptation of all populations and s;
2. [Select] A number R is generated randomly on the interval (0, s);
3. [Cycle] From a gene, the gene is taken one by one, and the adaptation degree is added to S (S is 0), if S is greater than R, stop the cycle and return the current gene; of course, the first step is calculated Only need to be executed once.
Rank Selection
The selection method in front is very simple, but there is a problem when the adapter changes. For example, when the best gene (the maximum rate of adaptation) in the current population accounts for 90% of S, then other genes are rarely selected.
The hierarchical selection method first divides a few grades. Each gene is then received in the respective levels. We define the worst level of adaptation to 1; 2, etc., the best level of adaption is defined as N (n is the number of genes in the population).
By the following two pictures, you can see what changes have before and after the grading.
In this way, all genes have a chance to be selected. However, this will result in slowing the convergence speed of the algorithm, because the best genetic and other genes are reduced.
Steady State Selection (Steady State Selection)
In fact, this is not a special way to choose a parent. The main idea of this method is a lot of genes to keep in the next generation!
So the genetic algorithm will be carried out in the following manner:
Select a small part of the gene (in line with the fitness) in each generation. Then, a part of the parent (not in conformity with the adaptation) was replaced by the newly produced sub-generation, and other human genes in the parent were retained in a new generation.
Elitism
Lessist thinking we have already introduced the previous. This idea is to say that when using cross-and variations, we have a large number of optimal solutions that may be obtained in a middle step.
The eliteism is as in its semantics, when we produce a new generation, we first copied the current best solution to the new generation. Then you do it as follows.
Classist methods can greatly increase the speed of operation, because it can prevent the best solution to find out!
Encoding
Introduction
When you start to solve the problem with genetic algorithms, the gene's code is a very important issue. The encoding method is dependent on the problem itself.
In this chapter, we will introduce several methods that have been successful in practice.
Binary code
Binary coding is the most common encoding method, mainly because the first program with the genetic calculation is used in binary encoding.
Each gene is a string consisting of 0 or 1 when using binary encoding.
Gene A
101100101100101011100101
Gene B
111111100000110000011111
Binary encoded gene
When using binary encoding, even if the number of alleles is not large, we can also get many possible genes. On the other hand, this method is very unnatural for many problems, so sometimes there are some adjustments after crossing and mutation.
-----------------
A question: Backpack Problem (Knapsack Problem)
Question: There are some given values and sizes here. The volume of the backpack is given. Please come to the backpack in the backpack in the absence of the backpack, so that the value of the backpack is the largest.
Encoding method: Each of the binary represents whether the corresponding thing is in the backpack.
-----------------
Interchange encoding (Permutation encoding)
Interchange coding can be used to resolve sort problems, such as TRAVELING SALESMAN PROBLEM and task sorting issues (Task Order Problems). Gene A
1 5 3 2 6 4 7 9 8
Gene B
8 5 6 7 2 3 1 4 9
Example of interchange coding
Interchange coding is only useful for sorting issues. Even if some of the problems in the sorting problem uses interchange coding, some adjustments must be made after crossing and mutation so that the gene remains consistent (for example, it is possible to generate real numbers).
-----------------
One question: Travelling Salesman Problem - TSP
Problem: Given some cities and distance between these cities. Travel companies have to go in all these cities, but it can't spend too much time. Look for a sequence to all these cities to make the travel route shortest.
Encoding method: The gene representation is to access the order of each city.
-----------------
Value encoding
In many problems, we can also use direct value encoding, which means to encode some complicated numbers, such as real numbers. Because binary codes are not easy to use in such issues.
In value coding, each gene is a string. These values can be any value related to the issue: integer, real, characters, or some more complex things.
Gene A
1.2324 5.3243 0.4552 2.3293 2.4545
Gene B
Abdjeifjdhdierjfdldf
Gene C
(Back), (Right), (Forward) (Left) (LEFT)
Value code
Value encoding is very effective for some special issues. However, for this coding method, its cross-and mutation operators are designed to design according to the problem and encoding method.
-----------------
One question: Finding Weights for Neural Networks (Finding Weights for Neral Networks)
Question: There are some structural neural network algorithms. Ask the weight of the input neuron to make the network we want the output.
Encoding method: Use a real number to indicate the weight of the corresponding input.
-----------------
Tree encoding
Tree coding is mainly used in the evolution programming or representation of genetic plans.
In tree coding, each gene is a tree structure consisting of numbers or symbols. These symbols can be a function, or some commands used in the plan.
Gene A
Gene B
( X (/ 5 y))
(Do_until Step Wall)
An example of a number encoding
Numerical coding is very suitable for evolutionary planning. Planning language Lisp is often used in it because many programs used in the plan can be readily expressed by digital structures, so that crossover operators and variation operators are relatively simple.
-----------------
One question: Select a function for a given argument and function value (Finding a Function from Given Values)
Question: A lot of group inputs and outputs are given. Please select a function for these input output, so that this function maps each input as the output as possible.
Encoding method: The gene is some of the functions in the tree structure.
-----------------
Xi cross and variation
Introduction
Cross and variations are the two most basic operators in the genetic algorithm. The quality of the genetic algorithm is determined by them. The type and implementation of these two operators is determined by the problem itself and the encoding method.
There are many ways to cross and variably. This chapter we introduce several examples through these examples you can use the construction method of crossover operators and mutation operators.
Binary code
1. Cross operator
◆ Single Point Crossover: Choose a cross point, the gene in front of the intersection is obtained from a parent gene, and the back portion is obtained from another parent gene;
11001011 1101111 = 11001111
◆ Two Point Crossover: Select two intersections, the child gene from a parent gene in the two intersections, and the rest come from another parent gene.
11001011 1101111 = 11011111
◆ Uniform Crossover: Each site of the child gene is randomly from one of the two parent genes;
11001011 11011101 = 11011111
◆ Arithmetic Crossover: Do an algebra operation for parent genes to produce a new gene. Here is the use and operational (AND) implementation:
11001011 11011111 = 11001001 (AND)
2. Variation operator
◆ Bit Inversion: Select some sites and convert 0, 1 in these places;
11001001 => 10001001
Interchange code
1. Cross operator
◆ Single Point Crossover: Select an intersection, the part from the initial position is copied from one gene, then scan in another gene, if a certain site is in the child , Add it to it;
Note: There are many specific methods behind this algorithm intersection;
(1 2 3 4 5 6 7 8 9) (4 5 3 6 8 9 7 2 1) = (1 2 3 4 5 6 8 9 7)
2. Variation operator
◆ Order Changing: Select two numbers from the child generation, exchange their position;
(1 2 3 4 5 6 8 9 7) => (1 8 3 4 5 6 2 9 7)
Code
1. Cross operator
The cross-binary coding in the above binary encoding is applicable.
2. Variation operator
◆ Adding CROSSOVER: For real-coded algorithms, you can add a small real number (disturbance) to the selected number:
(1.29 5.68 2.86 4.11 5.55) => (1.29 5.68 2.73 4.22 5.55)
Tree coding
1. Cross operator
◆ Tree Crossover: Choose an intersection (location) on both parent genes, then exchange them in the part of the intersection;
2. Variation operator
◆ Change crossover (changing operation): Select some nodes, then replace them;
XII Travel Business Problem (TSP)
(Travelling Salesman Problem)
Problem background
Travel Business Problem (TSP): Some cities and the distance between these cities. Travel companies have to go in all these cities, but it can't spend too much time. Look for a sequence to all these cities to make the travel route shortest. In other words, it is to look for the shortest Hamiltonian traversal from the full picture with N nodes. Algorithm implementation
We will use populations containing 16 genes, using exchange coding mode - you can find interpretations about swap coding methods in the previous chapter, and how to use this coding method to encode TSP issues. This TSP is solved on the full graph of the European's distance, the so-called fully figure is that each node in the map is directly connected to other nodes.
Note, add or delete the city to recreate new genes and then start again.
You can choose a crossover operator and a mutant operator from the following crossings and variation operators. I will give them a simple introduction.
Cross operator
● A point algorithm: a part of the child replicates from the parent a gene in a parent, and the other portions are copied in the original order in the original order of the parent;
● Two-point algorithm: The genes of the child have two parts to replicate from the parent a gene, and the other parts are copied in the original sequence in the original order of the parent;
● Do not cross: do not cross, completely copy from the father;
Variation operator
● Ordinary random algorithm: Choose a small number of cities to exchange their order;
● Improve the random algorithm: Select a small number of cities, if the switch can improve the solution to exchange their position;
● Improve symmetrical algorithm: Symmetly select some cities, if the switch can improve the solution;
● Optimize the random algorithm: first carry out "normal random algorithm", then "improve the random algorithm";
● Optimize the symmetrical algorithm: first "normal random algorithm", then "improve the symmetric algorithm";
● No variation: no variation;
example
The following example is a TSP demonstration, pressing the "Change View" display a process or reverse order display of the population to the optimal solution. You can use your mouse to add or delete the city on the figure. A random route is generated in the middle of the city after adding or deleting the city because the program has established a new population. Of course, don't forget that we solve the TSP problem on a full map.
Choose different cross-operators and mutation operators to make the program to calculate (and increasing the number of urban) to see what changes will this genetic algorithm program.
This program is known to the BUG: Click Change View before you do it, otherwise you will find that the program is running without any changes during some browsers. I use cardlayout, I don't know how to make this applet work normally. If you know, please send me email to tell me.
Xiii recommended
Parameters in the genetic algorithm:
In this chapter we recommend some materials to those who want to use the genetic algorithm to solve the problem. Of course, these recommended materials are very general. So in your specific problem, you may have to experiment with some parameters, because so far, there is no theory of algorithm parameters for the genetic algorithm all applications.
Below, these recommended materials are the results of experimentation in the study of genetic algorithm, which are only suitable for binary coding.
● Cross rate
Cross rates generally should be relatively large, and 80% -95% is recommended. (There is also the result of yourself saying 60% is best.)
● Variation rate
Variable rates are generally smaller, depending on 0.5% -1% of the best. ● Size of population
What is amazed is that the scale of the relatively large population does not optimize the result of the genetic algorithm. The size of the population is recommended to use 20-30, and the results you have drawn 50-100 is best.) Some studies have shown that the size of the population is depends on the method of the encoding. Specifically, the encoding string is size. That is, if the size of the population is preferably 32 when using a 32-bit gene encoding, the size of the population is correspondingly twice the size of the population when the 16-bit gene encoding is employed.
● Select algorithm
It is recommended to use basic roulette choices, but sometimes grading selection methods may be better. Check out that chapter, you can look at their advantages and disadvantages. Of course there are some complicated methods available, which can automatically change parameters during the operation of genetic algorithm, and the behavior of the algorithm and the simulated annealing algorithm are similar. If you don't use a special way to save the best value that has been discovered, you must use an eliteist. You can also try to use the Steady State Selection.
● Coding method
The encoding method depends on the number of questions in the problem itself and the problem. View Coding This chapter You can get some suggestions or some other resources here.
● Types of intersections and variations
These two operators depends on the problem and encoding method. You can get some suggestions. You can also view these sites below.
Genetic algorithm application
Genetic algorithms have been used in many complex issues (such as NP-challenges), machine learning and simple evolutionary planning. Genetic algorithms have also achieved great achievements in some art fields, such as evolution pictures and evolutionary music.
The advantage of genetic algorithms is his parallelism. The genetic algorithm moves very independently in the search space (according to genotypes rather than a manifestation), it is almost impossible to "stick" in a local extremum like other algorithms.
Genetic algorithms are easier to implement. Once you have a procedure for genetic algorithms, if you want to solve a new problem, you only need to re-perform the gene encoding for new questions. If the encoding method is the same, then you only need to change the adaptation function. Of course, the choice of encoding methods and adaptation functions is a very difficult problem.
The disadvantage of the genetic algorithm is that its calculation time is too long. They may be longer than any other algorithm. Of course, for today's high-speed computer, this is not a big problem.
In order to better understand the problem solved by the genetic algorithm, there is a small list of genetic algorithm applications:
● Nonlinear dynamic system - prediction, data analysis
● The structure and weight design of neural networks;
● Automatically control the orbital design of missiles;
● Evolution LISP planning (genetic plan);
● Strategic plan;
● Search of the shape of the protein molecule;
● Trainers issues and time sequence sorting problems;
● Component function problem;
More information You can find the link in the attachment.
About these pages
These pages are developed in Marek Obitko, Czech Technical University, developed in September 1998 in Hochschule Für Technik und Wirtschaft Dresden (FH).
The first few versions of Java Applets were written under the guidance of Czech Technical University at the guidance of Professor Assoc in the 1998 Summer semester. During Dresden stay, he is also guided by Professor Walter P? Tzold of Hochschule Für Technik und Wirtschaft Dresden. Pages and Java Applets are founded by Marek Obitko1998. If you have any comments and suggestions, you can contact the author through the email.
Answer questions
1. Question: Applets don't work, I see that it is wrong. what do I do?
Answer: First, take a look at the recommended browser first.
Your browser may not be a Java1.1 version, and even some browsers say that they support Java1.1, only support JAVA1.0 (where no new event drive mode). I recommend you to upgrade your browser.
It is also time the error occurs because in this case, in this case, you only need to re-download it or try again after a while. If you are similar to the error that Class Population Not Found, you can re-download http://cs.felk.cvut.cz/~xobitko/ga/java/population.class and then download the web page together with the applet to run it. .
2. Question: I have a question about a genetic algorithm. Can you help me?
Answer: Of course you can. You can send me email. If I have time (this situation is not much) I will help you. Best, you put the problem POST to the newsgroup comp.ai.genetic, where your problem will have more opportunities to be answered by some people.
3. Question: Can this website download as a file?
Answer: Yes. Can be downloaded as a compressed PDF file. Download Acrobat Reader here, this software can be read. That PDF file. Of course you can't see the relevant Applet presentation.
4. Question: Do you have a similar page about the neural network?
Answer: I really want to find time to do one. Currently, you can browse the following page, there is a predictive forecast applet for use after using the nerve network method.
5. Question: Is there a translation version of this website?
Answer: Here this website is available online Japanese version and Chinese version.
Japanese version at http://gekms3.tmit.ac.jp/mana/file/ga/index.html by Ishii Manabu
If I have time, I will translate him into a Czech.
Welcome to translate this site into other languages. If you want to translate, please contact me.
6. Question: Is there any access statistics on this website?
Answer: There is, the website's access statistics are here.