我正在尝试拼凑一个算法(最好在 ruby 中),它将分析数据库以寻找 3+ 方式交易的机会,就像棒球队通常如何做的那样。
例如:
想象一下有 100 支球队,每支球队有 20 名左右的球员。每个玩家都有一些可能的属性组合。(比如“跑得快”、“防守好”等)
每支球队都有球员需求(具有来自上述可能集合的特定属性)以及要提供的球员,(每个球员都具有与上述可能选项相匹配的属性)。
这种理论算法可以搜索所有需求和提议,以找到可以相互交易的团队组合。
在一个理论场景中,想象三个团队:
A队有一名速度快的球员,需要一名防守好的球员 F队有一名防守好的球员,需要一名投球好的球员 Q队有一名投球好的球员,需要一名速度好的球员
所以 A、F 和 Q 队可以进行三路交易,每个人都赢。
我的问题是关于可以识别这个机会的算法。这是以前用算法解决过的问题吗?如果是这样,我将不胜感激在哪里看的任何方向。我对如何巧妙地使用缓存和 cron 在数据库中构建它有一些不同的想法。在 Rails 中构建它。只是有点卡在机会寻找算法上。