我正在尝试拼凑一个算法(最好是红宝石),它将分析数据库,以寻找3+方式交易的机会,比如棒球队通常如何做.
例如:
想象一下,有100个团队,每个团队有20个左右的玩家.每个玩家都有一些可能属性的组合.(像"快速跑步","好防守"等)
每个团队都有玩家需求(具有上述可能的特定属性)以及要提供的玩家(每个都具有与上述可能选项相匹配的属性).
该理论算法可以搜索所有需求和提供,以找到可以相互交易的团队组合.
在理论场景中,想象三个团队:
A队有一名速度快的球员,需要一名防守好的球员.F队有一名防守好的球员,需要一名有良好投球能力的球员.球队Q有一名球员有很好的投手需要一名速度快的球员
因此,A,F和Q队可以进行三方交易,每个人都获胜.
我的问题是关于可以识别这个机会的算法.这是一个以前算法已经解决的问题吗?如果是这样,我会欣赏任何方向.关于如何在数据库中巧妙地使用缓存和crons,我有一些不同的想法.在Rails中构建它.只是有点卡住机会找到算法.
这似乎应该很简单,但我无法在任何地方找到答案!
我正在Rails中构建一个sample_data rake文件,使用Faker gem填充我的数据库.(虽然我认为我不需要那个宝石来生成整数)
某些字段需要是设定范围内的整数,但每个字段必须是唯一的.例如:
10.times do |a|
a.special_number = rand(1..10)
end
Run Code Online (Sandbox Code Playgroud)
除了数字不是唯一的事实之外,效果很好......