An implementation of the N-Tuple Bandit Evolutionary Algorithm
@inproceedings{NTBEA-Game-Tuning,
title={The N-Tuple Bandit Evolutionary Algorithm for Automatic Game Improvement},
author={Kunanusont, Kamolwan and Gaina, Raluca D. and Liu, Jialin and Perez-Liebana, Diego and Lucas, Simon M.},
booktitle={2017 IEEE Congress on Evolutionary Computation (CEC)},
note{\url{https://arxiv.org/pdf/1705.01080.pdf}},
year={2017}
}
pip install ntbea
To use the NTBEA algorithm, you will need to define the following:
The search space defines the potential parameters in their respective dimensions
The evaluator scores is used to score the combination of parameters for the optimiztion problem
The NTuple landscape is the set of tuples which are used to choose combinations of parameters to test and score
Examples of setting up the Search Space
, Evaluator
and NTupleLandscape
can be found in the examples
directory and run with:
python run.py
max_dims = 6
max_m = 4
# Set up the problem domain as one-max problem
search_space = MMaxSearchSpace(max_dims, max_m)
evaluator = MMaxEvaluator()
# 1-tuple, 2-tuple, 3-tuple and N-tuple
tuple_landscape = NTupleLandscape(search_space, [1,2,max_dims])
# Set the mutator type
mutator = DefaultMutator(search_space, mutation_point_probability=0.5)
evolutionary_algorithm = NTupleEvolutionaryAlgorithm(tuple_landscape, evaluator, search_space, mutator,
k_explore=2.0, eval_neighbours=50)
evolutionary_algorithm.run(5000)
If you want to cite this library, please use the following DOI