全部工程
遗传算法与程序演化 · 可运行实验

GA-sort

自行研究遗传算法的实验,让操作序列在选择、交叉与变异中演化。

技术方向
进化计算 / 程序演化
设计主张
编码候选行为,用适应度引导搜索。
关键能力
  • 操作序列基因
  • 可替换算子
  • 固定种子重现

固定 seed 42 演化交换序列,展示排序适应度曲线、输入与控制台结果。

让操作序列自己演化

自行研究遗传算法时的实验产物。把数组交换或变量运算编码成基因,只用适应度描述结果好坏,观察种群能否经过选择、交叉与变异,找到排序步骤或计算 a + b × c 的算式。

技术构成

Python
实现基因表达、评估与种群迭代。
自定义 GA 算子
通过配置替换选择、交叉与变异。
DEAP
提供适应度类型与工具箱,排序示例组合内置交叉和自定义算子。

设计与实现

演化计算 a + b × c 的函数序列,展示迭代曲线与算式结果。 放大查看
演化计算 a + b × c 的函数序列,展示迭代曲线与算式结果。

编码决定搜索空间

两种基因表达

交换序列实际操作数组,函数序列读取变量并运算;通用引擎与问题评估分离。

评分与复现

排序按正确位置计分,算式按多组随机输入评估;固定种子复现演化,样例收敛不等于普遍正确。

画面与演示说明

原项目是控制台程序,图中曲线为实际运行输出的阅读报告;随机演化不保证每个种子都收敛。

快速开始

准备 Python 环境

建议 Python 3.14,安装仓库依赖;命令从仓库根目录执行。

powershell
python -m venv .venv
.venv\Scripts\python -m pip install -r requirements.txt

运行两个实验

固定 seed 42 分别观察排序与算式演化。

powershell
.venv\Scripts\python -m UI.main_test --seed 42
.venv\Scripts\python -m UI.main_calculation --seed 42
全部工程