Find Jobs
Hire Freelancers

c++ program

$10-30 USD

En curso
Publicado hace casi 8 años

$10-30 USD

Pagado a la entrega
Create a virtual room (10x10) and add a virtual robot in a random spot. 40% of the squares in the room contain batteries, which provide 5 units of power for your robot. The remaining squares are empty. Moving your robot costs 1 unit of power. Your robot starts with 5 units of power and may hold an unlimited number of charges. The robot is capable of sensing the environment to the North, South, East, West and square it is standing on. It can deter- mine if the space has a wall in it, a battery in it or is empty. Each turn it may either grab a battery (if one is in the square it is occupying) or move 1 space. Moving costs 1 unit of power. Moving into a wall costs 3 power units. Your robot “dies” if it runs out of power before the simulation is over (arbitrarily set to 25 moves per robot). The key is the robot brain. You will use genetic algorithms to “program” your robots. Out of a random population, some robots will do better than others. You will keep these robots and “breed” them so subsequent generations will become smarter and smarter at this task. Each generation will use 200 robots, only the initial generation will have randomly generated brains. Each robot will spend 200 turns in the room. You will compare robot performance on the total number of power units each has collected. Once each generation has been scored, you will select the top 50% robots and “breed” them. Each child robot will get 50% of it‘s behavior from 1 parent and 50% from the other. The children will replace the bottom 50% of the robot population. The simulation will run again. You will repeat your simulation1000 times (ie1000 robot generations). Specification. Record the average power collected for each generation and display at the end of the simulation. You should see an ever improving curve as the GA‘s get better and better at their task. NOTE: this program needs to be written in c++ and Ubuntu OS. It should compile perfectly in terminal without giving warnings.
ID del proyecto: 10386634

Información sobre el proyecto

4 propuestas
Proyecto remoto
Activo hace 8 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
4 freelancers están ofertando un promedio de $90 USD por este trabajo
Avatar del usuario
It isn't so important, but a happy coincidence that I am a robotic software engineer. The project itself, is pretty straightforward initially, then you introduce the genetic algorithm element. Now, I do have experience genetic algorithms, my final year thesis was in grammatical evolution. I previously worked in ESA on genetic algorithm toolkit (PaGMO), that used cross-breeding with archipelagos, and one use case was fuel conservation in planetary robotics. I also work in nothing but Ubuntu.
$111 USD en 5 días
2,2 (2 comentarios)
2,9
2,9
Avatar del usuario
I have over 10 years experience in c++ software developement using windows and linux. Furthermore I am doing currently my PhD in Machine Learning, so I am familiar with genetic algorithms and simiar concepts. Are there any more contraints on the layout of the genetic algorithm, or would a rather simple implementation be sufficient? What are the requirements on the code documentation?
$111 USD en 5 días
0,0 (0 comentarios)
0,0
0,0
Avatar del usuario
I am experienced in making games in C++ using DirectX for myself. I like the task and I can do this for you. Please send me some more info if you are interested.
$25 USD en 5 días
0,0 (0 comentarios)
0,0
0,0

Sobre este cliente

Bandera de UNITED STATES
rancho cordova, United States
5,0
1
Miembro desde may 2, 2016

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.