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

📄 news

📁 有趣的模拟进化的程序 由国外一生物学家开发 十分有趣
💻
📖 第 1 页 / 共 2 页
字号:
[I] Went through header files in source/main/ and removed all non-required    includes.[F] Removed the very old [5+ years] resources implementation.[F] Removed everything to do with redcode.[F] Removed Block time slicer.[I] Abstracted out the time slicer so it just keeps a collection of ints,    each with their own merit, and a "GetNextID()" method which returns the    int that goes next...   Moved both slice and merit into the tools    directory.[I] Adjusted the header files in the viewer so that the viewer takes    virtually no time to compile in primitive mode.[I] Added BENCHMARK file to keep track of timings of avida as changes    are made.  Added MAP file to track #include's.  Add tMemTrack for    potential tracking.[I] Removed files:	source/cpu/cpu.ii source/cpu/hardware.ii source/cpu/head.ii    	source/cpu/interface.cc source/cpu/interface.hh    	source/main/classes.hh source/main/geneology.cc    	source/main/geneology.hh source/tools/include.hh    	source/tools/lookup.cc source/tools/lookup.hh    	source/tools/memory.cc source/tools/memory.hh    	source/tools/memory.ii source/tools/memtrack.cc    	source/tools/memtrack.hh source/tools/struct.cc    	source/tools/struct.hh[I] Moved functionality from inst_lib.hh into its code file...[I] Removed cFlags object entirely; got rid of tools.ii.[I] Removed debug.ii, random.ii, and string.ii[I] Created a string_util.?? component to hold higher level string methods.[I] Created a seperate inst_args.?? component to contain instructions that    can have arguments.  Ideally this needs to be further compartmentalized    in the futures.[I] Created cGenome and cCPUMemory to replace cCodeArray; a *much* cleaner    interface.  They are in main/genome.?? and cpu/cpu_memory.??    respectively.  [This was a very serious, code-wide change!]  cGenome    is a fixed length, doesn't have flags associated with each    instruction, and is used for most of the old occurances of cCodeArray.    cCPUMemory is more similar to the original cCodeArray, but is derived    from cGenome (henece functions that that cGenome can use either) and has    many fewer methods that should add up to the same functionality.[I] Added main/genome_util.?? for static genome manipulation and    comparison functions (like Hamming and Edit distances).[I] Stripped out a lot of the redundent methods from cHardware.  More of this    should be done.[I] Moved tracking of stepping through organisms in the viewer over to    population.  Got rid of all of the AltInstructionSet nonsense that    used to handle it.  There are now two tight loops in DoUpdate() ; one    of them is run if you're stepping, the other if your not, so there    should be no speed loss.[I] Continued to stip down the interface to cHardware.  Ideally we'll be    able to shift instruction execution in there soon (from cBaseCPU) and    rebuild cBaseCPU into cOrganism or somesuch.[I] Re-vamped cInstLib.  Made cInstEntry a private object, and generally    cleaned up the insides.  Inst libs might take longer to load at    startup now (insignificant since its done only once, and we're talking    miliseconds), but the interface is *much* cleaner.[I] Created seperate inst_util.?? component to handle interations between    inst_lib and genomes (such as printing) and initializations of    inst libraries.[F] Got rid of arg-based instruction set and binary instruction set entirely.    This had remarkably far-reaching effects.[F] Removed curses.?? [Its old enough that we shouldn't need it anymore,    and the interface was out of date.][I] Created a tDictionary template that takes in strings with arbitrary    data, and can lookup the data via the string.  Uses a hast table keyed    off of the string.[F] Avida will now warn you if you attempt to load an instruction in the    inst library that doesn't exits.  It used to just ignore it.[I] Merged cCreature into cBaseCPU.  Removed creature.hh[I] Moved cCPUStack into its own component[I] Separated out hardware and cpu into logical elements.  This is a huge    change, and I'm not going into detail here about it.[I] Setup memory allocation method Necrophelia to work more correctly -- it    now uses the older memory that was lingering in the hardware the organism    is in.[I] Shifted cpu/cpu.?? to main/organism.?? and cleaned up dependencies.[I] In genesis, changed the name of the RESET_* configuration variables, to    the more acurate STERILIZE_*[B] Added #include <string.h> in string.hh and debug.hh -- it was crashing on    calls to strlen() on some newer compilers.[B] Fixed templates in tDictionary; reuse of "T" as templated class crashed on    some newer compilers.[B] Fixed make_events.pl -- it was creating statments in the form of     (test_input == "") variable=default : variable=input_value;    This is a problem since the variable should always be on the outside of    such statements.  Unfortunatly, that gives other errors, so I changed it    to a proper if-else.  New format is:     if (test_input == "") variable=default; else variable=input_value;[B] Fixed some const problems in events.[F] Added genesis option "REQUIRED_TASK", which lets the user set the id    of a mandatory task for a divide to be successful.Claus 08/11/01:[I] Removed the cAvidaMain events files. All events are now defined in     events/cPopulation.events. I removed two events completely, the one to    change the viewer and the one to print the event list. I think both    are pretty unnecessary (and are in the way of cleaning up the code more).Charles 08/15/01:[F] Removed LINEAR_MEMORY option...[I] Systematically shifted some includes to be more restrictive (in .cc    rather than .hh)[I] Removed class cCPUInfo entirely; placed most components into cPhenotype,    and the rest directly into cOrganism.[I] Created hardware_util.?? to handle loading of hardware methods into    instruction libraries.[I] Created lineage_util.?? to remove lineage printing (and hence all    knowledge of lineages) from stats.[I] Created organism_util.?? to provide a location for functions that act    on organisms but require the use of both genotype & genebank.[I] Lots of changes throughout viewer to get it up and running again with    all the modifications from the rest of the code...[F] Added more descriptive faults in the zoom mode of the viewer; helpful in    debugging organism operation.[B] Changed minimum executed and copied size so that at the minimum values,    the organisms are legal, but not below (changed a '<=' to just a '<').    This means that with a minimum copied size of 1.0, everything must be    copied (as opposed to more than everything, which was causing this to    break before.[I] Generally did a lot of prep work to get the organisms well seperated from    the population...  That'll be the next big step.------------[I] Created a population_cell.?? component; populations have a collection    of cells instead of organisms -- the cells contain the organisms that    make up the population.[I] Created a seperate mutations.?? component, with a cMutationRates class    to keep track of mutation rates, and handle basic functions dealing with    them.  Each population cell has its own mutaiton rates, which get passed    to any organism placed into that cell.  All traces of mutations have    been removed from environments.[I] Most of the system has been fully levelized -- all of the files in the    tools/  main/ and cpu/ directories are set; only the viewer and events    are left to be done, and they should be rather straigh-forward.  Take    a look at current/source/tools/MAP and current/source/LEVELS for more    info.[I] Organisms are now unique entities for their entire existance; they used to    be referred to as CPUs in the code, and would have new genomes regularly    loaded into them.  A population is now a collection of cells, each of    which can be occupied with an organism or not.  When an organism gives    birth, it passes a fully constructed offspring organism to the population    to be placed.[I] The population object itself has been entirely overhauled.  Its streamlined    to now have a minimal number of methods, including the key methods    ActivateOrganism(), which is always called to place an organism in    a population, and  KillOrganism() which must be called to remove an    organism.  This allows central points for statistics to be done, though    they haven't been moved there yet.[I] Hardware construction and destruction has been centralized in a hardware    factory object; this will allow recycling of hardware objects for a    speed increase, though this optimization still needs to be finished.[I] A number of utility classes have been created to more complex manipulation    of objects that don't belong inside of them.  This has made the    relevent classes cleaner and easier to understand.[F] Added configure mode --enable-normal to compile without either debug or    optimization.  Much faster for testing![I] Major re-engineering of cPhenotype -- the internals should be much    cleaner now.[I] Created symbol_util.?? component in viewers to remove all of the symbol    handling from population_cell.??[B] Got TestCPUs working properly at last.[B] Got death working again.[O] Tracing now provides registers in both decimal and hex formats.  Also,    merit is broken down into initial (either constant or proportional to    length) and earned bonuses.[I] Removed a bunch of viewer related methods from cAvidaMain that were either    unused or redundant.[I] Cleaned up even more header files (in particular test_cpus were being    included in some components they didn't need to be in any more.)[B] The GetTest[...] methods in genotype had had some problems when a    genotype wasn't viable; these should be fixed now.[O] Surpressed output of warning that data files are bring over-written.    Ideally, we'll put this back in properly at some point, but at the    moment, its messes with the viewer.[O] Improved output methods, and in particular "species.dat" for speciation    measurements.[I] Moved task_buffer.?? to the more generic template tBuffer.hh and placed    it in tools.[F] Removed all portions of current resource system throughout code    (in preperation of setting up a new one).[O] Renamed event_list to events.cfg[I] Changed all "special" assert commands to the default assert.[I] Moved inst_lib and mutation rates into environment.[B] Repaired generation counting... it was always incrementing the generation    of parent no matter what the genesis file said, and *then* it would    increment the generation of the parent.  Obviously this was a bug all    around and its now fixed.  I did, however, set the defaults to splitting    and increasing the generation of both parent and child.----------------

⌨️ 快捷键说明

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