ruby-on-rails - 给定一组嵌套规则来决定值的最合乎逻辑的方法是什么?我们如何存储它?

标签 ruby-on-rails data-structures decision-tree

我需要实现在我看来像决策树的东西(尽管搜索该术语会返回有关找出决策过程中的影响因素的帖子 - 这不是我所追求的)。

我正在构建的系统将制定保修期,以便根据某些标准提供产品安装。要求是创建一组可能的向量(例如安装间距、配置文件、位置、 Material 类型等...),并由用户将这些向量组装成树结构:

-- Profile == corrugate (warranty = 20 years)
  -- Pitch >= 0 && < 5 (warranty = 2 years)
  -- Pitch >= 5 && < 20 (warranty = 10 years)
-- Environment == coastal && distance <= 500 meters (warranty 2 years)

这是一个简单的案例,但理论上我可以在确定保修期时遍历这棵树,然后根据提供的信息选择树产生的最低值。

现在我可以清楚地看到它作为一棵树存储在数据库中(它是一个 Rails 应用程序)并且只是编写一些方法来遍历树并做出决定,但我想知道是否有更好的方法来解决这个问题问题?

我将不得不在项目的稍后部分重复我自己的内容,届时我还将实现另一个决策树,该决策树将决定保修申请是否需要我们的保修团队进一步审核。在这种情况下,每个节点的结果将只是真或假。

由于它是应用程序的一个非常重要的部分,所以我想在第一时间获得正确的结构 :) 并且可能在此过程中学到一些新东西 :)

最佳答案

我认为一棵树(或多棵树——因为在做出决定之前一次只能比较一个向量元素)非常直观地转换了这些数据。可能有一种更紧凑的方法,但如果以后有人要查看这段代码,树方法将帮助他们维护它。

关于ruby-on-rails - 给定一组嵌套规则来决定值的最合乎逻辑的方法是什么?我们如何存储它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3835389/

相关文章:

ruby-on-rails - Rails JS 响应,同时呈现状态和模板?

c - 如何初始化c中函数的返回数组

c - 字符串和指针

algorithm - 从函数自动构建决策树

python-3.x - 决策树有 2 个相似的节点

ruby-on-rails - 在Ruby Elastic Search gem中转义@ at符号?

ruby-on-rails - Rails/Paperclip - 跳过图像处理

javascript - 有人可以解释一下这个脚本的作用吗?

search - 数据结构树和图有什么区别?

python - 将 python 的 sklearn 模块与自定义数据集一起使用