考虑以下情况:
示例:
总结:
我正在寻找一个针对上述问题的现有算法(和数据模型),而不是试图从头开始编写自己的算法。
答案 0 :(得分:1)
最简单的尝试就是最近邻算法:使用已知解决方案计算一组新答案与每组答案之间的相似性(按答案总数加权,如果这是你想要的),并从一组同样接近的答案中提供最常选择的已知解决方案。
如果效果不好,那么你需要某种更复杂的分类器。您应该查找decision trees(及其扩展名,交替决策树和随机森林)和Bayesian classifiers等。
您可以在机器学习或神经网络工具箱中找到其中某些内容的代码。由于你没有指定一种语言,我不能指出一种语言,但算法(不是代码)在Hastie,Tibshirani和Friedman的各种书籍中都有描述,如“统计学习的元素”。
答案 1 :(得分:0)
对我而言,它似乎更像是一个声明性的logical program,然后是一个组合或统计问题。只需撤消关于从给定答案中选择哪种解决方案的陈述并替换“=>”与“: - ”,你得到Prolog。 这些语句是Horner条款,可以使用SLD resolution算法解决,因为您的规则很简单。有许多货架解算器可以绑定不同的语言,所以你可以选择其中一些。