這個表叫做一個“4×7維布爾矩陣”。矩陣中的每一行,例如第一行(1,1,0,0,1,1,0)叫做一個“7維布爾向量”。每一個數叫做布爾向量的一個“分量”,一個布爾向量中分量的個數稱為它的“維數”。將m個n維布爾向量按順序排成一個表,就稱為一個“m×n維布爾矩陣”。因此,一個“m×n維布爾矩陣”是一個由m×n個數組成的數表,每個數不是1就是0,表中共有m行,每一行有n個數。
布爾向量和布爾矩陣都是現代數學的重要概念,在各個領域中都有許多重要的應用。
每一個漢字都可以轉化為布爾矩陣。
我們知道,電子屏上顯示的數字,都是由7條小光管構成的。如圖a所示,7條小光管分別記作f1,f2,f3,f4,f5,f6,f7。
圖a圖b當fi(i=1,2,…7)取值1時,表示對應的小光管是亮的;當fi(i=1,2…,7)取值0時,則不亮。這樣,每一個數字就與一個7維布爾向量相對應。例如圖b所示,“3”字的f1,f2,f3,f4,f75個小光管是亮的,f5,f62個小光管是黑的,所以,“3”字就可用7維布爾向量(1,1,1,1,0,0,1)
來表示。
10個數字表示為布爾向量的方法如下表:
f1f2f3f4f5f6f7對應的布爾向量顯示數字1111110(1,1,1,1,1,1,0)00110000(0,1,1,0,0,0,0)11101101(1,1,0,1,1,0,1)21111001(1,1,1,1,0,0,1)30110011(0,1,1,0,0,1,1)41011011(1,0,1,1,0,1,1)51011111(1,0,1,1,1,1,1)61110000(1,1,1,0,0,0,0)71111111(1,1,1,1,1,1,1)81111011(1,1,1,1,0,1,1)9。
計算器的屏幕顯示就是按這一原理設計的。
我國所用的電報碼,今天電腦使用的區位碼,都是用4個數字代表一個漢字,因此,如果用7維布爾向量表示一個數字,那麼,每一個漢字就可用一個“4×7維布爾矩陣”來代表。例如,“數學”兩個字的區位碼分別是數——4293,學——4907
它們便分別對應布爾矩陣:
數→01100111101101111101111110014293數→01100111111011111111011100004907
最後,請你考慮一個與布爾向量有密切關係的有趣的問題:某劇團準備連續演出4個月,計劃每天至少要上演一個節目,要求任何兩天上演的節目都不完全相同(部分節目可以相同)。這個劇團至少要準備多少個節目,才能按要求的條件演出?
把準備的節目按次序編號,如果當天的演出安排中,某節目上演,則將其記作1;某節目不上演,則將其記作0。例如,劇團共準備了7個節目,今天安排上演第一、第二、和第六、第七等4個節目,其餘的第三、第四、第五個節目不上演,就可將今天的演出用一個7維布爾向量(1,1,0,0,0,1,1)
來表示。由於7維布爾向量共有27=128個,除了(0,0,……0)外,都可以用作每天的演出安排。4個月最多有122天,所以有7個節目就足夠了。但6維布爾向量隻有26=64個,如果隻有6個節目則顯然是不夠的。