All Projects → hecoding → Pac-Man

hecoding / Pac-Man

Licence: other
Evolutionary Pac-Man bots using Grammatical Evolution and Multi-objective Optimization. Cool GUI included (Undergraduate Thesis)

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Pac-Man

geppy
A framework for gene expression programming (an evolutionary algorithm) in Python
Stars: ✭ 124 (+148%)
Mutual labels:  genetic-programming, evolutionary-computation
arja
Multi-Objective GP for Automated Repair of Java
Stars: ✭ 31 (-38%)
Mutual labels:  genetic-programming, multi-objective-optimization
tiny gp
Tiny Genetic Programming in Python
Stars: ✭ 58 (+16%)
Mutual labels:  genetic-programming, evolutionary-computation
IPL-ML-2018
Predicting IPL match results. https://kuharan.github.io/IPL-ML-2018/
Stars: ✭ 14 (-72%)
Mutual labels:  decision-trees
QuantumForest
Fast Differentiable Forest lib with the advantages of both decision trees and neural networks
Stars: ✭ 63 (+26%)
Mutual labels:  decision-trees
pacmanity
Package List Gist Backup via ALPM-Hooks
Stars: ✭ 34 (-32%)
Mutual labels:  pacman
open-box
Generalized and Efficient Blackbox Optimization System [SIGKDD'21].
Stars: ✭ 174 (+248%)
Mutual labels:  multi-objective-optimization
Amazon-Fine-Food-Review
Machine learning algorithm such as KNN,Naive Bayes,Logistic Regression,SVM,Decision Trees,Random Forest,k means and Truncated SVD on amazon fine food review
Stars: ✭ 28 (-44%)
Mutual labels:  decision-trees
AdaptiveRandomForest
Repository for the AdaptiveRandomForest algorithm implemented in MOA 2016-04
Stars: ✭ 28 (-44%)
Mutual labels:  decision-trees
lleaves
Compiler for LightGBM gradient-boosted trees, based on LLVM. Speeds up prediction by ≥10x.
Stars: ✭ 132 (+164%)
Mutual labels:  decision-trees
MLDay18
Material from "Random Forests and Gradient Boosting Machines in R" presented at Machine Learning Day '18
Stars: ✭ 15 (-70%)
Mutual labels:  decision-trees
pacman-for-termux
Special configured pacman for termux.
Stars: ✭ 24 (-52%)
Mutual labels:  pacman
goga
Go evolutionary algorithm is a computer library for developing evolutionary and genetic algorithms to solve optimisation problems with (or not) many constraints and many objectives. Also, a goal is to handle mixed-type representations (reals and integers).
Stars: ✭ 39 (-22%)
Mutual labels:  evolutionary-computation
GeneticsJS
Evolutionary algorithms library for the web 🧬
Stars: ✭ 25 (-50%)
Mutual labels:  evolutionary-computation
dotfiles
No place like ~. Nix. All. The. Things.
Stars: ✭ 48 (-4%)
Mutual labels:  pacman
Breast-Cancer-Scikitlearn
simple tutorial on Machine Learning with Scikitlearn
Stars: ✭ 33 (-34%)
Mutual labels:  decision-trees
pac-man-emulator
🕹 An emulator for the Pac-Man arcade machine (Zilog Z80 CPU) for Win/Mac/*nix and Xbox One.
Stars: ✭ 20 (-60%)
Mutual labels:  pac-man
statemachine-go
🚦 Declarative Finite-State Machines in Go
Stars: ✭ 47 (-6%)
Mutual labels:  decision-trees
Pacman-Game
This is a pacman game made using HTML, CSS and Javascript only.
Stars: ✭ 42 (-16%)
Mutual labels:  pacman
GeneticAlgorithmForFeatureSelection
Search the best feature subset for you classification mode
Stars: ✭ 82 (+64%)
Mutual labels:  genetic-programming

Ms Pac-Man

Ms Pac-Man

Ever since the birth of video-games we’ve seen Artificial Intelligence techniques applied to them: Character behaviour, enemy strategies, pathfinding, etc. We want to explore Grammatical Evolution (a Genetic Programming variant) to evolve game strategies generated from the derivation of defined grammar rules. For this purpose, we experimented with the evolution of a bot for Ms. Pac-Man, a well-known game which can have many sub-goals, like surviving the most time possible, eating the most pills, killing as many ghosts as it can, or go through a lot of levels before dying to the ghosts.

Particularly, we experimented with controllers based on two different grammars, with high and medium level actions respectively. Due to the complexity of video-games and how useful it could be for an artificial intelligence to modify its behaviour in real time, we want to check the results of multi-objective optimization in grammatical evolution. And how we can achieve the subgoals we consider more important in a situation by simply changing the evaluation functions we use in the grammatical evolution algorithm.

In this work we will show that this approach based on Grammatical Evolution gets excellent results and we will see that bots produced can obtain high scores and complete several levels, even better results than the coded bots included, or other known evolutionary bots.

You can check out our slightly fancier website here. It has the same content than this Readme plus some interactive graphs and example grammars.

Publications

Detailed description of all the work behind this project (not completely in English, sorry).

Scientific article published on CoSECiVi (Spanish Society for VideoGame Sciences Conference) 2017.

Downloading

Using the command line

git clone https://github.com/hecoding/Pac-Man.git

From Eclipse or other IDE

File > Import > Git > Projects from Git > Clone URI
Paste https://github.com/hecoding/Pac-Man.git in URI field
Check master only and click Finish

Running

On the project, go to src/main and execture class Main.java. The GUI will open.

Checking the code

Configure your Eclipse so that the code looks good (UTF-8 and Unix line endings).

Meet the Docs

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].