Git Product home page Git Product logo

assignment1's Introduction

🧬 Evolutionary EvoMan player - Assignment 1 🎮

This repository contains a project realized as part of the Evolutionary Computing course of the Master's degree in Artificial Intelligence, Vrije Universiteit Amsterdam.
The aim of this project is compare two Evolutionary Algorithms for the task of video game playing using a python framework called EvoMan. For more details, read the task assigment. The proposed solution is describer in the report.

EvoMan

Approach 1

For the first part of the experiment, meaning the evolution part, you need to:

  • Run the approach1/genetic_optimization.py file. There you can set up the ENEMY global variable to change through different enemies.
  • The best individual found is stored in the approach1/runs/enemy_#/best_individual_run_#.txt file. The history of the evolution is stored in the approach1/runs/enemy_#/logbook_run_#.csv file.
  • The hyperparameter_tuning.py file is used to tune the hyperparameters of the algorithm through hyperopt
  • approach1/experiment_runner.py runs 10 optimizations simultaneously.

For the second part, where the best individuals are confronted to different enemies, you need to:

  • Run the approach1/play_with_best.py file, selecting the enemy you want to play with.
  • Results are then stored in the approach1/runs/enemy_#/games_played.csv file.

Approach 2

For the first part of the experiment, meaning the evolution part, you need to:

  • Run the approach2/neat_optmization.py file. There you can set up the ENEMIES global variable to change through different enemies.
  • The best individual found is stored in the approach2/runs/enemy_#/best_individual_run_#.txt file. The history of the evolution is stored in the approach2/runs/enemy_#/logbook_run_#.csv file.

For the second part, where the best individuals are confronted to different enemies, you need to:

  • Run the approach2/play_with_best.py file. There can change the ENEMY parameter to face different enemies (those enemies need to have a created folder and results from the first part of the experiment)
  • Results are stored in the approach2/runs/enemy_#/games_played.csv file.

Results

Results obtained with both approach show that even in the early generations we can obtain very good individuals, reaching fitness values above 90 for all three enemies tested. To have a deeper insight on the graphs, check out the plots folder.

Group members - 88

Name Surname Email Username
Simone Montali [email protected] montali
Giuseppe Murro [email protected] gmurro
Nedim Azar [email protected] nedimazar
Martin Pucheu Avilés [email protected] martinpucheuaviles

License

This project is licensed under the GNU General Public Licens - see the LICENSE file for details

assignment1's People

Contributors

gmurro avatar martinpucheuaviles avatar montali avatar nedimazar avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

gmurro

assignment1's Issues

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.