Тематический выпуск
Раздел 2 ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ
y^K 658.512
V.M. Kureichik, B.K. Lebedev, E.V. Nuzhnov1 APPROACH TO GENETIC SWITCHBOX GRIDLESS ROUTING
Abstract
A new approah to switchbox (SB) gridless routing with different nets width in the phisical design process of VLSI circuits is presented. The base algorithm consists of three algorithms (A1 heuristic router, A2 genetic router, A3 router for unrouted nets). AI preroutes special nets fragments, A2 is based on special coding and encoding schemes and on modified genetic operators. A3 deals with nets which remain unrouted and takes attempt to route them by using the original tiles Presentation of each layer in SB layout. The performance of the algorithm is tested on different benchmarks and test examples. It is shown that the results obtained using the proposed approach are either qualitatively similar to or better than the best published results.
Introduction
In physical design process of very large scale integrated (VLSI) circuits the logical structure of ® circuit is transformed into its physical layout. Routing is one of the important tasks in this process, ‘he routing problem is NP-complete [1, 3, 7]. Therefore there are no efficient algorithms solving it in Po|ynomial time. So the development of new approaches and heuristics for routing represents an actual problem. The objective of the routing phase is to complete the interconnections between blocks acc°rding to the specified netlist. The space not occupied by the blocks is partitioned into rectangular regions called channels and switchboxes (SB) [1].
In our approach we consider only SB-problem. SB routing problem is a generalization of the cnannel routing problem, where pins are located on all sides. There maybe a four sided enclosed re8'on within which the routing must be completed or a four sided region maybe formed due to the intersection °f two channels. SB routing problem is more difficult than a channel routing problem ecause the main objective of channel routing is to minimize the channel height whereas the objective
0 SB routing is to ensure that all the nets are routed [3,4, 6, 9 - 12, 15, 17].
In our approach it is assumed that the pins are fixed on the boundaries, the routing area in a SB ® fixed. In general there are two kinds of SBs: 2D-SB and 3D-SB. 2D-SB is a rectangular area ounded by blocks on all sides. It has pins on all four sides. 3D-SB is a rectangular area with pins on
s'x sides. Below SB is treated as a 2D-SB.
The routing is usially done in two phases, referred to as the Global Routing (GR) and Detail Routing (DR). gR specifies the different regions in the routing space witch a wire should be routed ^®ugh. DR includes channel routing and SB routing and is done for each channel and SB. DR
°mplets point-to-point connections between pins of the blocks.
. The routing problem is known to be computationally hard. Owing to nature of the routing 8°rithms, complete routing of all the connections cannot be guaranteed in common cases. So for the of such problems the heuristics and specified algorithms have to be created [1, 7, 9, 17]. e [4] a gridless multilayer channel router based on a combined constraint graph and tile
Pension approach is described. It maybe used for rip-up and reroute process in channel, it does not
Работа
выполнена за счет частичного финансирования по гранту РФФИ № 99-01 00050
take into account SB requirements. In [5] the most SB routing problem background and retrospective are presented. Unfortunately new technique requires the gridless SB routing, multilayer (several metal layers and Poly-Si layer), wide nets and another constraints. In [6] gridless router is discussed for non-wide nets. In [8] genetic algorithm for channel routing is described. It shows the possibility of genetic algorithms to channel routing tasks solving. Research [14] confirms effectiveness of genetic search for channel routing problem. In [15] a new two layer symbolic channel router is described. So the development of multilayer SB gridless routing algorithms for nets with different width and other special constraints is important.
New techniques for routing of gridless multilayer SB are performed. These techniques can include a variety of technology constraints (layers number, different width of nets, vias, branches, doglegs and trunks, spacing, pins can be located at arbitrary position on off-grid points, pins can be on any layer and can be stacked on a multiple layers and etc.) and perform design rules. These techniques have been implemented in a new SB router called Compactor SBR.lt is flexible and consists of three main parts: heuristic routing, genetic (evolution) routing, (post-) routing for unrouted nets.
Using of heuristics, simulated evolution and post-routing approaches for the gridless routing gives us possibility to obtain decision with maximum percent of realised nets within given limited SB 3D-space. Our algorithm may route SB which consists of up to 100 pins located on each side of SB. We solve the above-sized problem about 5 minutes on the SPARC 10 workstation. Our approach is based on the ideas of simulated evolution, genetic algorithms and some ideas from [1 - 17].
Problem description
Usually SB routing problem is studied with two main restrictions: there is a greed superimposed over the routing region, there is no grid (gridless case). In our algorithmic approach we research gridless case. Gridless SB routing algorithms may be classified as follows: Greedy routers, Genetic routers, Adaptive routers, Rip-up and Reroute routers, others (Hierarchical, Multi-commodity flow based, Expert etc.) [1].
Gridless multilayer (metal layers Ml, M2, M3 and Poly-Si layer) SB Router with reserved layers (VHV- or HVH-model) is developed. SB router differs from other algorithms [1, 3, 17]: modified genetic line search, new metrics-topological models. A new effective SB router has to consist of two main parts: Contructive SB router (CSBR) and Rip-up and reroute SB router (RRSBR). CSBR may include Heuristic Router, Genetic Router and Adaptive Router. The main purpose of CSBR is to obtain the complete multilayer layout of all nets within SB square and in 4 layers. Design rules have to be performed. If design rules are not performed or unrouted nets or some trunks, doglegs and branches appear, then go to the second part. RRSBR may include Router for Unrouted Nets and Rip-Up And Reroute Router. RRSBR performs: additional routing of unrouted nets or their parts , rip-up and rerouting of nets or their parts which were routed with violence. CSBR performs two main procedures: partitioning procedure (PP), compaction procedure (CP).
PP divides each net into connected fragments (trunks, doglegs and branches) with partially fixed borders within SB space. Some heuristic prerouting operations may be done here.
Then CSBR is reduced to lD-compaction of nets. lD-compaction is performed along one horizontal or vertical direction chosen with changing these directions. 1 D-compaction is performed by means of sequential pressing of nets fragments to chosen SB border (top or left) in given order.
CP is based on combinatorial tasks of nets fragments ordering and permutation. Such tasks may be effectively solved by using of genetic algorithms. So for CSBR effective solving new modified genetic algorithms were developed. CSBR result is the model of fragments relative reciprocal location presented by means of some four section models for each layer separately.
RRSBR process is based on the analysis of common model which was created at the end of CSBR. This model presents two subgraphs of busy SB space and empty SB space which are available for rip-up and rerouting. The main element of model is a block. There are three types of blocks -metal, via and "empty". Graph defines the relations between blocks. Node of graph is a block. Two nodes of graph are connected by the edge, if corresponding blocks have common border. The weight of edge is equal to width of border between these blocks. Additional routing is reduced to search of paths on the subgraph of empty block connections. If additional routing is not successful then the
local transformations (LT) are performed. LT include two main procedures: deformation and break. These procedures are performed iteratively or recoursively, but may cause some cycles. Some variants of cycles breaking in RRSBR are developed. To avoid oscillations, the total number of iterations is
input selectable
Let us present general structural scheme of gridless multilayer SB router (fig.l). Note that rip-up and reroute cycles number and generations number in genetic router is a control parameter (input
SeleCtaCompactor SBR has ASCII Input/Output interfaces. The base execution environment for running the software is IBM PC and may be SPARC station. The program is written in C++.
Time complexity for Heuristic Router approximately 0(a n), where n net number for Genetic Router - approximately 0(b*n) - 0(c*n 2) and depends on generations number and popu at.on and chromosome sizes; for Router For Unrouted Nets approximate^ 0(d*n) 0(e*n ). So
Compactor SBR time complexity is approximately great or equal 0(f*n ). Here and below b, c, d, e, f, ■ certain coefficients, considering algorithms features.
Algorithms description
A1 is used for some nets prerouting. These connecting terminals in the comer of SB and lying on the adjacent sides of SB, adjacent terminals, lying on the same side of SB (their layout presented as a horseshoe), terminals, lying on the opposite sides of SB and may be connected by a single straight wire.
С
INPUT
HEURISTIC ROUTER
1
OENETIC ROUTER
—
r adaptive ROUTER
F»g-1 . .
conn of' ^ V6ry f3St alg°rithlT!' Uf scme°n the comer'temtnals on the adjacent srtes of SB
ect unique pairs of terminals of nearest to given SB comer among given SB side
^connected. Comer teiminal in °"aPP%8^ nets the queue is created. Comer
w“? haVing thC Single r0Ut?.vaTt; ftf ¡„creasing lenght between them. Second the subset of
lerm!na S °.f .given net 316 r0U. °ror SB are routed as single straight wires (at the beginning -terminals, lying on the opposite sides of SB are rouieu
horizontal, then vertical). Third the subset of adjacent terminals, lying on the same side of SB are routed as horseshoes. Note, that corner, horseshoe and straight wire connections may be implemented in three metal layers.
A2 is a genetic algorithm (GA) lor all unroutcd nets. GAs carry out optimization by simulating biological evolutional^ process [2]. In our genetic SB routing algorithm the principle known as ’’the survival of the fittest” can be used for SB routing process organization. Individual (chromosome) can be defined as SB routing result. Routing quality can be evaluated to producc a mesurement of the chromosome fitness (goal function) [7, 8, 14, 16]. The genetic algorithm is combinatorially-logical probability one. First genetic algorithm generates an initial population of random directing created chromosomes (SB routing results) for given SB routing problem. This population is subjected to a simulated evolution process consisting of three main operations: Selection, Crossover and Mutation. If genctic algorithm works better and better, evaluated chromosomes which dominate in the population are generated. It takes place because chromosomes have a higher probability of reproducing descendants can inherit the best fitness of their predecessors. These best evaluated chromosomes are SB routing results.
Let us describe genetic encoding scheme for GA. Here genotype is the coding of the information of chromosome, the phenotype is the physical appearance of the chromosome. Genetic operators are carried out on the genotype, goal function has to be expressed in terms of the phenotype. So in GA we have: population set of task decisions (i.e. set of encoded SB routing variants), chromosome - one certain encoded SB routing variant, gene - one clement of chromosome presenting relative fragments location for certain group, phenotype - SB layout, genotype - encoded Sb layout, fitness - goal function of SB routing, genetic operators (crossover, mutation, selection) - specialized permutation procedures for elements of chromosomes.
All received fragments are groupped in several subgroups. The first subgroup includes comer fragments, adjacent to the left SB edge. The second subgroup includes all non-comer connections. This subgroup often may be divided into some additional subgroups with the same properties. The third subgroup includes corner connections, adjacent to the right SB edge. The first group fragment may include connection to pin lying on the left SB edge. The third group fragment may include connection to pin lying on the right SB edge. Side views of fragments within the whole SB may overlap or not, side views of one and the same subset have to overlap necessarily. Each fragment may have its own spacing. In this case special approach has to be used. Constraints graph is created. Let us have two fragments fi and fj. If (ri + spacing(fi) ) n Ij or ri I ) (Ij - spacing (fj)) then fi, fj make conflict. Fragments set dividing on some subsets realizes as follows: choose fi, having minimal value of (li + spacing(fi)), in set of fragments; determine fragments subset, having conflict with fi; delete this subset from the set of fragments. These three steps are repeated until set of fragments becomes empty. Fragments of each subsets may be ordered randomly. Then each subset Si becomes procession or vector Vi.
On the base of encoding scheme let us define chromosome description. Each chromosome in population consists of genes. Genes number in chromosome is equal to G. Each gene corresponds to vector Vi described above. All chromosomes have one and the same length. Each chromosome is corresponding to SB routing result. The genotype building process is complete. Each chromosome may be presented as the matrix.
First in GA the initial chromosome is created as it is described above. On the base of the initial chromosome the initial population is formed. It is realized by means of random permutation of elements in genes. The population size for any stage of algorithm has to be constant and equal to N. So algorithm contains the special reduction operation. To transform genotype to phenotype it’s nesessary to define decoding process. It is realized as consequent compaction of net fragments: 2D-compaction for fragments of the first and the third groups, 1 D-compaction for fragment of the second group. 1 D-compaction is realized as pressing of nets trunks to the top edge of SB, but their branches migrate with corresponding trunks. 2D-compaction for fragments of the first group is realized as pressing of nets trunks to the top edge of SB and pressing of nets branches to the left edge of SB. 2D-compaction for fragments of the third group is realized as pressing of nets trunks to the top edge of SB and pressing of nets branches to the right edge of SB.
Results of genetic routing are defined by the order of fragments compaction. The order of fragments compaction is defined by corresponding chromosome. Note, that genetic router provides the priority routing of critical nets by means of following rule. When the population is reduced, chromosomes which correspond to layout containing the maximal percent of routed critical nets remain.
Our Genetic Router in contrast to existing GA [ 1, 8, 14,16 ] has following features:
• new chromosome structure (decision). It gives us a possibility to describe real SB layout
• n“!li gene structure. It is the most similar to the model for the real chromosome and gene in biological structure. It gives us a possibility to find homologous genes and chromosomes and by means of crossover and mutation operators using always to get legal
decisions (real and correct SB layout); .... . .. ,
• nets fragment compaction is implemented simultaneously with chromosome decoding. It
gives us a possibility to accelerate the process of genetic search and to decrease CPU time
for SB routing; - ,
• special modifications of crossover and mutation operators, they are universal and more
simple in realization. ... ... .
To increase SB routing efficiency a heuristic routing algorithm would be used. It uses some adaptation principles. This algorithm deals with the best solution of SB routing. This algorithm is iterative.The net is unlocated trunk. Trunk is the object of adaptation. Adaptation has local and globa target. Local target is to find the legal location for each trunk. Global target is to find the legal location for all nets of SB with fitness optimization. Each iteration of adaptive approach has four steps;
• step 1 - estimation of the surroundings state and estimation of objects within surroundings. The
object is a topological fragment, for example, a trunk,
• step 2- development of signal for stimulation or punishment; ...
• step 3 - adaptation automata goes to another state in accordance with control signal;
• step 4 - realization of alternative behaviour of object in accordance with state of adaptation
“аз may be used after A1 and A2 if time limit gives us such possibility. A3 is a heuristic routing algorithm for routing unmuted nets. This algorithm includes the following mam procedures; wouted nets ordering; choice of unrouted net (I) to route now; dual routing model (DRM) creating; routing net I using DRM. Ibis algorithm has to work only if previous algorithms gave non-complete SB routing results Nets to be routed have to be sorted by certain enter,as. Mam cmena ,s the net priority. « considers the case of critical nets presence. Besides that two additional citterns are used I* ft* criteria is the distance <D) between connected points. Nets having on. and the same priority h»e to sort in order to decrease D. The second criteria is the distance (DC) between the net center and SB center. Nets having one and the same priority have to be sorted in decreasing DC order. Customer may set the order of the additional criterias checking.
A layout can be represented easily if Й is •"» * collection of tiles A tile is a
«•»angular section of the layout within a single layer. The tiles are no allowed to over ap withm a '*№. The elements of a layout are refetred to as block tiles. A block tile can be used to represent metal and Poly-Si segments The area within a layout that does no contain the block ls referred as vacam space Convening the vacant space into a collection vacant tiles can be done by extending the “PPer and lower boundaries of each block horizontally to the left and to the right mhl it encounters «Other block or the boundary of the layout [4]. In this plan vacant tries are represented into maximal horizontal strips. The dual tile plan can be done by extending the left and right boundaries of each Ыоск vertically to the top and bottom until it encounters another block or the bound«y of the layout. >" dual tile olan tiles are represented into maximal vertical strips. Some groups of strips can be combined in» common strip И provide the wide nets routing. Both plans represent DRM tobuild the №ph for the routing proceL »¿mizing. И» individual DRM “™P»*‘» «* Therefore, *e have four DRMs in our approach. So we may obtain vias realization between layers on the base on ^e four DRMs. The graph node ».responds to the vertical or the horizontal strip (tile). If some
vertical and horizontal strips are overlapping then the corresponding nodes are connected by the edge. The edge height is equal to the minimal width of overlapping strips.
Routing process between two or more pins is the search of connection tree (net) in graph. Search process is realized on the base of mase or Deijkstra’s routing ideas f 1] by means of two main steps. The first step is connection tree building. The second step is exact definition of every net fragment within corresponding strips of DRM graph.
Our approach in contrast to existing method for DRM graph construction [ 4 ] has following features:
• maximal spacing is considered during DRM graph construction. It gives us payoff during
routing and loss during DRM reconstruction for routing nets having another spacing;
• our DRM permits any number of tiles connections comparatively to Sechen approach [4]. It
increases DRM size but permits to find decisions with the best quality;
• additional combined tiles may be constructed to route more wide nets and effectively route
nets with different width and spacing;
• eah tile of our DRM is located in certain layer. Crossing of horizontal and vertical tiles
permits to realize vias between several layers.
If after previous algorithms running there is not complete SB routing, then Rip-Up And Reroute procedure is needed [1, 4 - 17]. It may be realized as a heuristic iterative algorithm for some parts of unrouted nets. There are three main types of unrouted nets: nets remaining unrouted after Heuristic, Genetic and Adaptive algorithms running; parts of nets pairs which are overlapping; parts of nets which are isolated after previous routing.
The next operations may be used [1, 5]: trunk removal (rip-up and rerouting in local area of
SB); pair exchange of trunks; group exchange of trunks; trunk redistribution.
All these operations are performed on DRM graph. For overlapping parts of nets pairs three procedures are used: the first net part removal and rerouting; the second net part removal and rerouting; the both nets parts removal and rerouting.
Expcrimcnal results and conclusions
We checked performance for heuristic, genetic and router for unrouted nets algorithms. Then executive flow testing for Compactor SBR parts running was checked. After that design rules and constraints compliance were checked for all algorithms separately and for Compactor SBR at all. All tests were run on IBM PC Intel Pentium 266 and SUN Sparc Station 5. Heuristic Router research shows its positive influence for the next algorithm running by means of preliminary fast special nets or its fragments distribution. Genetic router research included different analysis types: population size and type (random, directed); generations number influence; selection type influence; mutation and crossover operations probability. The mentioned analysis goal was to determine a controllability and parameters values for the best algorithm application and results (running time, complete SB routing). Post-production testing was implemented for known Burshtein example [3].
For the first checking an attempt to define the optimal values of population size and pairs
number was made. The following parameters values were fixed: generations number: 100; crossover type: two-pointed; pair choosing: lider with random; chromosome mutation probability: 5%; gene mutation probability: 5%; selection type: random (Montc-Carlo). Population size was changed from 50 to 150 by 50. Pairs number was chosen as 20%, 40%, 60%, 80%, 100% from population size. These checkings show that the best results were obtained when population size was 50 and pairs number was 50. The last best solutions may be obtained even in the last generation, it shows that given generations number was not enough. For the second checking an attempt to use the multi-pointed crossover and to choose the crossover probability optimal values was made. The following parameters values were fixed: generations number: 100; crossover type: multi-pointed; pair choosing: lider with random; pairs number: 50; chromosome mutation probability: 5%; gene mutation probability: 5%; selection type: random (Monte-Carlo). Population size was changed from 50 to 150 by 50. Crossover probability was changed from 10% to 50% by 10% (Checkings with great probability values were not made because in general case probability {50% - x} (where x belongs to [0,50]) is equivalent to {50% -fx} for given crossover). The best results were obtained when
population size was 50 and crossover probability was 30%. For the third checking an attempt to choose mutation probability of chromosome and gene values were made. The following parameters values were fixed: generations number: 100; population size: 50; crossover type: multi-pointed; crossover probability: 30%; pair choosing: lider with random; pairs number: 50; selection type: random (Monte-Carlo). Chromosome mutation probability was changed from 5% to 20% by 5%. Gene mutation probability was changed from 5% to 20% by 5% The best results were obtained when chromosome mutation probability was 10% and gene mutation probability was 15%.
Time and memory complexity. To define time and memory complexity the checkings of tasks solving were made for dimension (pins number for SB): 20, 40, 80, 120, 160, 200, 250, 300.
For each dimension 150 random tasks were generized. For each task running time of Genetic A'gorithm, RAM usage and number of chromosome decoding function calls were determined. After successful or unsuccessful genetic task solving the task for Router For Unrouted Nets were formed. For post-routing running time and RAM usage were determined.
After Genetic Router analysis some conclusions would be made.
1. Genetic Router run time has approximately linear dependence from generations number,
while other parameters have constant values.
2. When generations number increases and other parameters have constant values, as a rule fitness (goal function) becomes better to the certain limit, after that fitness saturation occures. But if generations number will increase strongly, fitness becoming better, but not large, may occur again. Such situation tells us about several local optimums presence. Let us note, that generation number control does not solve the preliminary convergence problem (local optimums leaving) in general case.
3. Population size affects on running time and decision quality. But this dependence is very complicated, moreover population size increasing sometimes causes fitness deterioration increasing.
4. There is some optimal population size, that may give the best results, while other parameters ave constant values. This value may be determined after great number of statistics testing.
3. After fitness deterioration getting (probably it is local optimum), it is better to stop generations number increasing and to stop whole genetic process to choose new parameters values.
6. It is important to present fitness type, form and behaviour more precisely.
7. Experimental research shows, that to improve SB routing quality, crossover operator Probability has to tend to I, mutation operator probability has to tend to 0.001.
8. Perspective is to use the parallel genetic search, when two or more similar genetic search processes are realized simultaneously for different population parts, which are distributed on parallel
PUs. The similar testing work was implemented for Router For Unrouted Nets.
We presented a multilayer gridless switchbox router based on the combination heuristic router, genetic router and router for unrouted nets. Our gridless switchbox router achieves solutions not only tor switchboxes but for multilayer channels. We checked some difficult benchmaks of Deutsch, Urshtein, Joobbani, Marek-Sadowska and others and got good results.
5. Acknowledgment.
d. The authors would like to thank Marius Orlowsky, Motorola Соф., USA for the fruitful ISscussions and financial support of this work.
REFERENCES.
L Shervani. Algorithms for VLSI Physical Design Automation. Second edition, Kluwer
^ademic Publishers, 1995, pp.538.
D Goldberg. Genetic Algorithm in Search, Optimization & Machine Learning. USA.Addison-wessley, 1989
1986 H Burshtein- Channel routil,g’ Layout deS'8n and veriflcation' Elseivier Science> PP- 133 - >67,
Hsiao-Ping Tseng and K.Sechen. A Gridless Multi-layer Channel Router Based on a Combined °nstraint Graph and Tile Expansion Approach. ISPD-96, pp.210-217,1996.
' №. Marek-Sadowska Switch box routing: a retrospective. INTEGRATION, the VLSI journal PP- 39-65, 1992.
6. R.B. Pyke. A Gridless Switchbox Router.IEEE Custom Integrated Circuits Conference, pp. 629-632, 1987.
7. V. Davidenko, V. Kureichik, V. Miagkikh. Genetic Algorithm for Restrictive Channel Routing Problem. Proceeding of the seventh 1C on GA, USA, pp. 636-642, 1997.
8. J.Lienig, K.Thulasiraman. A Genetic Algorithm for Channel Routing in VLSI Circuits. Evolutionary Computation, 1(4), pp. 293-311, 1994.
9. F. Kagan Guerkaynak. A Discussion of Current Routing Area Minimization Techniques. Advanced VLSI Design Tools and Techniques Final Project, pp. 1-15, 1996.
10. D. Braunt et all. Chameleon: A New Multilayer Channel Router. 23th DAC, pp. 495-502, 1986.
11. Key-Yong Khoo, J.Cong. An Efficient Multilayer MCM Router Based on Four-Via Routing. 30th DAC, pp.590-595, 1993.
12. V. Schemelinin, A.Danilin. Operator Method for Switchbox Routing. Proceedings of IC ICAD-96. Russia, pp.204, 1997.
13. B.Lebedev. Channel Routing on Base Genetic Procedures. Proceedings of IC ICAD-96. Russia, pp.53-60, 1997.
14. N.Taniguch et all. Ail Approach to Channel Routing Using Genetic Algorithms. Bulletin of Faculty of Engineering, Tokushima University, N38, pp. 99-112, 1993.
15. ./. Reed, A. Sangiovanni-Vincentelly, M.Santomauro. A New Simbolic Channel Router: YACR2. IEEE Transactions on CAD, vol. CAD-4, NO 3, 1985, pp. 208-219.
16. Rahmani A.T., Ono N. A genetic algorithm for channel routing problems. Proceedings of the Fifth International Conference on Genetic Algorithms. San Mateo. CA: Morgan Kaufmann, pp. 494-498, 1993.
17. Yoshimura 71, Kuh F.S. Efficient algorithma for channel routing. IEEE Transactions on Computer-Aided Design, 1(1), pp. 25-35, 1982.
YJ\K 658.512
S. Dcrgatchev1
AN ANALYSIS OF GENETIC ALGORITHMS USING EVOLUTIONARY DYNAMICS
Abstract: A formalism is developed for studying Genetic Algorithms by considering the evolution of the distribution of fitness in the population. The effects of selection on the population are problem independent The formalism predicts the optimal amount of selection. The theory is found to be in good agreement with simulations. Metastability is a commonly observed phenomenon in many population-based dynamical systems. In such systems, including evolutionary search algorithms, models of biological evolution, and ecological and sociological systems, the state of a population is often described as the distribution of certain features of interest over the population. A commonly observed qualitative behavior is that the distribution of these features alternates between periods of stasis and sudden change. Extended periods of time in which the system seems to have stabilized on some feature distribution are interrupted by brief periods of sudden change. In natural systems and in many models, epochal behavior is undoubtedly the result of a complicated and poorly understood web of mechanisms. In this paper wc identify the mechanism that underlies the occurrence of epochal behavior in a simplified genetic algorithm. In the mechanism's most general form, metastability is induced in an area of state space where the local "flow" of the dynamics is small compared to a scale set by the population's finite size. The dynamics becomes too weak to drive changes in the finite population. More specifically, we will see that the metastability can be associated with an "entropic barrier" that the finite population must pass in moving through the "slow" part of state space. Metastability due to such entropic barriers is contrasted here with the more traditional explanation of metastability as being induced by "fitness barriers" In the latter the population stabilizes around a
1 Данная работа выполнена за счёт финансовой поддержки гранта РФФИГР № 98-01-01-022 96