我正在寻求有关问题的搜索算法的帮助。问题可以简化为以下。
我们有一个可以采用某些属性的对象——X1、X2 ... XN。N 的数量级为 5000。但是,特定对象采用这些属性的子集,例如 Xi .. Xj(大约 50)。
配置是属性的特定子集。有某些配置,编号为 Z(10 万个)是最佳配置。
输入:
Configuration 1: X1, X2, X3.. Xf
Configuration 2: X4, X6, X7, .. Xz
:
:
Configuration Z: X10, X200… XN
问题:给定一个特定对象,具有属性子集 {Xi…Xj} 的 ALPHA 目标是找到最接近该对象的配置。配置可以是对象 ALPHA 配置的超集。也可能是没有配置具有 ALPHA 的所有属性。最接近的定义为具有最多 ALPHA 数量属性的配置。
我拥有的天真的解决方案基本上执行以下操作
1. Take each configuration
2. Loop through each attribute of ALPHA
3. Keep track of the configuration with maximum number of matches to ALPHA
4. Pop out the configuration maximum matches.
我认为天真的解决方案是正确的,但是它太慢了。有没有一种有效的方法来跨配置进行搜索?如果它非常快,即使是近似启发式也可以。
添加 C++、Java 标记以查看是否有软件可以执行此操作。
谢谢。