hanozerdem/subset-sum-fptas-analysis

GitHub: hanozerdem/subset-sum-fptas-analysis

该项目以 Python 实现并对比子集和优化问题的精确暴力求解器与修剪列表 FPTAS 近似算法,提供完整的实验评估与可视化分析。

Stars: 0 | Forks: 0

# 子集和 FPTAS 分析 本仓库包含了一项关于 Subset Sum 优化问题的 Python 研究,对比了精确的暴力求解器与基于修剪列表的 FPTAS,并进行了实验评估。 小组成员: - Han Özerdem ## 目录 - `src/subset_sum_project.py` — 精确的暴力求解器、基于修剪列表的 FPTAS、实例生成器以及实验运行程序。 - `data/` — 生成的功能、初始、质量和性能测试结果。 - `figures/` — 报告中使用的图表。 - `docs/subset-sum-fptas-report.pdf` — 匿名的最终报告。 - `notebooks/` — 实验的 notebook 版本。 ## 问题与算法 本项目求解 Subset Sum 的优化形式:在不超出目标值的前提下,最大化子集的总和。 - 精确的基准方法使用了带有剪枝的递归包含/排除搜索。 - 近似算法使用了带有可配置 `epsilon` 的基于修剪列表的 FPTAS。 ## 运行实验 建议使用 Python 3.10 或更高版本。 ``` python src/subset_sum_project.py --out data --epsilon 0.20 --repetitions 20 ``` 该命令将重新生成 `data/` 中的 CSV 文件和分析摘要。 ## 验证快照 包含的结果中有 8/8 个功能测试用例通过,最小质量比约为 0.988,并且有 7/7 行性能数据满足置信区间标准。
标签:FPTAS, NoSQL, Python, 子集和问题, 学术研究, 无后门, 算法, 近似算法, 逆向工具