https://github.com/marinossav/evolutionary_computing
A coding project aimed at exploring new ways of algorithmic learning using evolutionary techniques such as genetic algorithms and crossover
https://github.com/marinossav/evolutionary_computing
crossover evolutionary-algorithms graph-partitioning linked-lists local-search multiprocessing python
Last synced: 3 months ago
JSON representation
A coding project aimed at exploring new ways of algorithmic learning using evolutionary techniques such as genetic algorithms and crossover
- Host: GitHub
- URL: https://github.com/marinossav/evolutionary_computing
- Owner: MarinosSav
- Created: 2024-07-30T13:39:24.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-07-30T13:52:22.000Z (10 months ago)
- Last Synced: 2025-01-08T09:13:53.882Z (4 months ago)
- Topics: crossover, evolutionary-algorithms, graph-partitioning, linked-lists, local-search, multiprocessing, python
- Language: Python
- Homepage:
- Size: 14.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Evolutionary Computing Experimental Exploration
A coding project aimed at exploring new ways of algorithmic learning using evolutionary techniques such as genetic algorithms and crossover. While a novel area of research it shows promising results for different ways of algorithmic intelligence.
The "genetic_algorithm.py" file explores different crossover techniques such as uniform and two-point when attempting to find a global optimum. The goal of the algorithm is to create a sting containing only the character "1".
The "graph_bipartinioning.py" file implements and experimentally compares multi-start local search (MLS), iterated local search (ILS), and genetic local search (GLS) for a graph-bipartitioning (GP) problem. The goal is to divide the set of vertices of a graph in
two equally sized subsets such that the number of edges that connect two vertices belonging to two different subsets is minimized. The local search algorithm used is the Fiduccia-Mattheyses (FM) heuristic. MLS, ILS, and GLS are metaheuristic algorithms that improve the performance of the local search algorithm. Due to the complexity of large graph traversal techniques such as linked-lists and multiprocessing are implemented for efficieny and reduction of processing time. The graphs are generated by the "graph_generator.py" file which creates random bi-directional graphs of fixed vertex magnitude.