Giter Site home page Giter Site logo

amlalejini / aagos Goto Github PK

View Code? Open in Web Editor NEW

This project forked from leg2015/aagos

0.0 1.0 0.0 156.28 MB

Presented as a late-breaking poster at ALife 2018. Variable-length NK landscape used for investigating the effect of environmental change on gene length even in the presence of high mutation rates.

Home Page: https://lalejini.com/Aagos/web/Aagos.html

License: MIT License

Makefile 0.01% C++ 0.28% HTML 90.05% Shell 6.40% Python 0.64% Jupyter Notebook 2.62% R 0.01%

aagos's Introduction

Aagos

  • Auto-Adaptive Genetic Organization System

Motivation

  • In static systems, high mutation rates create a pressure for gene overlap and smaller genomes
  • However, more modular, separated genetic architectures have been shown to be more evolvable in previous work
  • Furthermore, in evolutionary biology, we see a general trend of larger essential genomes in more complex organisms
  • Therefore, what environmental pressures have selected for modular, evolvable genetic architectures in biological systems?

System Model

  • NK-Inspired landscape
  • Variable length genomes

Results

  • High mutation rates in a static landscape do indeed lead to smaller minimal genomes
  • Moderate environmental change leads to larger minimal genomes, however high environmental change leads to meltdown
  • Even with a high mutation rate, in the presence of moderate environmental change, minimal genome size is significantly larger than in static environments

Experiment Replication

To run these experiments for yourself, simply download the Empirical library and this repository and enter the commands:

make

./Aagos -[parameters]

Parameters we used:

  • GENE_MOVE_PROB = 0.003
  • BIT_FLIP_PROB = 0, .00001, .0001, .001, .003, .01, .03, .1
  • BIT_INS_PROB = 0.001
  • BIT_DEL_PROB = 0.001
  • CHANGE_RATE = 0, 1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, 5000

Changeable Parameters

Environmental Parameters

  • CHANGE_RATE, default 0, How many changes to fitness tables each generation
  • POP_SIZE, default 1000, How many organisms should be in the population
  • MAX_GENS, default 50000, How many generations should the runs go for
  • SEED, default 0, Random number seed (0 for based on time)
  • ELITE_COUNT, default 0, How many organisms should be selected via elite selection
  • TOURNAMENT_SIZE, default 2, How many organisms should be chosen for each tournament

Genomic Structure

  • NUM_BITS, default 128, Starting number of bits in each organism
  • NUM_GENES, default 16, Number of genes in each organism
  • GENE_SIZE, default 8, Size of each gene in each organism
  • MAX_SIZE, default 1024, maxiumum size of a genome
  • MIN_SIZE, default 8, minimum size of a genome

Mutations

  • GENE_MOVE_PROB, default 0.01, Probability of each gene moving each generation
  • BIT_FLIP_PROB, default 0.01, Probability of each bit toggling
  • BIT_INS_PROB, default 0.01, Probability of a single bit being inserted
  • BIT_DEL_PROB, default 0.01, Probability of a single bit being removed

Output

  • PRINT_INTERVAL, default 1000, How many updates between prints?

aagos's People

Contributors

amlalejini avatar emilydolson avatar leg2015 avatar mercere99 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.