Skip to content

Commit

Permalink
(#16) add one reference and edit paper.md
Browse files Browse the repository at this point in the history
  • Loading branch information
SevgiAkten committed Aug 7, 2024
1 parent 4bb1e73 commit ac3ee66
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 4 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@ lib64/**
__pycache__/**
.pytest_cache/**
paper/paper.pdf
*.csl

10 changes: 10 additions & 0 deletions paper/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -85,3 +85,13 @@ @inproceedings{whitley1993cellular
publisher={Morgan Kaufmann},
address={California, CA, USA}
}

@book{alba2008cellular,
title={Cellular Genetic Algorithms},
author={Alba, Enrique and Dorronsoro, Bernab{\'e}},
series={Operations Research/Computer Science Interfaces Series},
year={2008},
publisher={Springer},
address={US},
isbn={978-0-387-77609-5}
}
9 changes: 5 additions & 4 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ affiliations:

date: 6 Aug 2024
bibliography: paper.bib
csl: apa.csl

This comment has been minimized.

Copy link
@jbytecode

jbytecode Aug 7, 2024

Collaborator

@SevgiAkten - we can remove this thing just because it's not compatible with the JOSS submissions

---

# Summary
Expand All @@ -29,22 +30,22 @@ The package is designed to be user-friendly, with a straightforward installation

# Introduction

Optimization problems are a fundamental aspect of various scientific and engineering fields, involving the search for the best solution among a large set of possible options. Genetic algorithms (GAs) have been widely used to address these problems due to their robustness and adaptability. Inspired by the process of natural selection, GAs operate on a population of potential solutions, applying operators such as selection, crossover, and mutation to evolve the population towards better solutions over successive generations [@holland1975adaptation], [@goldberg1989genetic].
Optimization problems are a fundamental aspect of various scientific and engineering fields, involving the search for the best solution among a large set of possible options. Genetic algorithms (GAs) have been widely used to address these problems due to their robustness and adaptability. Inspired by the process of natural selection, GAs operate on a population of potential solutions, applying operators such as selection, crossover, and mutation to evolve the population towards better solutions over successive generations [@holland1975adaptation; @goldberg1989genetic].

Despite their effectiveness, traditional GAs face challenges, particularly in maintaining diversity within the population and avoiding premature convergence to suboptimal solutions [@goldberg1991comparative]. To mitigate these issues, researchers have developed cellular genetic algorithms (CGAs), which introduce a spatial structure to the population [@manderick1989genetic; @whitley1993cellular]. In a CGA, individuals are placed on a grid, and interactions are restricted to neighboring individuals. This localized interaction promotes diversity and enables a more thorough exploration of the solution space.

`pycellga` is a Python package designed to implement CGAs efficiently. By integrating the principles of cellular automata with genetic algorithms, `pycellga` offers a robust framework for tackling complex optimization problems. The package includes several built-in functions for initialization, selection, crossover, mutation, and evaluation, as well as customization options to cater to different needs. This allows researchers and practitioners to apply CGAs to a wide range of problems with ease [@karakaya2024improved].

By providing a comprehensive toolkit for CGAs, `pycellga` aims to advance the field of evolutionary computation and equip researchers with the tools needed to solve increasingly complex optimization problems effectively. The integration of cellular automata with genetic algorithms in `pycellga` represents a significant advancement, offering enhanced performance and versatility compared to traditional methods [@karakaya2024improved; @michalewicz1996genetic; @eiben2003introduction]. `pycellga` has machine coded operators with byte implementations which is developed by [@satman2013machine]. Beside it has Alpha-male CGA, Machine Coded Compact CGA and Improved CGA with Machine Coded Operators [@karakaya2024improved]. An improved cellular genetic algorithm that uses machine-coded operators specifically designed for real-valued optimization problems. This method stands out by employing byte-based operators, which are crafted to process numerical data efficiently in terms of memory usage.
By providing a comprehensive toolkit for CGAs, `pycellga` aims to advance the field of evolutionary computation and equip researchers with the tools needed to solve increasingly complex optimization problems effectively. The integration of cellular automata with genetic algorithms in `pycellga` represents a significant advancement, offering enhanced performance and versatility compared to traditional methods [@michalewicz1996genetic; @eiben2003introduction; @karakaya2024improved]. `pycellga` has machine coded operators with byte implementations which is developed by [@satman2013machine]. Beside it has Alpha-male CGA, Machine Coded Compact CGA and Improved CGA with Machine Coded Operators [@karakaya2024improved]. An improved cellular genetic algorithm that uses machine-coded operators specifically designed for real-valued optimization problems. This method stands out by employing byte-based operators, which are crafted to process numerical data efficiently in terms of memory usage.


# State of the field

There are several existing software packages that implement genetic algorithms, such as DEAP and PyGAD. However, most of these packages do not specifically focus on the integration of cellular automata with genetic algorithms except for JCell which is Java implementation. `pycellga` addresses this gap by offering a specialized toolkit for CGAs, leveraging the strengths of both methodologies. `pycellga` includes machine-coded operators with byte-level implementations. Additionally, it features methods such as Alpha-male CGA, Machine Coded Compact CGA, and Improved CGA with Machine Coded Operators.
There are several existing software packages that implement genetic algorithms, such as DEAP and PyGAD. However, most of these packages do not specifically focus on the integration of cellular automata with genetic algorithms except for JCell which is Java implementation of CGAs [@alba2008cellular]. `pycellga` addresses this gap by offering a specialized toolkit for CGAs, leveraging the strengths of both methodologies. `pycellga` includes machine-coded operators with byte-level implementations. Additionally, it features methods such as Alpha-male CGA, Machine Coded Compact CGA, and Improved CGA with Machine Coded Operators.

# Statement of need

The need for `pycellga` arises from the increasing complexity of optimization problems and the limitations of traditional genetic algorithms in handling these complexities. By incorporating cellular automata, `pycellga` introduces localized interactions and diversity within the population, which can lead to more effective and efficient solutions. This package is particularly useful for researchers and practitioners who wish to explore advanced genetic algorithm techniques. `pycellga` includes machine-coded operators with byte-level implementations developed by [@satman2013machine]. Additionally, it features Alpha-male CGA, Machine Coded Compact CGA and an Improved CGA with Machine Coded Operators for real valued optimization problems.
The need for `pycellga` arises from the increasing complexity of optimization problems and the limitations of traditional genetic algorithms in handling these complexities. By incorporating cellular automata, `pycellga` introduces localized interactions and diversity within the population, which can lead to more effective and efficient solutions. This package is particularly useful for researchers and practitioners who wish to explore advanced genetic algorithm techniques. `pycellga` includes machine-coded operators with byte-level implementations developed by [@satman2013machine]. Additionally, it features Alpha-male CGA, Machine Coded Compact CGA and an Improved CGA with Machine Coded Operators for real valued optimization problems [@karakaya2024improved].

# Installation and basic usage

Expand Down

0 comments on commit ac3ee66

Please sign in to comment.