效果展示: https://user-images.githubusercontent.com/36581610/78828927-79ee7900-79b3-11ea-9b25-936f19c4bf4a.gif 计分 1 行清零 = 100 分 2 行清零 = 200 分 3 线清除 = 300 点 清除 4 行(1 个俄罗斯方块)= 800 分 背靠背俄罗斯方块 = 1200 分 计算移动 当一块棋子开始发挥作用时,系统首先计算该棋子可以放置的每个可能的位置。对于每个位置,计算结果游戏状态的特征。 特征 相邻列的总高度差 空洞(无法用一块填充的空白空间) 结构的最大高度 结构的最小高度 行已清除 这些特征被输入到神经网络,神经网络输出该位置的分数。对于每个展示位置都重复此操作,并选择得分最高的展示位置。返回一个移动集,然后系统执行该移动集以将棋子放置到选定的位置。 有 10 列和 4 个旋转,因此每件有 40 个位置要计算。 更多详情,请下载后阅读README.md文件
2022-06-20 14:05:38 10KB processing
一个用于快速部署遗传算法的框架,使用 Scala 和 Akka 构建,以实现最大的并行性和可配置性。 主要特征 允许快速设计算法的简单接口。 Akka 提供的高级并行性以最大化 CPU 使用率和可用线程。 Akka 配置文件允许在代码之外控制特定环境的线程池。 无需更改代码即可部署到分布式系统。 异步消息允许随时拍摄人口快照。 Hibernate/JPA 提供的染色体持久层。
2022-06-20 14:05:37 26KB scala
Darwin 是一个灵活的遗传算法编程框架,旨在研究应用。它与表示无关,对于简单的 GA 示例和对于复杂的遗传编程问题一样有效。它可以配置为执行单目标和多目标优化,包括 SPEA2 算法。它具有自适应进化的功能,其中运行参数随着种群的变化而进化。 用法 将其添加到您的 project.clj 文件中: [darwin "1.0.0"] 可以在 ws/demo.clj 中找到一个简单的使用示例,可​​在此处查看。
2022-06-20 14:05:37 48KB clojure
原生交易遗传算法 - MQ4/MQ5 它是一个基于神经网络的自学习交易机器人,通过 C++ 直接构建在 Metatrader 中 此回购的目的是创建一个能够从市场中学习并做出决策的交易专家顾问,无需任何预先配置的设置或指标。 机器人可以同时做出决定,例如: 何时开/关/卖/买 分配哪些地段 更多详情,请下载后阅读README.md文件
2022-06-20 14:05:36 12KB MQL5
gaai 使用人工智能遗传算法自动调整 MySQL 或 Percona 数据库服务器以获得最高性能,由 qps(每秒查询数)测量。 该工具可以很容易地扩展成为一个成熟的调谐器。我希望与此类似的代码将被添加到 MySQL 或 Percona 服务器中,并及时增长以覆盖许多(朝向“所有”)变量以及周围的智能位(内存计算、变量调整交互等)以进行自动调整。遗传算法引擎本身也可能通过使用更先进的遗传算法得到进一步改进。
2022-06-20 14:05:35 19KB lua
效果展示: https://user-images.githubusercontent.com/36581610/50039518-d29d4400-0001-11e9-9c36-eb782cdb37c9.gif 播放器 每个玩家都有一个大脑,它有一个方向向量数组,用于确定他们的方向。起初这些向量都是随机初始化的。经过几代人的努力,玩家的大脑开始变得优化,可以在墙上导航。 人口 创建了 300 名玩家,每个人都有自己的大脑。一旦种群中的所有玩家都死亡,则计算每个玩家的适应度。在计算出适应度之后,种群然后执行自然选择。为此,创建了一个新的一代,它继承了前一代的一些内容并对其进行变异以可能产生改进。被继承的球员是由他们的适应度决定的,适应度较高的球员更有可能被选择继承。 突变 当对玩家的大脑进行变异时,全局变异率用于确定大脑中有多少变异。此变量初始化为 0.01 ( 1% ),但可以调整以引起或多或少的剧烈突变。
2022-06-20 14:05:34 6KB processing
目的 Geneticrypt 是一个对使用单字母替换密码加密的文本执行自动密码分析的项目。它依靠遗传算法来执行此任务。 该代码被编写为一个框架,用于通过利用接口对任何类型的问题执行任何类型的元启发式搜索。这使得扩展解决其他问题或通过不同的元启发式算法解决相同问题变得非常容易。 设计 模拟器可以实现 Simulator 接口或扩展 GeneticSimulator 类以实现其他元启发式算法,替代问题只需要实现 GeneSequence 接口即可放入。 代码分为3个子项目:core、cli和frontend。Core 是执行密码分析的主要库,而 cli 和 frontend 都是库各部分的用户界面,一个基于命令行,一个基于 GUI。
2022-06-20 14:05:33 7.74MB groovy
此代码使用遗传算法根据婚礼宾客彼此之间的密切程度来优化婚宴座位表。我选择使用以下键来确定接近度,尽管这可以根据作者的喜好进行修改。 亲密度:2000 = 配偶/日期 900 = 兄弟姐妹 700 = 父母/孩子 500 = 表亲 300 = 阿姨/侄女 100 = 朋友 0 = 不知道 5000 = 新娘/新郎 请注意,我必须创建一个特殊的新娘/新郎分数,因为我们俩都与参加婚礼的每个人关系密切,2000 分不足以确保我们坐在同一张桌子上。显然你想在你自己的婚礼上和你的新配偶坐在一起! 获得密钥后,您必须创建一个包含所有婚礼宾客 x 所有婚礼宾客的矩阵,并根据每位宾客与其他宾客的关系对他们进行评分。这显然非常耗时,我认为可以通过用户输入其家谱的某种 GUI 来解决。这并不能解决分配亲密关系的问题,但是如果您有建议,请与我们联系! 使用这个矩阵,您可以创建一个遗传算法,最大限度地提高整张桌子的紧密度,但要限制每张桌子上的客人数量(在我的例子中是 10)。在这个例子中,我选择了一个二元染色体(每个客人要么选择给定的桌子,要么不选择) 更多详情、使用方法,请下载后阅读README.m
2022-06-20 14:05:32 593KB r语言
效果展示: https://user-images.githubusercontent.com/34769156/46087938-fd2ced00-c1c8-11e8-85fe-292bb6108554.gif 用法 要执行,请转到应用程序文件夹并运行 GA2.exe。该应用程序具有易于使用的 gui。
2022-06-20 14:05:32 73.67MB processing
第一个命令加载另一个系统定义工具 (ASDF)。 第二个告诉 ASDF 在哪里可以找到我的项目。 第三个告诉 ASDF 加载我的项目(基于在我的 ga.asd 定义文件中找到的详细信息) 最后的命令运行程序来定位多边形,使其看起来像要模仿的位图。 更多详情、使用方法,请下载后阅读README.md文件
2022-06-20 14:05:30 17.43MB lisp