⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 galib revision history.htm

📁 提供了遗传算法的一些代码库文件
💻 HTM
📖 第 1 页 / 共 4 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0045)http://lancet.mit.edu/ga/RevisionHistory.html -->
<HTML><HEAD><TITLE>GAlib: Revision History</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312"><!-- by matthew wall                           all rights reserved --><!-- Copyright (c) 1995-1996 Massachusetts Institute of Technology --><!-- Copyright (c) 1996-1999 Matthew Wall                          -->
<META content="MSHTML 6.00.2900.2769" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#ffffff><STRONG>Revision History for <A 
href="http://lancet.mit.edu/ga/">GAlib</A></STRONG><BR><SMALL><I><!--#exec cgi="/bin/lastmod"--></I></SMALL><BR>
<P>This document details the changes from version to version. 
</P><BR><STRONG>Changes in version 2.4.6</STRONG><BR><I>January 2005</I><BR>
<UL>
  <LI>Updated tspview and gaview graphic examples in the examples/graphic 
  directory. These now build cleanly out-of-the-box on linux (and other) unix 
  systems that have X windows. The options for building with MOTIF widget sets 
  (still) work and are now the default. Try running tspview with two different 
  genetic algorithms to see how differently they behave. For example: 
  <BLOCKQUOTE>tspview ga 
    1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(generational)<BR>tspview ga 
    2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(crowding)<BR>tspview ga 
    3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(simple)<BR></BLOCKQUOTE>will give you three 
  different windows. Run them to see how generational, simple, and crowding 
  algorithms differ. Note that the crowding algorithm will find all of the 
  (equally good) optimal solutions. 
  <LI>Updated macros in gaconfig.h to have fewer clashes with other libraries. 
  Much improved out-of-the-box behavior with various recent compilers, including 
  gcc3 and vcpp7. Added options for building on macosx with gcc2 and gcc3. The 
  library is now up-to-date with respect to: gcc2, gcc3, vcpp6, vcpp7, xlC, aCC, 
  CC, BCC55 (that is all the compilers I have with which to test). 
  <LI>Split the windows makefiles into two, one for vcpp and one for borland. 
  The make syntax is simply too incompatible to keep them in a single file (for 
  now anyway, until I find a source for the arcane behaviors of each one). Still 
  to come is complete makefile support for building shared libraries - sorry, 
  but for now you have to do that on your own. 
  <LI>All galib random number generators have been change to garan* in order to 
  avoid naming conflicts with other libraries. There is still only one rng at a 
  time and no run-time modification of the rng is possible (that is coming with 
  3.0). 
  <LI>Better inclusion of GARealGenome and GAStringGenome files for 
  specializations. The new method accommodates gcc3 premature instantiation 
  quirks and makes the code that uses the genomes slightly less cryptic. See 
  ex21.C to see how this is done. 
  <LI>There is now a file called std_stream.h in the ga directory. this file 
  takes care of the differences between various iostream naming requirements. 
  Some platforms require std for the namespace, some do not. Some require use of 
  &lt;iostream.h&gt;, others require simply &lt;iostream&gt;. When you create 
  your own code that uses GAlib, you do not need to use the macros from 
  std_stream.h, but they are used in the examples so that the example code will 
  build in any environment, regardless of its use of streams. 
  <LI>The macros for controlling use of streams are now easier to understand and 
  use. 
  <LI>Fixed bug in GASelector::update that could cause memory corruption (thanks 
  to Giovanni Sartoni for finding this one). Added assertions to expose any 
  other end-of-array problems in the selector algorithms. 
  <LI>Use local copy of score when calculating population statistics just in 
  case the genome scores change on each invocation of the score method. 
  <LI>The seed can now be remembered by each genetic algorithm (or passed on the 
  fly as before). Only the GABaseGA class remembers the seed - derived GA 
  classes do nothing with it right now. This is so that existing behavior will 
  not be changed. Then next major release will include persistance and use of 
  seeds within the genetic algorithms. </LI></UL><STRONG>Changes in version 
2.4.5</STRONG><BR><I>December 1999</I><BR>
<UL>
  <LI>Removed USE_RTTI from gaconfig.h since it is not used (yet). 
  <LI>Cleanup to the library makefiles. Separate makefiles for unix and winnt 
  (no need to compile using vcpp projects anymore!) I decided not to use 
  autoconf since the overhead of using autoconf outweighs the benefits (at least 
  until someone makes it easier to use and modify). At this point i think it is 
  easier for people to modify the makefile (or makevars) rather than to figure 
  out how to use all the options to configure. 
  <LI>Fixed GAGeneticAlgorithm::TerminateUponPopConvergence so that it now does 
  the right thing. In doing so we redefined what population convergence means. 
  Now it is: min/max. When minimizing, this will stop the evolution when the 
  value is less that the threshhold. When maximizing, this will stop the 
  evolution when the value is greather than the threshhold. The threshhold must 
  be between 0 and 1, inclusive. Note that this method fails if the maximum 
  objective score might be zero. (thanks to Bill White) 
  <LI>Fixed initialization bug in GAPopulation.C that could cause unitialized 
  memory read (thanks to Harold H Soleng of Norwegian Computing Center). 
  <LI>Fixed boolean read problem in the GAParameters object (thanks to Klaus 
  Kirchberg). 
  <LI>Added compile-time warning message to garandom.h to help people avoid 
  bogus random number generator issues. 
  <LI>Fixed RNG bug in RAN1 and RAN2 (thanks to Peter Ross and George LeCompte). 

  <LI>Fixed RNG bug in RAN3 (thanks to Peter Ross). 
  <LI>Started putting the DLL code in, but that will have to wait until i have 
  more time for extensive testing. Probably that will go in when the thread-safe 
  mods go in. 
  <LI>Cleaned up the HTML documentation in the distribution a little bit. 
  <LI>Everything is now in CVS, including the web site. 
  <LI>I am no longer maintaining a separate dos distribution. 
</LI></UL><STRONG>Changes in version 2.4.4</STRONG><BR><I>4 April 1999</I><BR>
<UL>
  <LI>Fixes to gaconfig.h to make things compile out-of-the-box a bit better for 
  more platforms. 
  <LI>Replaced C-style casts with dynamic_cast and friends. Macros expand to the 
  old-style casts if your compiler does not support the new-style casts. 
  <LI>Fixed const-ness of genomes used internally to the built-in operators. 
  <LI>Added minimal support for rtti. This will be disabled if your compiler 
  does not support it. 
  <LI>Added support for ansi streams. You can now select whether to use ansi 
  streams or the older streams by defining the appropriate directive. GAlib will 
  then use either the old streams headers <IOSTREAM.H>, the ansi streams headers 
  <IOSTREAM>, or no streams at all. 
  <LI>Changes from int to unsigned int for these functions: 
  <UL>
    <LI>GABin2DecPhenotype::size 
    <LI>GABin2DecPhenotype::nPhenotypes </LI></UL>
  <LI>Many fixes to signed/unsigned conversions. For the most part, all I did 
  was make them explicit using static_cast 
  <LI>Added GADCrowdingGA to the library (it has been in the TSP example for a 
  long time, now it is part of the library). 
  <LI>Fixed questionable initialization of iterators in GATree and GAList 
  <LI>The library now compiles more cleanly on vcpp, metrowerks, sgi CC, and g++ 
  2.8.1 (ok, i had to disable a couple of vcpp warnings, but of what use is a 
  warning that says "you're losing data converting 1.0 into a float" ?) Can 
  anyone tell me what to do about g++ warnings about "variable 'xxx' might be 
  clobbered by 'longjmp' or 'vfork'" ? 
  <LI>Graphic examples are now included in the windows distribution: points on a 
  surface and travelling salesman. Really, they are this time :) They are hacked 
  together using a windows wizard (gads, what a horrible environment that is), 
  but they should get you started. 
  <LI>Added #undef for min/max in GAPopulation.h and GABin2Dec.h (microsoft 
  headers in particular are promiscuous in their definition of min/max macros) 
  <LI>Changed doubles to floats in 
  <UL>
    <LI>GAPopulation::scale 
    <LI>GAPopulation::statistics </LI></UL>
  <LI>Changed template instantiation syntax in GARealGenome.C and 
  GAStringGenome.C </LI></UL><STRONG>Changes in version 2.4.3</STRONG><BR><I>11 
November 1998</I><BR>
<UL>
  <LI>Graphic examples for mac 
  <LI>Graphic examples for windows 
  <LI>
  <LI>Fixed example 13 to actually do what it claimed to do. Beware that it may 
  run for a really long time now (it has a GA embedded in another GA, so each 
  evaluation results in another GA run). 
  <LI>Fixed gaversion.h to accurately record the library version (for better use 
  with ident) 
  <LI>Added definition of M_PI to the examples in which that macro is used (some 
  platforms do not have M_PI defined in their math headers) 
  <LI>Fixed bug in GAAlleleSet&lt;&gt;::allele() that caused upper/lower bounds 
  to be generated when they should not have been. Note that your initialize, 
  crossover, mutate operators must respect allele set limit boundaries otherwise 
  you'll end up with bogus values. 
  <LI>Fixed bugs in GADemeGA: 
  <UL>
    <LI>GADemeGA::nMigration did not set parameter list 
    <LI>GADemeGA::nPopulations did not set parameter list 
    <LI>GADemeGA::step set numrep incorrectly 
    <LI>GADemeGA::step looped on tmppop size rather than nrepl 
    <LI>GADemeGA::nReplacement did not update tmppop size properly 
    <LI>GADemeGA::nReplacement did not update the parameter list 
    <LI>GADemeGA::nPopulations did not update nrepl or pstats correctly </LI></UL>
  <LI>Fixed bug in GARealGaussianMutator that caused no mutation to occur in 
  cases when 100% mutation should have happened. 
  <LI>Fixed bug in GAGeneticAlgorithm::TerminateUponConvergence that would cause 
  the evolution to stop immediately when doing a minimization with convergence 
  as the stopping criterion. 
  <LI>Fixed various memory leaks 
  <UL>
    <LI>GAAlleleSetArray&lt;&gt;::remove </LI></UL>
  <LI>Various makefile/project additions and cleanup 
  <UL>
    <LI>New project files for Codewarrior 
    <LI>New project files for MS VC++ 
    <LI>Fixes to makefiles to make cross-unix compiles easier. </LI></UL>
  <LI>Fixed html documentation: 
  <UL>
    <LI>For the GAStatistics object, the member functions offlineMax, 
    offlineMin, minEver, maxEver were incorrect. 
    <LI>In GAPopulation::diversity, 1 indicates that each individual is 
    completely different. 
    <LI>The title of Melanie Mitchell's book had been omitted. </LI></UL>
  <LI>Fixed mask clear bug in GA1DArrayGenome&lt;&gt;::CycleCrossover 
  <LI>Fixed signed/unsigned problems in array genomes. As a result, the 
  following member functions have been removed: 
  <UL>
    <LI>GA1DArrayGenome&lt;&gt;::operator[] 
    <LI>GA1DArrayGenome&lt;&gt;::operator[](int) </LI></UL>
  <LI>Various fixes and features to random number generator 
  <UL>
    <LI>Added chi-square tests to the randtest program for better RNG testing. 
    <LI>Added GAGetRandomSeed to get the random seed from the library. 
    <LI>Added GAGetRNG function to tell which RNG was compiled in. 
    <LI>Fixed bug in implementation of GARandomSeed. Now the changing bits of 
    the value returned by time() are correctly assimilated into the seed, even 
    if the seed has fewer bits than the value returned by time(). </LI></UL>
  <LI>Fixed bug in read member of 1D, 2D, and 3D binary string genomes. 
  <LI>Added pragmas for VC++ in gaconfig.h to disable warnings. 
  <LI>Fixed bug in resizeBehaviour routines in 3D genomes 
  <LI>Fixed bug in example 5 and example 14 in which score cache flag was not 
  properly updated. </LI></UL><STRONG>Changes in version 2.4.2</STRONG><BR><I>13 
November 1996</I><BR>
<P><I>Sorry, but I lost the list due to a hard drive crash :( 
</I></P><STRONG>Changes in version 2.4.1</STRONG><BR><I>10 November 1996</I><BR>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -