先看一个简单例子,这样一组复式投注:31/31/31/3/3/3/3/3/3/3/3/3/3,展开可得到以下 8 个单注:

13333333333333
23313333333333
33133333333333
43113333333333
51333333333333
61313333333333
71133333333333
81113333333333

购买它们共需要 16 元。假设正确结果就在这 8 注里,而只花 4 元, 有没有办法保证中奖? 答案是肯定的,买第一和第八注,便可保证只用 4 元至少能中二等奖,而中一等奖的可能性为 25%。在本例中,若买第二和第七注,或者第三和第六注,或者第四和第五注,也可保证能中二等奖,但如随便选择其他两注, 就无法保证能中二等奖。

这其中蕴含的就是旋转矩阵的原理。如何找到最大的压缩比, 即怎样用最少的注数, 覆盖原来的复式, 用旋转矩阵进行缩水所要解决的正是这个问题。

从数学上,一个复式投注单假设有 T 个三选,S 个双选,其中 T+S<=13,即单选的场次为 13-S-T 个,所有的投注单构成了一个集合 K(T,S),共有 3 的 T 次方乘以 2 的 S 次方个元素,每一个元素可以表示成一个 13 位长的三重码,在组合数学中已经证明存在至少一个 K(T,S)的子集 C(T,S),每一个 K(T,S)中的元素,都存在一个 C(T,S)中的元素,他们之间仅有 1 位的差别,即所谓的海明距离(Hamming Distance)等于 1。

满足上述条件的最小子集 C(T,S)称为问题的一个最优解。这个解就是一般意义上中 13 保 12 的旋转矩阵,也就是本书中的所有旋转矩阵都属于这种中 13 保 12 的旋转矩阵。

还有一些广义的旋转矩阵,或者是提高保中的注数,或者是减少保中的场数。广义的旋转矩阵是这样定义的:一个复式投注单假设有 T 个三选,S 个双选,其中 T+S<=13,即单选的场次为 13-S-T 个,所有的投注单构成了一个集合 K(T,S),共有 3 的 T 次方乘以 2 的 S 次方个元素,每一个元素可以表示成一个 13 位长的三重码,在组合数学中已经证明存在至少一个 K(T,S)的子集 C(T,S),每一个 K(T,S)中的元素,都存在 m 个 C(T,S)中的元素,他们之间仅有 n 位的差别。满足上述条件的最小子集 C(T,S)称为问题(T,S,n,m)的一个最优解。

广义旋转矩阵(T,S,n,m)的含义是 13 场比赛(当然可以是 13 场只是特殊情况),其中 T 个三选,S 个双选,13- S-T 个单选,如果满足 13 场比赛的结果包含在这 T 个三选,S 个双选,13-S-T 个单选之中,那么按照广义旋转矩阵(T,S,n,m)组合出来的投注中可以保证至少有 m 注对 13-n 场以上。

显然,一般的旋转矩阵只是其中很特殊的一种,相当于 n=1,m=1 的情形。这种情况下,只能保证有一注对 12 场以上。

我国足彩目前只有二等奖没有三等奖,只有对 12 场以上才有奖。因此暂不考虑参数所有 n>1 的旋转矩阵。另外,从成本考虑,如果 m>1,相应的成本就要大幅提高(略小于 m 倍),因此一般足彩缩水软件也暂不提供所有 m>1 的旋转矩阵。

从定义上来看,旋转矩阵似乎就是如何排列来用最小的注数覆盖的问题,看起来相当简单容易理解,似乎也比较好解决。但是如果手工来构造一种排列来达到这种目的时,就会发现出人意料的艰难。

实际上,旋转矩阵属于集合覆盖问题(SCP)的一种,相对于一般的优化问题来说,它并没有固定的算法,因此显得相当困难。不过足彩涉及的旋转矩阵相对于乐透的旋转矩阵来说要简单一些。

13 场次的简单旋转矩阵到现在几乎都完全解决了,只有少量的几个旋转矩阵近年来有所更新(如 2002 年更新的 3 场三选 9 场双选的旋转矩阵)。而乐透的旋转矩阵到现在仍有许多没有优化,依然不停的有人刷新最小注数的纪录。

根据《足球彩票旋转矩阵》一书整理