首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >(AI)优化输入参数的算法

(AI)优化输入参数的算法
EN

Software Engineering用户
提问于 2017-11-23 08:56:23
回答 2查看 284关注 0票数 0

背景信息

我正在建立一个程序,发挥跳棋尽可能好。它已经打得很好了,但目标是改进它更多。

这可以通过添加新的方法来评估某个董事会状态的“好”程度来实现。我已经实现了这些方法,但是每个方法都有一个可以乘以的参数。

我已经实现了这样一个事实:我可以让程序对着自己玩,如果玩家赢了(或者打一场平局并有优势),那么游戏的结果就是一个正数;如果玩家输了(或者打一张平局并有优势),则为负数;如果他们平局并且棋子相等,则为0。

问题

我有3个参数,可以从0到1。我需要找到这3个参数的组合,这些参数需要在逗号之后尽可能多的出现,并且需要尽可能快地计算。

如果第一组参数有优势(正数越大,优势越大),我可以让两组不同的参数相互竞争,结果是肯定的;如果第二组参数有优势,则为负值;如果它们都有相同的优势,则为0。

例如:(0.232,1,0.62)对(0.12345,0.71,0)可以输出1.32987,这意味着第一组参数具有优势。考虑到大约需要2分钟才能得到2组对决的结果!

我想知道一个算法/文献/关键字/解释,我如何能找到一个尽可能精确的数字集合,赢得所有其他的数字?

统计

我已经运行了一些测试,并发现可能(不确定)对每个参数的效果将是,结果会变得更好,直到他们到达一个峰值,比他们将再次下降。

EN

回答 2

Software Engineering用户

发布于 2017-11-23 11:53:40

我建议尝试不同的标准算法来优化不可微函数,看看它是如何工作的。在我的脑海中,越来越复杂:

票数 3
EN

Software Engineering用户

发布于 2017-11-24 05:20:05

SMAC是基于顺序模型的算法配置,是解决这一问题的一种较新的方法.这很可能是过火了。它的目标是评估特定配置非常昂贵的场景。许多传统的参数优化方法都假设评估某一特定参数的选择并不昂贵。有一个Python的实现

SMAC的高层思想是为各种配置参数(这是“基于模型”的部分)建立算法性能的预测模型,并在评估新实例时更新和改进该模型(这是“顺序”部分)。预测模型允许指导选择下一步要尝试的配置,以便能够以最少的评估量获得最多的信息。当然,正是这些细节造就了麦迪。

弗兰克·哈特的其他作品,SMAC的领头羊之一,也是相关的和有趣的。他之前就做过一些相关的工作,比如ParamILS基于性别的遗传算法 (GGA)也是与之密切相关的,但并不是but的工作。

如果您对使用这类工具非常感兴趣,您可能会发现算法配置中的陷阱与最佳实践很有趣。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/361150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档