参考:http://blog.csdn.net/cymvp/article/details/53764917
针对用户配置了各种Select Rules, 如何确定最终的cuboid数量呢? 知道了如何评估cuboid数量,也就可以评估出计算量的大小。
设有: A, B, C, D, E, F, G, H, I 这9个维度, 那么cuboid的总数为2^9 = 512个.
是怎么计算出来的呢? 两种方法:
1 C09 + C19 + C29 + C39 + C49 + ..... C99 = 512;
2 将每个维度看成2种取值, 取空,或取值, 如A维度, 有两种选择, 选或者不选;
这样相当于扔9次硬币,每次不是正面就是反面,然后看总共有多少种组合:
所以相当于2^9 = 512种;
知道了上面的第2种方法,那么继续往下看:
设hierarchy维度为: [A, B, C];
设joint维度为: [D, E], [F, G];
然后nomal维度就是: [H, I];
[A, B, C]的取值组合为: A, AB, ABC, 空 这4种;
[D, E]的取值组合为: DE, 空这2种;
[F, G]的取值组合为: FG, 空这2种;
H为: H, 空这2种;
I为: I, 空这2种;
由上面第2种计算方法, 各个组合维度间, 是乘积关系, 所以结果为:
4 * 2 * 2 * 2 * 2 = 64;
减少了8倍.
上面计算时,假定所有组合间没有交叉维度,如果有维度在多个组合间存在,或者有mandatory维度,那么还可以减少cuboid;
如何计算cuboid的个数
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。