如何计算cuboid的个数

参考: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;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 很多人都会为了明天穿神马而困惑不已。 早上本来时间就宝贵,争分夺秒的,可是却因为这个不行,那个不搭,穿穿拖拖,换换...
    指尖明媚阅读 1,697评论 0 0
  • 最初听到《斑马斑马》是在某吧里,AIR翻唱,用的是IU的木吉他旋律。两个女声都属于温暖路线,沧桑的歌词和曲调在她们...
    一zhi鱼阅读 4,344评论 0 2
  • 如果你爱一个男生,那这些贴心话你就必须明白! 姑娘,你学会爱人了吗?你知道什么的你才最招男友喜欢吗?下面这些话我想...
    阳光女孩_83b7阅读 1,702评论 0 0

友情链接更多精彩内容