Amirhossein-Rajabpour / Genetic-Algorithm

Artificial Intelligence Course 2nd Project: Implementing genetic algorithm in order to solve Super Mario game

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Genetic Algorithm

Artificial Intelligence Course 2nd Project: Implementing genetic algorithm in order to solve Super Mario game.
In this group project we (Amirhossein-Rajabpour and arminZolfaghari) implemented genetic algorithm to solve Super-Mario game.
Mario can jump, go straight or dodge. Mario must jump over Goomba and must dodge when it reaches Lakito. If Mario jumps 2 step before Goomba it can kill Goomba and then it gets more points. If Mario jumps when it reaches at the end of the board it gets more points (but it's adjustable). If Mario jumps on a Goomba it gets additional points.

We implemented different types of crossover:

  • crossover from one point which is chosen and randomly
  • crossover from one point which you can specify (by index)
  • crossover from two points which are chosen randomly
  • crossover from two points which you can specify (by index)

and selection:

  • weighted random
  • best selection

that you can choose from. Also you can the number of initial population and mutation probability.
A sample for inputs:

alt text


A sample run with GUI (Level 8):

alt text

Check full description (in persian): here
Project report (in persian): here
Check our other AI Course projects:

About

Artificial Intelligence Course 2nd Project: Implementing genetic algorithm in order to solve Super Mario game


Languages

Language:Python 100.0%