kevinforrestconnors / Evolutionary-Programming-Resources

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Evolutionary-Programming-Resources

Introduction

Evolutionary Programming can broadly be divided into two categories, Genetic Algorithms, and Artificial Life. GAs are algorithms that rely on a model of evolution in order to compute something, while Artificial Life aims to simulate life itself.

Motivation

This repository is primarily intended to provide a resource for myself while I am taking CSC-295, Evolutionary Programming, at Grinnell College. It provides simple examples of a Genetic Algorithm and an ALife example with Unity/C#. Both of these methods would be appropriate to implement for general video game life simulations or computations.

Genetic algorithms

One Genetic Algorithm is shown here. This algorithm aims to solve the "problem" of turning a random binary string into a string of all 1's. It does this by creating a simple fitness function F = Sum(Genome). Asexual reproduction is used, which has the drawback of making large genome length computations particularly slow.

ALife

Two ALife examples are shown here, Asexual and Sexual methods are given.

About


Languages

Language:C# 100.0%