аЯрЁБс;ўџ ўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ§џџџўџџџўџџџ ўџџџ  !"#$%&'1)*+,-./0ўџџџ23ўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџRџџџџџџџџCompObjџџџџjWordDocumentџџџџџџџџџџџџ @1Tableџџџџџџџџџџџџ(ўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўџ џџџџ РFMicrosoft Word Document MSWordDocWord.Document.8є9ВqA@ђџЁ&\`ђ&Default [ `ёџ CopymH CJ(]@( Default SSCJ(^`ё( Default TB,_`ё",Header$5CJ``ё2Body(a`ёB(Footer$6(b`ёR(FootnoteCJ0c@a0Footnote IndexH*G<џџџџb!Ž0„+Ž0Ž0IIG@GTimes New Roman5Symbol3Arial;Helvetica"AŒаh*‹&+‹&ƒ!ЅРДД€0Fneral rule that we can program iьЅСG ПŽ0bjbjŽйŽй !<ьГьГGџџџџџџ]АААААААФФФФФиФ!ђјјјјјјјј       є АјјјјјААјјјјјј АјАјјјјјјјјјјјјјјААјь рˆ•њМФФ Computer Aided Genetic Modelling of Sexually Reproduced Organisms Part I: Question/Hypothesis When counting the number of sexually reproduced organisms with a certain trait, is therre a pattern for a given breeding rule when this rule is excercised over millions of creatures through billions of generations? To cite an example, please look at this problem: we have an organism with traits A and B. Suppose that a disease attacks and kills all organisms with a recessive B trait. To prevent future generations of these organisms from suffering from this disease, we will only breed using gene donors (parents) that both exhibit a dominant B trait. What happens if we excercise this rule over one million organisms, for eight billion generations, excluding chance mutations during reproduction? If we plot the data for each generation on a line graph, and then do a similar problem with another exclusive ruleset, will the graphs of the data look similar? Can we extract an equation or general rule that we can program into a computer, and use it to predict how many creatures will exhibit any given trait at any given generation with a given set of initial organisms? These are the questions that this experiment will answer. Part II: Implementation This experiment will be conducted using a computer program that creates a given number of organisms and excercises reproductive rules on those organism for a given number of iteration (from here on, the terms  generation and  iteration are synonymous). The organisms will be represented as objects (implemented as structs in the C programming language). Each organism object will contain the following variables: an unsigned 32-bit integer for the age of the organism, and two unsigned 8-bit integers representing the left and right side of the DNA strand. This allows for a maximum of seven traits to be used when writing rulesets; an eighth trait determines the gender of the creature. Bitwise logic will be used to manipulate the  DNA of each organism; a bit with a value of one will be used as representing a dominant allele, wherease a bit with a value of zero will be labelled as recessive. Thus, any given trait, represented as a bit-pair in the  DNA variables, will only be recessive if both bits are equal to zero; otherwise, it is considered a dominant trait. Each organism will theoretically take up 6 bytes of memory. 4 bytes (for the 32-bit integer) plus 2 bytes (one for each side of the  DNA strand) equals 6 bytes. However, the machine on which this program will be compiled and run (an Apple PowerPC running Mac OS X v. 10.3 and Linux under the 2.6 kernel) always pads structs to a multiple of four bytes; thus, to make the most efficient use of memory, we could add another two bytes of data to the struct, representing some other type of important information, or we could reduce the age variable to an unsigned 16-bit integer that takes up only two bytes; thus, the maximum age of a creature would be reduced from 4,294,967,295 iterations to 65,535 iterations. The size of the organism struct would be reduced to four bytes of memory. When we do the math, we find that the number of six-byte organism structs that we could fit into one kilobyte (1024 bytes) of memory = 1024 / 6 = 170 organisms. For one megabyte (1024 kilobytes, or 1048576 bytes), we get 174,762 organisms. However, when using a four-byte organism struct, we find that one kilobyte of memory contains 256 organisms, and one megabyte of memory contains 262,144 organisms. One million 6-byte organisms would require approximately 5.7 megabytes of memory; one million 4-byte structs would use approximately 3.8 megabytes. At the time of this writing, the four-byte organism appears to be the best option. Part III: Rulesets There are two parts to the rulesets used on these organisms: the reproductive part, and the kill-if part. The reproductive ruleset is the main part of this experiment; it allows us to set up a breeding scheme to acquire a desired outcome for each generation of organisms. The kill-if ruleset is less important, but still plays a vital role in the experiment, and can be neglected entirely if so desired. The only mandatory kill-if rule is the maximum organism age. Reproductive rules are implemented in a simple fashion: the number of traits is declared (and must be less than or equal to seven), and the requirement for each trait for both parents is prompted. A requirement on a trait can be one of five options: dominant, fully dominant, partially dominant, recessive, or none (null). The kill-if ruleset is implemented in much the same way, with two exceptions: there may be more than one kill-if rule, and age is a valid requirement for kill-if rules. If there is more than one kill-if rule, each rule is evaluated in the order it was entered until one of the rules returns true (in which case the organism is killed, signified by an age value of zero) or the end of the rule list is reached. Each kill-if rule is evaluated only once for each organism per iteration. Part IV: Importance This research will be of most value to breeders of any kind of organism. However, since this is program works only on long-range data, verification of the experimental data on actual organisms could only be performed on simple creatures with short lifespans. This effectively reduces the kind of verifiable organisms to bacteria. Thus, this research will be of most use to microbiologists and bacteriologists. These people would use these data to isolate a certain trait in bacteria for some purpose-- perhaps higher or better quality penicillin production, or bacteria that are better for fermenting certain substances. „†ОТr*   Ђ в д д<bDŽИ `!b!ѓшнвЧМБІ›…zodYNC8OJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJCJHnHsH tHb!ˆ!Š!0%И'‚+„+Ќ+Ў+Š0Œ0Ž0ѕъпдЩОГЈ’‡OJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tHOJQJnHsH tH „†ОТr*   Ђ в д д<bDŽИ `!b!ˆ!Š!0%И'‚+„+ќњјієђ№юьъшцфтромкиждваЮ$„+Ќ+Ў+Š0Œ0Ž0§ћљїѕ„†ОТr*   Ђ в д д<bDŽИ `!b!ˆ!Š!0%И'‚+„+Ќ+Ў+Š0Œ0Ž0 [ `ёџ CopymH A@ђџЁ&\`ђ&DefaultCJ(]@( Default SSCJ(^`ё( Default TB,_`ё",Header$5CJ``ё2Body(a`ёB(Footer$6(b`ёR(FootnoteCJ0c@a0Footnote IndexH*G<џџџџb!Ž0„+Ž0Ž0IIG@GTimes New Roman5Symbol3Arial;Helvetica"AŒаh*‹&+‹&ƒ!ЅРДД€0F0Аа/ Ар=!А "А # $ %А