SevgiAkten / pycellga

Cellular Genetic Algorithms in Python.
https://sevgiakten.github.io/pycellga/
MIT License
2 stars 1 forks source link

Clarification on "Machine-coded" Terminology #66

Open SevgiAkten opened 3 weeks ago

SevgiAkten commented 3 weeks ago

This is linked to the review feedback in Issue #65 and part of the JOSS review: openjournals/joss-reviews#7322

SevgiAkten commented 3 weeks ago

Reviewer Comment Response

Hi @jbussemaker,

Thank you for your feedback regarding the term "machine-coded." We have clarified this terminology in the documentation to provide a more precise understanding. In this context, "machine-coded" refers to a specialized encoding technique optimized for real-parameter optimization, originally introduced by Satman (2013). This approach focuses on efficient data processing through byte-level manipulation, which is particularly advantageous for real-valued optimization tasks. We have also included a reference to the IEEE 754 standard for floating-point arithmetic, further enhancing precision and effectiveness in optimizing continuous functions.

Please let us know if this update aligns with your expectations or if further clarification is needed.

jbussemaker commented 3 weeks ago

All right, if you indeed make it clear that "machine-coded" is actually the name of some encoding technique that you reference to, then for the paper it is fine.

However just for my understanding: there have been many efforts over the past decades to support real-valued design variables in evolutionary algorithms, mostly through the development of specialized crossover and mutation operators (instead of relying on operators developed for byte strings). Why don't you use these well-tested operators?

SevgiAkten commented 3 weeks ago

We decided to implement machine-coded, byte-based operators due to their effectiveness in handling real-valued optimization tasks. Byte-level manipulations provide computational efficiency and have shown promising results in finding optimal solutions compared to traditional floating-point operators. In our previous study, we demonstrated these advantages with an Improved Cellular Genetic Algorithm using machine-coded operators, showing better performance on benchmark functions like Ackley, Bohachevsky, and Rastrigin (Akten Karakaya & Satman, 2024).

As part of my doctoral dissertation, I expanded the test benchmarks to include 20 functions, where machine-coded CGAs outperformed classical real-valued operators in 16 cases, including complex functions like Bent Cigar and Zakharov (Akten Karakaya, 2024). To give users more flexibility, pycellga also includes traditional operators, such as Arithmetic, Linear, and BLX-alpha crossover, allowing for comparisons within the same framework.

References:

Akten Karakaya, S., & Satman, M. H. (2024). An improved cellular genetic algorithm with machine-coded operators for real-valued optimization problems. Journal of Engineering Research and Applied Science, 13(1), 2500-2514.

Akten Karakaya, S. (2024). Investigation of cellular genetic algorithms and improvement of their performance (Doctoral dissertation, İstanbul University). Council of Higher Education Thesis Center (YÖKTEZ), Turkey.

jbussemaker commented 3 weeks ago

Thank you for the explanation. For the JOSS review this is sufficient, especially because you also include the traditional operators for comparison.