Giter Club home page Giter Club logo

evo's Introduction

evo

This is a reinforcement learning environment build in java exploring RL in a competitive environment. The goal is to create something similar to game of life where there are two types of agents, where the predators are more powerful but require more resources. The peasants are weaker, but they could work together. Currently the way fighting works is that predators have a high chance of inflicting damage, and peasants have a low chance. Everything can only take one action in a step. If peasants converge together and attack/trap a predator, there is a higher chance all their children can survive. Will they scatter or run?

setup

This project uses gradle and currently requires few dependencies, although dl4j will be added soon. I enable auto-import in my ide (intellij), and everything works smoothly.

design

  • currently a session is run, loading and starting the game (very simple)
  • its easiest to observe this by running the server and watching it in localhost
    • the speed of the events is turned down to be observable
    • 0.0.0.0:4567

experiments

  • start training with both of them vs...
    • train each agent type individually first, and then with each other
  • try out very weak models but more than random
  • try more complicated models
  • try different reward systems:
    • what makes sense here? how do you win life?
    • they so far can only evolve by better choosing which action
    • mendelian is harder/ makes slightly less sense/ it would be hard to create an entire ecosystem where we can model that.
    • another scheme would be to reward all the actions of the race that survived
    • if training is difficult we could be easier on it, reward any 'good' action
      • mating, winning a fight...
  • i have list written done that I think are more intersting than these but I currently forget..

questions to explore

  • do the peasants work together?
  • do the predators work together?
  • will they 'betray' each other?
  • do we see classical boom and bust of population?
  • is the game setup to the point where its fair?

plans

  • start using dl4j, and implement basic rl models.
  • have a server running and give options to users to display different checkpoints
    • try different configurations and numbers of agents
    • select which model to choose
    • having live charts showing relative populations and/or rewards

tweaks to try

  • need to find reasonable parameters were its competitive
    • percentatges for victory for each class for a fight, currently 95% and 5% (pred, prey)
    • amount of hunger
    • max age

evo's People

Contributors

cjlovering avatar

Watchers

 avatar  avatar  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.