我需要实现对我来说看起来像决策树的东西(尽管搜索该术语会返回有关在决策过程中找出影响因素的帖子——这不是我所追求的)。
我正在构建的系统将制定保修期,以根据某些标准进行产品安装。要求是创建一组可能的向量(例如安装间距、配置文件、位置、材料类型等...),并由用户将这些向量组装成树形结构:
-- 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 应用程序)并且只是编写一些方法来遍历树并决定,但我想知道是否有更好的方法来解决这个问题?
当我还实施另一个决策树时,我将不得不在项目后期重复自己,该决策树将决定保修申请是否需要我们的保修团队进一步审核。在这种情况下,每个节点的结果将只是真或假。
看到它是应用程序的一个非常重要的部分,我想第一次得到正确的结构 :) 并且也许在此过程中学习一些新的东西 :)