gpt4 book ai didi

algorithm - 什么是解决复杂配置和参数化问题的好算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:02:09 26 4
gpt4 key购买 nike

我正在使用的应用程序需要复杂的参数化和配置才能为自定义部件建模。不同参数之间存在各种相互依赖关系,例如设置参数“A”会使“B”和“C”的某些值无效,或者为参数“D”的值添加额外的约束。

目前,这是通过将所有参数存储在查找表中并在其上运行规则来解决的。规则是用 XML 手写的,加载并转换为某种中间格式,用于规则引擎。每次参数更改时,所有规则都会重新运行。

这同时非常缓慢且容易出错。

我觉得使用基于 (DAG) 的方法可能会有好处,我们可以只对图的子集进行更新。

这是个好主意吗?你知道更好的方法吗?如果您遇到过类似问题,您是如何解决的?

编辑:我正在尝试实现一种设计,其中只有参数的相关子集必须根据更改进行更新。目前,规则会在每次更改时在全局范围内重新运行。参数设置为默认值,但可以由用户更改。根据参数的值,其他参数的默认值可能不同。

最佳答案

Is this a good idea?

是的。您可以创建 DAG 并进行 DFS 遍历并找出依赖链。

Do you know any better approaches? If you have experience with similar problems, how did you solve them?

据我了解,有一个复杂的依赖结构可以通过 DAG 建模。如果任何一个发生变化,则需要更改依赖组件。编译器多年来一直这样做。你可能想看看 dependency analysis由他们完成。

另一种方法可以通过 Observer pattern 建模.这里每个对象都公开了一种方法来通知观察者是否有任何变化。从属对象订阅通知。当发生更改对象状态的事件时,它会调用依赖的监听器。

关于algorithm - 什么是解决复杂配置和参数化问题的好算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11913448/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com