做肠镜打麻药好吗?:救命啊~谁帮我英文翻译

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 23:47:18
最近写毕业论文用的,自己翻可能会速度很慢,所以求助各位大虾~好的话,感激得五体投地阿~一定追加分数~

文章见楼下~

基因算法
基因算法的目的是确定哪些体应该生存, 那些应该繁殖, 哪些应该死去。它记录统计和并且决定演变应该继续多久。一种基因算法典型地没有明显的停着的标准。您必须告诉算法何时停止。很典型地,数字世代被使用当一个停着的措施, 但您可能使用最佳解答、统计人口, 或任一个你更喜欢问题具体标准。图书馆包含基因算法四个方法。一是标准简单的基因算法由戈尔登伯格在他的书中描述。这种算法用途非重叠人口和任意杰出人物统治论。各个世代算法创造个体的整个地新人口。这是使用重叠的人口的一种稳定基因算法。在这变异, 您能指定多少人口应该被替换在各个世代。第三变异是增加基因算法, 各个世代包括只一两个孩子。增加基因算法允许习惯替换方法定义怎么新世代应该是联合入人口。因此, 例如, 一个最近引起的孩子能替换它的父母, 替换任意个体在人口, 或替换是多数象的个体。第四型是基因算法。这种算法演变广泛人口平行使用一种稳定算法。各个世代算法移居一些个体从各人口到其它人口的当中一个。除基本的固定型之外, 定义您将需要获得您自己的基因算法组的组分。例子包括一些这些派生包括(1) 使用广泛人口和' 迁移' 在人口之间在内的一种基因算法, 并且(2) ' 确定拥挤' 维护个体的另外种类在演变期间的一种基因算法。基本的基因算法组包含操作员和数据共同对基因算法多数味道。当您获得您自己的基因算法您能使用这些成员数据和作用记录统计和监测表现。基因算法包含统计, 替换战略, 并且参量为跑算法人口对象, 一个容器为染色体, 并且包含一些统计并且选择和称操作员。一种典型的基因算法永远将运行。图书馆修造了在作用为指定算法应该终止。这些包括终止在世代, 您指定一定数量的世代算法应该运行, 并且终止在汇合, 您指定价值佳世代比分应该聚合。您能定做终止作用使用您自己停着的标准。作用评估的数量是一个好方式不同的基因算法与各种各样的查寻方法比较。解放基因算法记录染色体评估和人口评估的数量。定义表示法使用是适当的为您的问题的一种数据结构。如果您优选数字的作用, 使用实数在您的染色体。如果一对您的问题的解决办法可能代表一些虚数和一些整数价值, 定义一条染色体以这些特征。定义一个适当的表示法是使用基因算法艺术的一部分(和这时, 这是仍然艺术, 不是科学) 。使用最小但完全地传神的一个表示法。您的表示法应该能代表任一种解答对您的problem?but 如果在所有可能您设计它以便它无法代表不能实行的解答对您的问题。记得如果染色体可能代表不能实行的解答然后目标函数必须被设计相信部分不可行。表示法不应该包含信息在那之外必要代表解答对问题。虽然那里也许是优点在使用包含' 额外' 基因的表示法, 除非适当地实施(在音乐会以目标函数和在查寻空间的型和特征的充分的考虑), 这倾向于增加查寻空间的大小和因而妨害基因算法的表现。可能的表示法的数量是不尽的。您可以纯净地选择一个数字表示法譬如实数。这些能被实施作为实数, 或, 在位的串的戈尔登伯格样式映射对实数(当心那使用实数直接地胜过二进制对小数表示法为多数问题, 特别是当您使用合理的天桥操作员) 。您的问题也许取决于项目序列, 在一个基于秩序的表示法(情况下或名单或列阵) 也许是更加适当的。在许多这些箱子, 您必须选择维护序列的正直的操作员; 天桥必须引起被重新安排的名单没有复制任何个元素在名单。其它问题借自己对树结构。您可以想要明确地代表解答作为树和直接地进行基因操作在树。供选择地, 许多人输入树入列阵或并列串 和然后操作串。一些问题包括连续和分离元素的混合, 在您可能需要创造一个新结构拿着信息的混合情况下。在这些情况下您必须定义尊敬解答的结构的基因操作员。例如, 一种解答与整数和浮动零件也许使用横渡整数部分以整数部分和浮动部份与浮动零件的天桥, 但与整数部分从未混合浮动零件。表示法您选择, 是肯定选是适当的为您的表示法的操作员。 染色体操作员各条染色体有三名主要操作员: 初始化、变化, 和天桥。与这些操作员您能偏心最初的人口, 定义变化或天桥具体对您的问题的表示法, 或演变基因算法的部份当您的人口演变。解放来与这些操作员被预定义为各种染色体类型, 但您能定做任何一个。初始化操作员确定怎么染色体初始化。它叫当您初始化人口或基因算法。这名操作员实际上不创造新染色体, 它' 宁可充塞了染色体以所有解答将演变的原始基因。人口对象有它自己的初始化操作员。这简单地叫染色体的初始化操作员在人口, 但您能定做它做什么您想要。变化操作员定义方法为改变各条染色体。变化意味不同的事为不同的数据类型。例如, 一典型的为一条二进制串染色体翻转位在串以一个指定的可能性。一典型的 树, 另一方面, 会交换子树以一个指定的可能性。总之, 您应该定义可能做探险和开发的变化; 变化应该能介绍新基因并且修改现有的材料。您可以想要定义多类型变化为一个唯一问题。天桥操作员定义方法为引起一个孩子从二条父母染色体。象变化操作员, 天桥是具体的对数据类型。不同于变化, 然而, 天桥介入多条染色体。在GA 解放, 各条染色体' 知道了它的更喜欢的方法联接(缺省天桥方法) 但它是不能胜任的执行天桥。各种基因算法' 会得到缺省天桥方法从它的染色体那么使用那个方法进行联接。以这个模型它是可能获得使用联接的方法不同于缺省被定义为染色体的新基因算法组。每个这些方法可能被定做以便它是具体的不仅对数据类型, 而且对问题类型。这是单程您可能投入一些问题具体' 智力' 入基因算法(我将进入讨论不会是否这是一件好事做...) 除三名主要操作员之外, 各条染色体必须并且包含一个目标函数, 也许并且包含比较器。目标函数使用评估染色体。比较器(经常被称为' 距离函数') 是被用于确定多么另外一条染色体是从另。每种基因算法要求, 一个目标函数是定义这是怎么基因算法确定哪个体比其他人好。一些基因算法要求一台比较器。图书馆有一些基本数据类型被建立的 如果您已经有一个列阵或名单对象, 例如, 那么您能迅速建立一条染色体从它倍增继承从您的对象和染色体对象。您能然后se 这个新对象直接地在GA 解放基因算法对象。总之, 一种基因算法不需要知道关于它经营数据结构的内容。图书馆反射这普通性。您能混合和匹配染色体类型以基因算法。基因算法会克隆染色体为了创造人口, 初始化染色体开始奔跑, 横渡染色体引起孩子, 和改变染色体。所有这些操作进行通过染色体成员作用。 人口对象人口对象是一个容器为染色体。各个人口对象有它自己的初始化(缺省简单地称初始化为每个单独在人口) 并且评估者(缺省简单地告诉评估者为每个单独在人口) 。它并且记录最佳, 平均, 偏差, 等为人口。变化可能被记录, 但因为变化演算经常要求很多另外的计算, 缺省将不记录变化。选择方法并且被定义在人口对象。这个方法由个体应该联接的基因算法使用选择。各个人口对象有结垢计划对象与它交往。结垢计划对象转换各条染色体客观比分成健身比分那基因算法用途为选择。它以后并且贮藏健身信息至于使用由选择计划。目标函数和健身称的基因算法比梯度查寻方法经常有吸引力的因为他们不要求复杂的微分方程或一个光滑的查寻空间。基因算法需要唯一一个措施怎样好唯一个体与其它个体比较。目标函数提供这个方案; 被给一种唯一解答问题, 多么好它? 它重要注意分别在健身和客观比分之间。客观比分是价值由您的目标函数返回; 这是染色体的未加工的表现评估。健身比分, 另一方面, 是一个可能被变换的规定值由基因算法使用确定个体的健身为联接。健身比分由未加工的客观比分的线性结垢(仅您典型地获得无法定义任何映射您要或变革根本) 。例如, 如果您se 线性结垢健身比分从宗旨比分然后被获得唱歌健身比例结垢技术描述了在戈尔登伯格的书里。基因算法使用健身比分, 不是客观比分, 做选择。您能评估您定义) 的个体在人口使用您定义) 的一个基于单独的求值函数(, 或一位根据人口的评估者(还。如果您使用一个基于单独的宗旨, 那么作用被分配到各条染色体。一个根据人口的目标函数可能利用各自的目标函数, 或它可能设置各自的比分。

The Genetic Algorithm
The genetic algorithm object determines which individuals should survive, which should reproduce, and which should die. It also records statistics and decides how long the evolution should continue. Typically a genetic algorithm has no obvious stopping criterion. You must tell the algorithm when to stop. Often the number-of-generations is used as a stopping measure, but you can use goodness-of-best-solution, convergence-of-population, or any problem-specific criterion if you prefer.
The library contains four flavors of genetic algorithms. The first is the standard simple genetic algorithm described by Goldberg his book. This algorithm a uses non- overlapping populations and optional elitism. Each generation the algorithm creates an entirely new population of individuals. The second is a steady-state genetic algorithm that uses overlapping populations. In this variation, you can specify how much of the population should be replaced in each generation. The third variation is the incremental genetic algorithm, in which each generation consists of only one or two children. The incremental genetic algorithms allow custom replacement methods to define how the new generation should be integrated into the population. So, for example, a newly generated child could replace its parent, replace a random individual in the population, or replace an individual that is most like it. The fourth type is the 'deme' genetic algorithm. This algorithm evolves multiple populations in parallel using a steady-state algorithm. Each generation the algorithm migrates some of the individuals from each population to one of the other populations.
In addition to the basic built-in types, GA lib defines the components you'll need to derive your own genetic algorithm classes. The examples include a few of these derivations including (1) a genetic algorithm that uses multiple populations and 'migration' between populations on multiple CPUs, and (2) a genetic algorithm that does 'deterministic crowding' to maintain different species of individuals during the evolution.
The base genetic algorithm class contains operators and data common to most flavors of genetic algorithms. When you derive your own genetic algorithm you can use these member data and functions to keep track of statistics and monitor performance.
The genetic algorithm contains the statistics, replacement strategy, and parameters for running the algorithm the population object, a container for genomes, also contains some statistics as well as selection and scaling operators. A typical genetic algorithm will run forever. The library has built in functions for specifying when the algorithm should terminate. These include terminate-upon- generation, in which you specify a certain number of generations for which the algorithm should run, and terminate-upon-convergence, in which you specify a value to which the best-of-generation score should converge. You can customize the termination function to use your own stopping criterion.
The number of function evaluations is a good way to compare different genetic algorithms with various other search methods. The GA lib genetic algorithms keep track of both the number of genome evaluations and population evaluations.
Defining a Representation
Use a data structure that is appropriate for your problem. If you are optimizing a function of numbers, use real numbers in your genome. If a solution to your problem can be represented with some imaginary numbers and some integer values, define a genome with these characteristics.
Defining an appropriate representation is part of the art of using genetic algorithms (and at this point, it is still an art, not a science). Use a representation that is minimal but completely expressive. Your representation should be able to represent any solution to your problem,but if at all possible you should design it so that it cannot represent infeasible solutions to your problem. Remember that if the genome can represent infeasible solutions then the objective function must be designed to give partial credit to infeasibles.
The representation should not contain information beyond that needed to represent a solution to the problem. Although there may be merit in using a representation that contains 'extra' genetic material, unless properly implemented (in concert with the objective function and in full consideration of the type and characteristics of the search space), this tends to increase the size of the search space and thus hinder the performance of the genetic algorithm.
The number of possible representations is endless. You may choose a purely numeric representation such as an array of real numbers. These could be implemented as real numbers, or, in the Goldberg-style of a string of bits that map to real numbers (beware that using real numbers directly far out-performs the binary-to-decimal representation for most problems, especially when you use reasonable crossover operators). Your problem may depend on a sequence of items, in which case an order-based representation (either list or array) may be more appropriate. In many of these cases, you must choose operators that maintain the integrity of the sequence; crossover must generate reordered lists without duplicating any element in the list. Other problems lend themselves to a tree structure. Here you may want to represent solutions explicitly as trees and perform the genetic operations on the trees directly. Alternatively, many people encode trees into an array or parsable string, and then operate on the string. Some problems include a mix of continuous and discrete elements, in which case you may need to create a new structure to hold the mix of information. In these cases you must define genetic operators that respect the structure of the solution. For example, a solution with both integer and floating parts might use a crossover that crosses integer parts with integer parts and floating parts with floating parts, but never mixes floating parts with integer parts.
Whichever representation you choose, be sure to pick operators that are appropriate for your rep representation.

The Genome Operators
Each genome has three primary operators: initialization, mutation, and crossover. With these operators you can bias an initial population, define a mutation or crossover specific to your problem's representation, or evolve parts of the genetic algorithm as your population evolves. GA lib comes with these operators pre-defined for each genome type, but you can customize any of them.
The initialization operator determines how the genome is initialized. It is called when you initialize a population or the genetic algorithm. This operator does not actually create new genomes, rather it 'stuffs' the genomes with the primordial genetic material from which all solutions will evolve. The population object has its own initialization operator. By default this simply calls the initialization operators of the genomes in the population, but you can customize it to do whatever you want.
The mutation operator defines the procedure for mutating each genome. Mutation means different things for different data types. For example, a typical mutator for a binary string genome flips the bits in the string with a given probability. A typical mutator for a tree, on the other hand, would swap subtrees with a given probability. In general, you should define a mutation that can do both exploration and exploitation; mutation should be able to introduce new genetic material as well as modify existing material. You may want to define multiple types of mutation for a single problem.
The crossover operator defines the procedure for generating a child from two parent genomes. Like the mutation operator, crossover is specific to the data type. Unlike mutation, however, crossover involves multiple genomes. In GA lib, each genome 'knows' its preferred method of mating (the default crossover method) but it is incapable of performing crossover itself. Each genetic algorithm 'knows' how to get the default crossover method from its genomes then use that method to perform the mating. With this model it is possible to derive new genetic algorithm classes that use mating methods other than the defaults defined for a genome.
Each of these methods can be customized so that it is specific not only to the data type, but also to the problem type. This is one way you can put some problem-specific 'intelligence' into the genetic algorithm (I won't go into a discussion about whether or not this is a good thing to do...)
In addition to the three primary operators, each genome must also contain an objective function and may also contain a comparator. The objective function is used to evaluate the genome. The comparator (often referred to as a 'distance function') is a used to determine how different one genome is from another. Every genetic algorithm requires that an objective function is defined-this is how the genetic algorithm determines which individuals are better than others. Some genetic algorithms require a comparator.
The library has some basic data types built in,but if you already have an array or list object, for example, then you can quickly build a genome from it by multiply inheriting from your object and the genome object. You can then a se this new object directly in the GA lib genetic algorithm objects.
In general, a genetic algorithm does not need to know about the contents of the data structures on which it is operating. The library reflects this generality. You can mix and match genome types with genetic algorithms. The genetic algorithm knows how to clone genomes in order to create populations, initialize genomes to start a run, cross genomes to generate children, and mutate genomes. All of these operations are performed via the genome member functions.

The Population Object
The population object is a container for genomes. Each population object has its own initializer (the default simply calls the initializer for each individual in the population) and evaluator (the default simply calls the evaluator for each individual in the population). It also keeps track of the best, average, deviation, etc for the population. Diversity can be recorded as well, but since diversity calculations often require a great deal of additional computation, the default is to not record diversity.
The selection method is also defined in the population object. This method is used by the genetic algorithms to choose which individuals should mate.
Each population object has a scaling scheme object associated with it. The scaling scheme object converts the objective score of each genome to a fitness score that the genetic algorithm a uses for selection. It also caches fitness information for use later on by the selection schemes.
Objective Functions and Fitness Scaling
Genetic algorithms are often more attractive than gradient search methods because they do not require complicated differential equations or a smooth search space. The genetic algorithm needs only a single measure of how good a single individual is compared to the other individuals. The objective function provides this measure; given a single solution to a problem, how good is it?
It is important to note the distinction between fitness and objective scores. The objective score is the value returned by your objective function; it is the raw performance evaluation of a genome. The fitness score, on the other hand, is a possibly-transformed rating used by the genetic algorithm to determine the fitness of individuals for mating. The fitness score is typically obtained by a linear scaling of the raw objective scores (but you can define any mapping you want or no transformation at all). For example, if you a se linear scaling then the fitness scores are derived from the objective scores a sing the fitness proportional scaling technique described in Goldberg's book. The genetic algorithm uses the fitness scores, not the objective scores, to do selection.
You can evaluate the individuals in a population using an individual-based evaluation function (which you define), or a population-based evaluator (also which you define). If you use an individual-based objective, then the function is assigned to each genome. A population-based objective function can make use of individual objective functions, or it can set the individual scores itself.

文章在那啊!给你个网站了http://babelfish.altavista.com/tr
在线翻译哦

这个网很棒哦

遗传基因的运算法则
遗传基因的运算法则物体决定哪一个体应该生还,这应该再生, 和应该死。 资讯科技也记录统计学而且决定进化应该继续多久。 典型地一个遗传基因的运算法则没有明显的停止标准。 你一定告诉运算法则何时该停止。 时常数字--世代被当作停止尺寸使用,但是你能使用仁慈--最好-溶液,集中-- 人口 , 或任何的问题- 特性的标准如果你偏爱。
图书馆包含遗传基因运算法则的四种滋味。 第一是被犹太人他的书描述的标准简单的遗传基因的运算法则。 这一个运算法则一种使用非交叠处理人口和可选择的精英主义。 每世代运算法则产生个体的完全新人口。 其次是一个不变的遗传基因的运算法则以使用交叠处理人口。 在这一种变化中,你能叙述多少人口应该在每世代内被代替。 第三种变化是逐渐增加的遗传基因的运算法则哪里每世代有只有一或二个孩子。 逐渐增加的遗传基因的运算法则允许订制的替换方法定义新的世代如何应该进入人口之内被整合。 如此,举例来说,一个崭新产生的孩子可以代替它的父母,代替人口的一个任意的个体, 或像它一样代替一个大多数的个体。 第四个类型是 'deme' 遗传基因的运算法则。 这一个运算法则进展使用一个不变的运算法则的平行多样的人口。 每世代运算法则移动从每人口到其他人口之一的一些个体。
除了基本的内建类型之外, GA lib 定义你将会需要源自你自己的遗传基因的运算法则班级的成分。 例子包括少数的这些引出包括 (1) 一个使用在多样的处理器上的人口 , 和一个遗传基因的运算法则之间的多样人口和 '移民' 的遗传基因的运算法则 '决定论的拥挤' 在进化期间维持个体的不同种。
恶劣的遗传基因的运算法则班级对大多数遗传基因运算法则的滋味包含通常的操作员和数据。 当你源自你能使用这些成员数据和功能掌握统计学和监视器表现的资讯你自己的遗传基因的运算法则的时候。
遗传基因的运算法则包含统计学,替换策略, 和跑运算法则人口物体的叁数, 一个容器对于基因组, 也包含一些统计学和选择而且计数操作员。 一个典型的遗传基因的运算法则将会永远地跑。 当运算法则应该结束的时候,图书馆已经为叙述在功能建造。这些包括有结尾的-在-之上世代, 你叙述一个世代的特定数字为哪一运算法则应该跑, 而且结束-在-之上集中, 你叙述最好-- 世代的得分应该聚合的价值。 你能定制终止功能使用你自己的停止标准。
功能评估的数字是把不同的遗传基因的运算法则与各种不同的其他搜寻方法作比较的一个好方法。 GA lib 遗传基因的运算法则掌握两者的基因组评估和人口评估的数字资讯。
定义表现
使用适合你的问题数据结构。 如果你正在将一个数字的功能最佳化, 使用你的基因组的实数。 如果对你的问题解决办法能与一些想像的数字和一些完整的事物一起表现价值,用这些特性定义一个基因组。
定义适当的表现是使用遗传基因的运算法则的艺术部份。 (而且此时,它仍然是一种艺术, 不一个科学) 使用最小的但是完全表达的表现。 你的表现应该能够表现对你的问题,的任何解决办法但是如果全然可能你应该设计它,以便它不能够表现对你的问题不可实行的解决办法。 记得,如果基因组然后能表现不可实行的溶液客观的功能一定被设计给部分的信用到不可实行的。
表现超过被需要表现对问题的解决办法的那不应该包含数据。 虽然在使用包含 '额外之物' 遗传基因的材料表现方面可能有功绩, 除非适当地实现 ( 共同地以客观的功能和在类型的完全考虑方面和搜寻的特性空间),这容易增加搜寻空间的大小并且如此阻碍遗传基因的运算法则的表现。
可能表现的数字是永无止境的。 你可能选择纯粹数值的表现 , 像是实数的排列。 这些可能被实现如实数,或,在犹太人中- 一连串一点点的风格对实数的地图.( 小心直接地使用实数远的比~明显表现二进-到- 十进位的表现为大多数的问题, 尤其当你使用明理的转线路操作员的时候) 你的问题可能仰赖项目的序列哪里情形以级为基础的表现 ( 或目录或排列) 可能是更适当的。 在大部份这些情形中,你一定选择操作员维持序列的正直; 转线路一定不需要复制目录的任何元素就产生再命令目录。 其他的问题对树状结构结构借他们自己。在这里你可能想要明确地表现溶液当树状结构而且直接地运行在树状结构上的遗传基因的操作。 二者择一地, 许多人入码进入排列或 parsable 之内爬上树线, 然后在线上操作。 一些问题包括一个连续的和不连续元素的混合,在哪一情况你可能需要产生新的结构支撑数据的混合。 在这些情况你一定定义遗传基因的操作员尊敬溶液的结构。举例来说,和完整的事物和漂浮的部份一个溶液可能使用一个转线路,十字架完整的事物和完整的事物部份的部份和浮控舍弃漂浮的部份, 但是从不把漂浮的部份和完整的事物部份混合在一起。
无论那一个表现你选择,确定摘适合你的 rep 表现的操作员。

基因组操作员
每个基因组有三个主要的操作员: 设定初值,变化和转线路。 当你的人口进展的时候,与这些操作员在一起你能使存偏见开始的人口,定义对你的问题表现的一个变化或转线路特性, 或进展遗传基因的运算法则的部份。 GA lib 和为每个基因组类型被预先定义的这些操作员一起来,但是你能定制任何的他们。
设定初值操作员决定基因组如何被设定初值。 当你设定人口或遗传基因的运算法则初值的时候,资讯科技被叫做。 这一个操作员不实际上产生新的基因组, 宁可它 '东西' 和所有的溶液将会进展的原始遗传基因的材料基因组。 人口物体有它自己的设定初值操作员。 预先设定地这只是邀请基因组的设定初值操作员来人口,但是你能定制它做你想要无论什么。
变化操作员为变化每个基因组定义程序。 变化对于不同的数据类型意谓不同的事物。 举例来说, 典型的 mutator 为二元的线基因组用指头弹和给定的可能性的线一点点。 为一个树状结构的典型 mutator, 另一方面,会用给定的可能性交换次树状结构。 大体上,你应该定义一个能做探险和开发的变化; 变化应该能够介绍新的遗传基因的材料和修正现有的材料。 你可能想要为一个单一问题定义变化的多样类型。
转线路操作员为产生来自二个父母基因组的一个孩子定义程序。 喜欢变化操作员,转线路是对数据类型的特性。 不像变化,然而,转线路包括多样的基因组。 在 GA lib 中, 每个基因组 '知道'交配 (假设值转线路方法) 的它优先方法但是它对表演转线路本身是无能力的。 每个遗传基因的运算法则 '知道'该如何然后从它的基因组拿假设值转线路方法使用那一个方法运行交配。 与这一个模型在一起源自新的遗传基因的运算法则是可能的分类被为一个基因组定义的假设值之外的那一个使用交配方法。
每一个这些方法能被根据客户需要修改,以便它是特定的不但到数据类型 , 而且到问题类型。 这是你能把一些问题- 特性的 '智力' 放入遗传基因的运算法则的一个方法 (我将不到处讨论讨论,是否这是做的一件好事物。。.)
除了三个主要的操作员之外,每个基因组也一定包含一个客观的功能以及可能包含一个比较器。 客观的功能用来评估基因组。 比较器 ( 时常称为一 ' 距离功能') 是一用决定不同的一个基因组如何是从另外的。 每一遗传基因的运算法则需要,一个客观的功能被定义-这是遗传基因的运算法则决定哪一个体比其它更好的方式。 一些遗传基因的运算法则需要一个比较器。
图书馆在,中建造一些基本的数据类型,但是如果你已经有排列或列出物体, 举例来说,然后你能很快地建立来自它的一个基因组被从你的物体和基因组繁殖继承反对。 然后你能 se 直接地在遗传基因的运算法则反对的 GA lib 的这个新的物体。
大体上,一个遗传基因的运算法则不需要知道它正在操作的数据结构的内容。 图书馆反映这一个概论。 你能混合而且使基因组类型与遗传基因的运算法则相配。 遗传基因的运算法则知道该如何为了要产生人口,设定基因组初值开始奔跑 , 复制基因组,越过基因组产生孩子, 而且变化基因组。 所有的这些操作经由基因组成员功能被运行。

人口物体
人口物体是基因组的一个容器。 每个人口物体有它自己的 initializer(假设值只是在人口中为每个个体呼叫 initializer) 和 evaluator 。 (假设值只是在人口中为每个个体呼叫 evaluator) 资讯科技也掌握最好,平均,偏离的资讯, 及其他对于人口。 不同能也被记录,但是因为不同计算时常需要很多的加添计算,假设值是不记录不同。
选择方法在人口物体中也被定义。 这一个方法被遗传基因的运算法则用选择哪一个体应该配对。
每个人口物体以它使物体被联合。剥落计画物体皈依者对健身得分的每个基因组的客观得分对于选择的遗传基因的运算法则一种使用。 资讯科技稍后藉着选择方案也为使用贮藏健身数据。
目的功能和健身剥落
因为他们不需要复杂的微分方程式或平滑的搜寻空间,所以遗传基因的运算法则时常是比倾斜度搜寻方法更吸引人。 遗传基因的运算法则只需要的单身衡量单身的个体是多么好与其他个体相较。 客观的功能提供这尺寸; 提供对一个问题的单一解决办法,它多好?
资讯科技是重要注意在健身和目的之间区别得分。 客观的得分是被你的客观功能退还的价值; 它是基因组的生表现评估。 健身得分, 另一方面, 是一可能地- 转换被遗传基因的运算法则用的等级为交配决定个体的健身。 健身得分典型地被生的目的一个线性剥落得分获得。 ( 但是你能定义任何的映射你想要或没有变形全然) 举例来说, 如果你然后计数健身得分的 se 线性起源于目的刻划一唱健身比例的剥落在犹太人的书中被描述的技术。 遗传基因的运算法则使用健身得分而不是客观的得分, 做选择。
你能评估使用以个体为基础的评估功能 (你定义哪一), 或以人口为基础的 evaluator 的人口个体。 ( 也你定义哪一) 如果你使用一个以个体为基础的目的,然后功能被指定给每个基因组。 一个以人口为基础的客观功能能利用个别的客观功能, 或它能设定个体刻划它本身

遗传基因的运算法则
遗传基因的运算法则物体决定哪一个体应该生还,这应该再生, 和应该死。 资讯科技也记录统计学而且决定进化应该继续多久。 典型地一个遗传基因的运算法则没有明显的停止标准。 你一定告诉运算法则何时该停止。 时常数字--世代被当作停止尺寸使用,但是你能使用仁慈--最好-溶液,集中-- 人口 , 或任何的问题- 特性的标准如果你偏爱。
图书馆包含遗传基因运算法则的四种滋味。 第一是被犹太人他的书描述的标准简单的遗传基因的运算法则。 这一个运算法则一种使用非交叠处理人口和可选择的精英主义。 每世代运算法则产生个体的完全新人口。 其次是一个不变的遗传基因的运算法则以使用交叠处理人口。 在这一种变化中,你能叙述多少人口应该在每世代内被代替。 第三种变化是逐渐增加的遗传基因的运算法则哪里每世代有只有一或二个孩子。 逐渐增加的遗传基因的运算法则允许订制的替换方法定义新的世代如何应该进入人口之内被整合。 如此,举例来说,一个崭新产生的孩子可以代替它的父母,代替人口的一个任意的个体, 或像它一样代替一个大多数的个体。 第四个类型是 'deme' 遗传基因的运算法则。 这一个运算法则进展使用一个不变的运算法则的平行多样的人口。 每世代运算法则移动从每人口到其他人口之一的一些个体。
除了基本的内建类型之外, GA lib 定义你将会需要源自你自己的遗传基因的运算法则班级的成分。 例子包括少数的这些引出包括 (1) 一个使用在多样的处理器上的人口 , 和一个遗传基因的运算法则之间的多样人口和 '移民' 的遗传基因的运算法则 '决定论的拥挤' 在进化期间维持个体的不同种。
恶劣的遗传基因的运算法则班级对大多数遗传基因运算法则的滋味包含通常的操作员和数据。 当你源自你能使用这些成员数据和功能掌握统计学和监视器表现的资讯你自己的遗传基因的运算法则的时候。
遗传基因的运算法则包含统计学,替换策略, 和跑运算法则人口物体的叁数, 一个容器对于基因组, 也包含一些统计学和选择而且计数操作员。 一个典型的遗传基因的运算法则将会永远地跑。 当运算法则应该结束的时候,图书馆已经为叙述在功能建造。这些包括有结尾的-在-之上世代, 你叙述一个世代的特定数字为哪一运算法则应该跑, 而且结束-在-之上集中, 你叙述最好-- 世代的得分应该聚合的价值。 你能定制终止功能使用你自己的停止标准。
功能评估的数字是把不同的遗传基因的运算法则与各种不同的其他搜寻方法作比较的一个好方法。 GA lib 遗传基因的运算法则掌握两者的基因组评估和人口评估的数字资讯。
定义表现
使用适合你的问题数据结构。 如果你正在将一个数字的功能最佳化, 使用你的基因组的实数。 如果对你的问题解决办法能与一些想像的数字和一些完整的事物一起表现价值,用这些特性定义一个基因组。
定义适当的表现是使用遗传基因的运算法则的艺术部份。 (而且此时,它仍然是一种艺术, 不一个科学) 使用最小的但是完全表达的表现。 你的表现应该能够表现对你的问题,的任何解决办法但是如果全然可能你应该设计它,以便它不能够表现对你的问题不可实行的解决办法。 记得,如果基因组然后能表现不可实行的溶液客观的功能一定被设计给部分的信用到不可实行的。
表现超过被需要表现对问题的解决办法的那不应该包含数据。 虽然在使用包含 '额外之物' 遗传基因的材料表现方面可能有功绩, 除非适当地实现 ( 共同地以客观的功能和在类型的完全考虑方面和搜寻的特性空间),这容易增加搜寻空间的大小并且如此阻碍遗传基因的运算法则的表现。
可能表现的数字是永无止境的。 你可能选择纯粹数值的表现 , 像是实数的排列。 这些可能被实现如实数,或,在犹太人中- 一连串一点点的风格对实数的地图.( 小心直接地使用实数远的比~明显表现二进-到- 十进位的表现为大多数的问题, 尤其当你使用明理的转线路操作员的时候) 你的问题可能仰赖项目的序列哪里情形以级为基础的表现 ( 或目录或排列) 可能是更适当的。 在大部份这些情形中,你一定选择操作员维持序列的正直; 转线路一定不需要复制目录的任何元素就产生再命令目录。 其他的问题对树状结构结构借他们自己。在这里你可能想要明确地表现溶液当树状结构而且直接地运行在树状结构上的遗传基因的操作。 二者择一地, 许多人入码进入排列或 parsable 之内爬上树线, 然后在线上操作。 一些问题包括一个连续的和不连续元素的混合,在哪一情况你可能需要产生新的结构支撑数据的混合。 在这些情况你一定定义遗传基因的操作员尊敬溶液的结构。举例来说,和完整的事物和漂浮的部份一个溶液可能使用一个转线路,十字架完整的事物和完整的事物部份的部份和浮控舍弃漂浮的部份, 但是从不把漂浮的部份和完整的事物部份混合在一起。
无论那一个表现你选择,确定摘适合你的 rep 表现的操作员。

基因组操作员
每个基因组有三个主要的操作员: 设定初值,变化和转线路。 当你的人口进展的时候,与这些操作员在一起你能使存偏见开始的人口,定义对你的问题表现的一个变化或转线路特性, 或进展遗传基因的运算法则的部份。 GA lib 和为每个基因组类型被预先定义的这些操作员一起来,但是你能定制任何的他们。
设定初值操作员决定基因组如何被设定初值。 当你设定人口或遗传基因的运算法则初值的时候,资讯科技被叫做。 这一个操作员不实际上产生新的基因组, 宁可它 '东西' 和所有的溶液将会进展的原始遗传基因的材料基因组。 人口物体有它自己的设定初值操作员。 预先设定地这只是邀请基因组的设定初值操作员来人口,但是你能定制它做你想要无论什么。
变化操作员为变化每个基因组定义程序。 变化对于不同的数据类型意谓不同的事物。 举例来说, 典型的 mutator 为二元的线基因组用指头弹和给定的可能性的线一点点。 为一个树状结构的典型 mutator, 另一方面,会用给定的可能性交换次树状结构。 大体上,你应该定义一个能做探险和开发的变化; 变化应该能够介绍新的遗传基因的材料和修正现有的材料。 你可能想要为一个单一问题定义变化的多样类型。
转线路操作员为产生来自二个父母基因组的一个孩子定义程序。 喜欢变化操作员,转线路是对数据类型的特性。 不像变化,然而,转线路包括多样的基因组。 在 GA lib 中, 每个基因组 '知道'交配 (假设值转线路方法) 的它优先方法但是它对表演转线路本身是无能力的。 每个遗传基因的运算法则 '知道'该如何然后从它的基因组拿假设值转线路方法使用那一个方法运行交配。 与这一个模型在一起源自新的遗传基因的运算法则是可能的分类被为一个基因组定义的假设值之外的那一个使用交配方法。
每一个这些方法能被根据客户需要修改,以便它是特定的不但到数据类型 , 而且到问题类型。 这是你能把一些问题- 特性的 '智力' 放入遗传基因的运算法则的一个方法 (我将不到处讨论讨论,是否这是做的一件好事物。。.)
除了三个主要的操作员之外,每个基因组也一定包含一个客观的功能以及可能包含一个比较器。 客观的功能用来评估基因组。 比较器 ( 时常称为一 ' 距离功能') 是一用决定不同的一个基因组如何是从另外的。 每一遗传基因的运算法则需要,一个客观的功能被定义-这是遗传基因的运算法则决定哪一个体比其它更好的方式。 一些遗传基因的运算法则需要一个比较器。
图书馆在,中建造一些基本的数据类型,但是如果你已经有排列或列出物体, 举例来说,然后你能很快地建立来自它的一个基因组被从你的物体和基因组繁殖继承反对。 然后你能 se 直接地在遗传基因的运算法则反对的 GA lib 的这个新的物体。
大体上,一个遗传基因的运算法则不需要知道它正在操作的数据结构的内容。 图书馆反映这一个概论。 你能混合而且使基因组类型与遗传基因的运算法则相配。 遗传基因的运算法则知道该如何为了要产生人口,设定基因组初值开始奔跑 , 复制基因组,越过基因组产生孩子, 而且变化基因组。 所有的这些操作经由基因组成员功能被运行。

人口物体
人口物体是基因组的一个容器。 每个人口物体有它自己的 initializer(假设值只是在人口中为每个个体呼叫 initializer) 和 evaluator 。 (假设值只是在人口中为每个个体呼叫 evaluator) 资讯科技也掌握最好,平均,偏离的资讯, 及其他对于人口。 不同能也被记录,但是因为不同计算时常需要很多的加添计算,假设值是不记录不同。
选择方法在人口物体中也被定义。 这一个方法被遗传基因的运算法则用选择哪一个体应该配对。
每个人口物体以它使物体被联合。剥落计画物体皈依者对健身得分的每个基因组的客观得分对于选择的遗传基因的运算法则一种使用。 资讯科技稍后藉着选择方案也为使用贮藏健身数据。
目的功能和健身剥落
因为他们不需要复杂的微分方程式或平滑的搜寻空间,所以遗传基因的运算法则时常是比倾斜度搜寻方法更吸引人。 遗传基因的运算法则只需要的单身衡量单身的个体是多么好与其他个体相较。 客观的功能提供这尺寸; 提供对一个问题的单一解决办法,它多好?
资讯科技是重要注意在健身和目的之间区别得分。 客观的得分是被你的客观功能退还的价值; 它是基因组的生表现评估。 健身得分, 另一方面, 是一可能地- 转换被遗传基因的运算法则用的等级为交配决定个体的健身。 健身得分典型地被生的目的一个线性剥落得分获得。 ( 但是你能定义任何的映射你想要或没有变形全然) 举例来说, 如果你然后计数健身得分的 se 线性起源于目的刻划一唱健身比例的剥落在犹太人的书中被描述的技术。 遗传基因的运算法则使用健身得分而不是客观的得分, 做选择。
你能评估使用以个体为基础的评估功能 (你定义哪一), 或以人口为基础的 evaluator 的人口个体。 ( 也你定义哪一) 如果你使用一个以个体为基础的目的,然后功能被指定给每个基因组。 一个以人口为基础的客观功能能利用个别的客观功能, 或它能设定个体刻划它本身