����Ū���르�ꥺ�� (GA)

The GA is a heuristic optimization method which operates through determined, randomized search. The set of possible solutions for the optimization problem is considered as a population of individuals. The degree of adaption of an individual to its environment is specified by its fitness.

GA �ϳ�������ॵ��������Ѥ����Ժ���Ū�ʺ�Ŭ�� ��ˡ�Ǥ�����Ŭ������β�θ���ν���ϡ����� �� �����Ȥߤʤ���ޤ���������ΤδĶ�Ŭ����ٹ�ϡ� ����Ŭ�����Ǽ�����ޤ���

The coordinates of an individual in the search space are represented by chromosomes, in essence a set of character strings. A gene is a subsection of a chromosome which encodes the value of a single parameter being optimized. Typical encodings for a gene could be binary or integer.

�������֤ˤ�������Τκ�ɸ�� ������ ��ɽ���� �졢���μ��Τ�ʸ���󽸹�Ȥʤ�ޤ��������� �ϡ� 1 �Ĥκ�Ŭ���оݤΥѥ�᡼�����ͤ򥳡��ɲ����������Τΰ����Ǥ������� �ҤΥ����ɲ��ˤ� �Х��ʥ� �ޤ��� �������褯���Ѥ���ޤ���

Through simulation of the evolutionary operations recombination, mutation, and selection new generations of search points are found that show a higher average fitness than their ancestors.

�Ƹ����������Ѱ��� �����Ȥ��ä��ʲ������ϵ����ơ������ݥ���Ȥ� ���������Ĥ���Ŭ����ʿ�Ѥ��⤤����������¹��õ���ޤ���

According to the "comp.ai.genetic" FAQ it cannot be stressed too strongly that a GA is not a pure random search for a solution to a problem. A GA uses stochastic processes, but the result is distinctly non-random (better than random).

"comp.ai.genetic" �� FAQ �ˤ��ȡ� GA ���������Ѥν��ʥ����ॵ�����Ǥʤ����Ȥϡ� ����ۤɶ�����Ĵ����ʤ��Ƥ�褤�Ȥ��Ƥ��ޤ���GA �Ͽ�׳�Ū�ʽ�����Ԥʤ��ޤ��������η�̤ϸ�̩�ˤ��������Ǥ��� �ʥ��������ɤ���ΤǤ�����

 

Structured Diagram of a GA:
---------------------------

P(t)    generation of ancestors at a time t
P''(t)  generation of descendants at a time t

+=========================================+
|>>>>>>>>>>>  Algorithm GA  <<<<<<<<<<<<<<|
+=========================================+
| INITIALIZE t := 0                       |
+=========================================+
| INITIALIZE P(t)                         |
+=========================================+
| evalute FITNESS of P(t)                 |
+=========================================+
| while not STOPPING CRITERION do         |
|   +-------------------------------------+
|   | P'(t)  := RECOMBINATION{P(t)}       |
|   +-------------------------------------+
|   | P''(t) := MUTATION{P'(t)}           |
|   +-------------------------------------+
|   | P(t+1) := SELECTION{P''(t) + P(t)}  |
|   +-------------------------------------+
|   | evalute FITNESS of P''(t)           |
|   +-------------------------------------+
|   | t := t + 1                          |
+===+=====================================+
P(t)    ���� t �ˤ��������ĤȤʤ�����
P''(t)  ���� t �ˤ������¹�Ȥʤ�����

+=========================================+
|>>>>>>>>>>>  GA ���르�ꥺ�� <<<<<<<<<<<<|
+=========================================+
| t := 0 �ǽ����                         |
+=========================================+
| P(t) ������                           |
+=========================================+
| P(t) ��Ŭ������ɾ��                     |
+=========================================+
| ��ߴ���ã����ޤǼ¹�                |
|   +-------------------------------------+
|   | P'(t)  := �Ƹ���{P(t)}              |
|   +-------------------------------------+
|   | P''(t) := �����Ѱ�{P'(t)}           |
|   +-------------------------------------+
|   | P(t+1) := ����{P''(t) + P(t)}       |
|   +-------------------------------------+
|   | P''(t) ��Ŭ������ɾ��               |
|   +-------------------------------------+
|   | t := t + 1                          |
+===+=====================================+