Reaktor race-condition: Difference between revisions

From wikiluntti
(Created page with "== Introduction == https://race-condition.reaktor.com/play Input data * FPV view * speed? * best lap time, last lap time? Output * throttle * steering == Theory == === Rules ===")
 
 
(6 intermediate revisions by the same user not shown)
Line 15: Line 15:


=== Rules ===
=== Rules ===
=== PID algorithm ===
PID to stay in the blue area.
=== NEAT algorithm ===
Input
* Distance to some black; about 15.
A.I. teaches itself to drive in Trackmania: https://www.youtube.com/watch?v=a8Bo2DHrrow
* The neat algorithm: https://neat-python.readthedocs.io/en/latest/neat_overview.html
* Input: Wall distances and speed (shown at t=1.01; 7 or 15 distances)
* 8 inputs (distances and speed) -> 3 outputs (left, right, throttle)
* Fitness function: distance traveled by the car in a given time
* Generation 1: Population of 100.
* Generation n: crossovers of best individuals + random mutations
* Q-learning,
https://www.youtube.com/results?search_query=neat+algorithm+game
https://medium.com/@nirajsawant2313/a-simple-ai-using-neat-neuroevolution-of-augmenting-topologies-ae1b7d8f4a5e
* Inputs: The relative position of the ball to the paddle, velocity of the ball. Totally 4.
* Outputs: Left, Right, place
* Fitness function: +10 if hits, -5 if misses.
https://towardsdatascience.com/neuro-evolution-on-steroids-82bd14ddc2f6
=== Soft Actor-Critic Algorithm === 
https://github.com/trackmania-rl/tmrl
* Soft Actor-Critic: a beginner-friendly introduction https://www.youtube.com/watch?v=LN29DDlHp1U

Latest revision as of 15:32, 12 May 2023

Introduction

https://race-condition.reaktor.com/play

Input data

  • FPV view
  • speed?
  • best lap time, last lap time?

Output

  • throttle
  • steering

Theory

Rules

PID algorithm

PID to stay in the blue area.

NEAT algorithm

Input

  • Distance to some black; about 15.

A.I. teaches itself to drive in Trackmania: https://www.youtube.com/watch?v=a8Bo2DHrrow

  • The neat algorithm: https://neat-python.readthedocs.io/en/latest/neat_overview.html
  • Input: Wall distances and speed (shown at t=1.01; 7 or 15 distances)
  • 8 inputs (distances and speed) -> 3 outputs (left, right, throttle)
  • Fitness function: distance traveled by the car in a given time
  • Generation 1: Population of 100.
  • Generation n: crossovers of best individuals + random mutations
  • Q-learning,

https://www.youtube.com/results?search_query=neat+algorithm+game

https://medium.com/@nirajsawant2313/a-simple-ai-using-neat-neuroevolution-of-augmenting-topologies-ae1b7d8f4a5e

  • Inputs: The relative position of the ball to the paddle, velocity of the ball. Totally 4.
  • Outputs: Left, Right, place
  • Fitness function: +10 if hits, -5 if misses.


https://towardsdatascience.com/neuro-evolution-on-steroids-82bd14ddc2f6

Soft Actor-Critic Algorithm

https://github.com/trackmania-rl/tmrl