4.1.4 田忌赛马中矩阵乘法的体现
下面再来看看孙膑对矩阵都做了哪些操作:
————
在这一变换中,马匹的总属性没有发生任何更改,孙膑不需要换马,也无需提升任何一匹马的档次即可反败为胜:
该变换一举打破了数乘与加减法的常规,运用矩阵布局的思想,充分调度了矩阵内的各个元素,奠定了比赛的胜局。孙膑的足智多谋让齐威王心悦诚服,赛后不久便成为齐威王手下的一名得力军师。
调整位置无法用四则运算来表示,但可以把结果中的数值都看作包含了系数1:
我们再假设,如果齐威王也深谙矩阵之道,及时调整阵型,将上下等马的出场顺序对调一下,他就能再下一城,守住胜局,而田忌则仍以失败告终。
齐威王的矩阵变换可表示如下:
从孙膑和齐威王的变换可以看出,布阵的方法存在很大的灵活性,a,b,c的位置应根据战况的不同及对手的实际布局进行有针对性的调整,它们的最终位置出现在哪一行都有可能。所以,只对单一元素进行运算是不可能把以上布阵方法都表达出来。
我们将a,b,c写入到孙膑结果矩阵中的每一行,没有在对应行出现的元素附上系数0:
——
而齐威王的调整策略则可表示如下:
——
转换过程都出现了3*3=9个系数,我把它们抽取出来并排列成矩阵:
孙膑的布局矩阵:
齐威王的布局矩阵:
以孙膑为例,这一运算过程可表示如下:
我们把上面式子中的&连接符改为×,便可抽象出矩阵的另一种运算——乘法:
如果第一个矩阵包含多行,则每行都进行同样的运算:
与加减法相类似,矩阵乘法也可以推广到m行n列,但是,矩阵乘法要求第一个矩阵的行数与第二个矩阵的列数相等,否则无法运算。因为矩阵的乘法需要将第一个矩阵中第n行的数与第二个矩阵中第n列的数进行相乘(图 4.1),如果数量不匹配,运算将会失效。
图 4.1 图解矩阵的乘法运算
有了矩阵这一工具以后,我们就可以表达任意的马匹布阵转换了。比如,想要将三匹马布阵成【中,下,上】,则矩阵的变换过程可表示为:
您可以这样理解,加入您想把第3匹马安排到第2位,您就把变换矩阵第3行第2列的数值设置为1,而该列的其他元素都设置为0。