Skip to content

victorouy/genetic-algorithm-robbyrobbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Genetic Algorithm: Robby the Robot

This project showcases an innovative implementation of a genetic algorithm designed to evolve control strategies for our hero, Robby the Robot. Using the Monogame framework, we visualize Robby's journey and improvements as he navigates through a grid, learning and adapting with each generation.

Overview

In this project, Robby the Robot's mission is to traverse a grid and collect all the nodes scattered across it. The true power of this project lies in its use of a genetic algorithm to help Robby evolve his strategies for efficiently finding and collecting these nodes. Over multiple generations, Robby becomes increasingly adept at his task, thanks to the principles of natural selection and mutation integrated into the algorithm.

Key Features

  • Genetic Algorithm: Utilizes the principles of evolution—selection, crossover, and mutation—to evolve Robby's control strategies over time.
  • Monogame Framework: Provides a visual representation of Robby's progress and improvements, making it easier to understand and analyze his learning process.
  • Fitness Function: Measures Robby's efficiency in collecting nodes, guiding the selection process for the next generation.
  • Mutation Implementation: Introduces random variations to Robby's strategies, simulating the natural process of genetic mutation and enhancing his adaptability.

How It Works

  1. Initialization: Robby starts with a set of random strategies for navigating the grid.
  2. Evaluation: Each strategy is evaluated based on its performance, measured by the number of nodes collected.
  3. Selection: The best-performing strategies are selected to form the basis of the next generation.
  4. Crossover: Selected strategies are combined to create new strategies, inheriting traits from both "parents".
  5. Mutation: Random changes are introduced to some strategies, adding diversity and potential for new, more effective solutions.
  6. Iteration: This process repeats for multiple generations, with Robby continuously improving his ability to collect nodes efficiently.

Getting Started

To explore and contribute to Robby's evolution, follow these steps:

  1. Clone the Repository:

    git clone https://github.com/yourusername/genetic-algorithm-robbyrobbot.git
    cd genetic-algorithm-robbyrobbot
  2. Install Dependencies: Ensure you have the Monogame extension installed onto your Visual Studio Code 2022.

  3. Run the Project: Open the project and start the application under RobbyGeneticMono to see Robby in animated action. Watch as he learns and improves with each generation!

About

Implemented a genetic algorithm to evolve control strategies. Use the Monogame framework to help visualize how Robby improves over generations.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages