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

📄 structure.html

📁 有趣的模拟进化的程序 由国外一生物学家开发 十分有趣
💻 HTML
📖 第 1 页 / 共 2 页
字号:
of helper classes:<p><table cellpadding=6><tr><td valign=top><tt><font color="#000088">fitness_matrix.??</font></tt>    <td valign=top>The cFitnessMatrix class is used to calculate the	quasi-species around a genotype.<tr><td valign=top><tt><font color="#000088">landscape.??</font></tt>    <td valign=top>The cLandscape class is used to study the local region	of genotype space around a genotype.  All possible single (or more,	if desired) mutations are performed, and statistics are kept about	the results.<tr><td valign=top><tt><font color="#000088">pop_interface.??</font></tt>    <td valign=top>The cPopulationInterface class is used by organisms	to interact back with the population (or test CPU).<tr><td valign=top><tt><font color="#000088">primitive.cc</font></tt>    <td valign=top>This file defines the primitive avida driver, when no	interactive user interface is being used.<tr><td valign=top><tt><font color="#000088">reaction.??</font></tt>    <td valign=top>The cReaction class contains all of the information for	what triggers a reaction, its restrictions, and the process that	occurs.<tr><td valign=top><tt><font color="#000088">reaction_result.??</font></tt>    <td valign=top>The cReactionResult class contains all of the information	about the results of a reaction after one occurs, such as the amount	of resources consumed, what the merit change is, what tasks triggered	it, etc.<tr><td valign=top><tt><font color="#000088">resource.??</font></tt>    <td valign=top>The cResource class contains information about a single	resource, such as its inflow rate, outflow, name, etc.<tr><td valign=top><tt><font color="#000088">resource_count.??</font></tt>    <td valign=top>The resource count keeps track of how much of each	resource is present in the region being tracked.<tr><td valign=top><tt><font color="#000088">species.??</font></tt>    <td valign=top>The cSpecies class represents a group of genotypes that	can be crossed over with a high probability of producing a viable	result.<tr><td valign=top><tt><font color="#000088">tasks.??</font></tt>    <td valign=top>These files contain all of the information associated	with tasks, including the cTaskLibrary, and the cTaskEntry classes.	A task entry contains the task name and a pointer to the function	that will check its completion.</table><p>Finally, we have the utility classes.  A utility class is different fromnormal classes in that they include <i>only</i> methods and no data.  Thisis basically for collecting functions that don't need to be part of aclass, but I want to keep them nice, neat and organized.<p><table cellpadding=6><tr><td valign=top><tt><font color="#000088">analyze_util.??</font></tt>    <td valign=top>The cAnalyzeUtil class contains functions to analyze the	state of avida populations.<tr><td valign=top><tt><font color="#000088">callback_util.??</font></tt>    <td valign=top>The cCallbackUtil class contains functions to enable	the cPopulationInterface to interact smoothly with the population.<tr><td valign=top><tt><font color="#000088">genome_util.??</font></tt>    <td valign=top>The cGenomeUtil class contains functions to analyze	individual genomes, such as scanning if they contain a specific	instruction or to find the edit distance between two genomes.<tr><td valign=top><tt><font color="#000088">inst_util.??</font></tt>    <td valign=top>The cInstUtil class is for functions that used both	a genome and the instruction library, such as loading a new genome	or randomizing a genome.</table><h3>Directory: <tt><font color="#008844">current/source/cpu/</font></tt></h3>This sub-directory contains the files used to define the virtual CPUs inAvida.<p><table cellpadding=6><tr><td valign=top><tt><font color="#000088">cpu_defs.hh</font></tt>    <td valign=top>This header file only contains definitions relating	to virtual CPUs.<tr><td valign=top><tt><font color="#000088">cpu_memory.??</font></tt>    <td valign=top>The cCPUMemory class inherits from the cGenome class,	extending its functionality to facilitate insertions and deletions.	It also associates flags with each instruction in the genome to	mark if they have been executed, copied, mutated, etc.<tr><td valign=top><tt><font color="#000088">cpu_stack.??</font></tt>    <td valign=top>The cCPUStack class is an integer-stack component in the	virtual CPUs.<tr><td valign=top><tt><font color="#000088">cpu_stats.hh</font></tt>    <td valign=top>The cCPUStats class tracks mutations that have	occurred during an organism's life, and the number	of times each instruction has been executed.<tr><td valign=top><tt><font color="#000088">hardware_base.??</font></tt>    <td valign=top>The cHardwareBase class is an abstract base class that	all other hardware types must be overloaded from.  It has minimal	built in functionality.<tr><td valign=top><tt><font color="#000088">hardware_cpu.??</font></tt>    <td valign=top>The cHardwareCPU class extends cHardwareBase into a	proper virtual CPU, with registers, stacks, memory, IO Buffers,	etc.<tr><td valign=top><tt><font color="#000088">hardware_factory.??</font></tt>    <td valign=top>The cHardwareFactory manages the building of new hardware	as well as the recycling of old hardware after an organism dies.	Recycling hardware rather than making a new one each time can 	provide a performance increase.<tr><td valign=top><tt><font color="#000088">hardware_util.??</font></tt>    <td valign=top>The cHardwareUtil class is a utility class that currently	only manages the loading of instruction sets into a virtual CPU.<tr><td valign=top><tt><font color="#000088">head.hh</font></tt>    <td valign=top>The cCPUHead class implements a head pointing to a	position in the memory of a virtual CPU.<tr><td valign=top><tt><font color="#000088">label.hh</font></tt>    <td valign=top>The cLabel class marks labels (series of no-operation	instruction) in a genome.  These are used when a	label needs to be used as an instruction argument.<tr><td valign=top><tt><font color="#000088">test_cpu.hh</font></tt>    <td valign=top>The cTestCPU class maintains a test environment to	run organisms in that we don't want to be able to directly affect	the real population.<tr><td valign=top><tt><font color="#000088">test_util.hh</font></tt>    <td valign=top>The cTestUtil utility class is for test-related functions	that require a test CPU, such as printing out a genome to a file with	collected information.</table><h3>Directory: <tt><font color="#008844">current/source/events/</font></tt></h3><p>The events sub-directory contains files that manage the scheduling andprocessing of user-defined events.  Many of the files here are actuallyautomatically generated by the<font color="#000088"><tt>make_events.pl</tt></font> script, which is writtenin the language Perl, and automatically run by the Makefile.  This scriptwill convert <font color="#000088"><tt>cPopulation.events</tt></font> intothe proper C++ files.<h3>Directory: <tt><font color="#008844">current/source/tools/</font></tt></h3><p>The tools sub-directory contains C++ source code that is used throughout avida, but is not specific to the project.  I will list the proper classesfirst, and then the template class.<p><table cellpadding=6><tr><td valign=top><tt><font color="#000088">assert.??</font></tt>    <td valign=top>A collection of tests that start up the debugger if any  of the tests fail.  When running the code in an optimized mode, these tests  are not performed for speedup.<tr><td valign=top><tt><font color="#000088">data_entry.??</font></tt>    <td valign=top>Associates data names with functions for printing out data  file with a user specified format.<tr><td valign=top><tt><font color="#000088">data_manager.??</font></tt>    <td valign=top>This class manages a collection of data entries and handles  the creation and output of user-designed data files at runtime.<tr><td valign=top><tt><font color="#000088">datafile.??</font></tt>    <td valign=top>A set of classes useful for handling output files, and  a manager to track output files by name.<tr><td valign=top><tt><font color="#000088">debug.??</font></tt>    <td valign=top>This is used to track of problems with the  code.  You can call methods in a debug object to set errors, warnings  or leave comments.  In practice, assert is cleaner.<tr><td valign=top><tt><font color="#000088">file.??</font></tt>    <td valign=top>A set of classes useful for loading input files and removing	comments.<tr><td valign=top><tt><font color="#000088">functions.hh</font></tt>    <td valign=top>Some useful math functions such as Min, Max, and Log.<tr><td valign=top><tt><font color="#000088">help.??</font></tt>    <td valign=top>This still needs to be integrated into avida proper, (it  is being used some in analyze mode) but can output useful HTML help files.<tr><td valign=top><tt><font color="#000088">merit.??</font></tt>    <td valign=top>Provides a very large integer number, dissectable in useful  ways.<tr><td valign=top><tt><font color="#000088">random.??</font></tt>    <td valign=top>A powerful random number generator, that can output numbers  in a variety of formats.<tr><td valign=top><tt><font color="#000088">slice.??</font></tt>    <td valign=top> A scheduling class that can operate at high precision.<tr><td valign=top><tt><font color="#000088">stat.??</font></tt>    <td valign=top>A set of classes used to collect statistics on data.<tr><td valign=top><tt><font color="#000088">string.??</font></tt>    <td valign=top>A standard string object, but with lots of functionality.<tr><td valign=top><tt><font color="#000088">string_list.??</font></tt>    <td valign=top>A specialized class for collections of strings, with added  functionality over a normal list.<tr><td valign=top><tt><font color="#000088">string_util.??</font></tt>    <td valign=top>Contains a bunch of static methods to manipulate and compare  strings.<tr><td valign=top><tt><font color="#000088">tools.hh</font></tt>    <td valign=top>A collection of global objects (for debug, random, and  default directory) and a flags class.</table><p>Templates are special classes that interact with another data-typethat doesn't need to be specified until the programmer instantiates an objectin the class.  Its a hard concepts to get used, but allows for remarkablyflexible programming, and makes very reusable code.  Themain drawback (other than brain-strain) is thattemplates must be entirely defined in header files since separate code isgenerated for each class the template interacts with.<p><table cellpadding=6><tr><td valign=top><tt><font color="#000088">tArray.hh</font></tt>    <td valign=top>A fixed-length array template; array sizes may be adjusted  manually when needed.<tr><td valign=top><tt><font color="#000088">tBuffer.hh</font></tt>    <td valign=top>A container that keeps only the last N entries,  indexed with the most recent first.<tr><td valign=top><tt><font color="#000088">tDictionary.hh</font></tt>    <td valign=top>A container template that allows the user to search for  a target object based on a keyword.<tr><td valign=top><tt><font color="#000088">tList.hh</font></tt>    <td valign=top>A reasonably powerful linked list and iterators.  The list  will keep track of the iterators and never allow them to have an illegal  value.<tr><td valign=top><tt><font color="#000088">tMatrix.hh</font></tt>    <td valign=top> A fixed size matrix template with arbitrary indexing.<tr><td valign=top><tt><font color="#000088">tMemTrack.hh</font></tt>    <td valign=top>This is a template that can be put over any class or data  type to keep track of it.  If all creations of objects in the class are  done through this template rather than (or in conjunction with) "new",  memory leaks should be detectable.  This is new, and not yet used in avida.<tr><td valign=top><tt><font color="#000088">tVector.hh</font></tt>    <td valign=top>A variable-length array object; array sizes will be  automatically adjusted to accommodate any positions accessed in it.</table><h3>Directories: <tt><font color="#008844">current/source/viewers/</font></tt> and <tt><font color="#008844">current/source/qt-viewer/</font></tt></h3><p>These directories contain the source code for the avida viewers, which I'mnot planning on going into at this point.  The first directory containsthe files for the text viewers (both the ncurses viewer and the Windows ASCIIviewer), while the second one contains the files for the Qt graphical viewerthats still under development.  If people are interested in this later in thecourse, I will come back to it in more detail.<h3>Directory: <tt><font color="#008844">current/source/support/</font></tt></h3><p>This directory contains all of the originals of the files that arecopied into the <tt><font color="#008844">current/work/</font></tt> directoryon the installation process for the user to modify.  There is alsoa <tt><font color="#008844">config/</font></tt> sub-directory under herewith additional, optional configuration files that you may want to look atto see other possible pre-configured settings.

⌨️ 快捷键说明

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