《啊哈!靈機(jī)一動(dòng)》-未入冊(cè)的電話號(hào)碼
來源:數(shù)學(xué)E網(wǎng) 2007-09-28 10:23:13
猜測(cè)電話號(hào)碼
鮑伯領(lǐng)悟到通過對(duì)或錯(cuò)提問來判斷一系列號(hào)碼中某一特殊成員的最高效率的方法如下:假如這一系列號(hào)碼中包含一個(gè)偶數(shù)成員,我們將它分成平等的兩部分,每一部分包含相等數(shù)量的數(shù)字元素。假如這一系列的號(hào)碼中包含一個(gè)奇數(shù)成員,我們?nèi)詫⒅殖蓛刹糠,兩部分在?shù)字元素的數(shù)量上盡可能接近。然后我們問這些“兩部分”中哪一部分含有我們要找的成員,得到答復(fù)后,我們對(duì)指定的部分再重復(fù)同樣的過程;最后,原始系列中只剩下了一個(gè)號(hào)碼,它就是我們要找的那個(gè)。
第一個(gè)提問顯然是對(duì)于識(shí)別一個(gè)二元系列成員而言。第二個(gè)提問是對(duì)一個(gè)四元系列,第三個(gè)提問是對(duì)一個(gè)八元系列,第四次提問是對(duì)于一個(gè)十六元系列而言。推廣到一般,第n次提問是對(duì)一個(gè)2n元系列而言。
在猜測(cè)電話號(hào)碼這個(gè)問題上,24次提問對(duì)猜測(cè)任意一個(gè)不大于224=16 777 216的數(shù)字都是足夠的,因?yàn)?24比9 999 999大,而9 999 999是當(dāng)七位電話號(hào)碼單獨(dú)以數(shù)字形式出現(xiàn)數(shù)值最大的。然而因?yàn)?23=8 388 608比一些可能的七位電話號(hào)碼小,所以23次提問有時(shí)是不充分的。
因此鮑伯的第一個(gè)提問是:“這個(gè)號(hào)碼比5 000 000大嗎?答案馬上把7位號(hào)碼中可能的號(hào)碼砍掉了一半。按這種方式繼續(xù)下去,他相信在經(jīng)過24次或少于24次的提問中,一定能找出正確的電話號(hào)碼。
因?yàn)楹芏嗳藳]有領(lǐng)悟到數(shù)字成倍連續(xù)增長(zhǎng)是多么快,所以他們很難相信在不多于24次這么少的提問中可以確定從1到甚至比16 000 000還大的數(shù)字中的任何一個(gè)數(shù)字。也正是由于這種增長(zhǎng)的神速才使我們能夠解釋為什么通過“對(duì)和錯(cuò)”這種提問來猜測(cè)某人正在思考什么是這樣的容易,而且此人的思考范圍可允許在任何存在的物體范圍內(nèi)。如果你對(duì)二進(jìn)制分割很熟練(比如:?jiǎn)栆恍╊愃七@樣的問題:“這是生物還是非生物?”“這是動(dòng)物還是植物?”等等),你很可能在20次或不到20次提問中猜出比如某人正在思考自由女神頭上的皇冠等一類事情。
我們描述的通過24次提問猜測(cè)電話號(hào)碼的過程被計(jì)算機(jī)專家們稱為“二進(jìn)制分割”算法。一個(gè)聰明的通過顯示在圖3―1的六張卡片來速算的竅門就是以“二進(jìn)制分類”為基礎(chǔ)的。方法如下:把這些卡片遞給一個(gè)人并讓他想定從1到63的任何一個(gè)數(shù),然后讓他給你上面有他所選數(shù)字的每一張卡片,你立刻就能識(shí)別出這個(gè)數(shù)。
圖3-1
其實(shí)秘密很簡(jiǎn)單,就是把那人給你的每一張卡片上的第一個(gè)數(shù)都加起來,所得的和就是要找的那個(gè)數(shù)。
這些卡片是按一個(gè)系統(tǒng)設(shè)計(jì)的。這個(gè)系統(tǒng)很容易通過后面圖3―2附的把1到63按“二進(jìn)制計(jì)數(shù)法”排列來解釋。圖表左側(cè)的數(shù)字是十進(jìn)制形式,每一個(gè)的右側(cè)有它在二進(jìn)制中相應(yīng)的表示。
圖3-2
圖表表頭的6個(gè)數(shù)字是用來形成二進(jìn)制數(shù)字的2的乘方。以“1”開頭的那張“速算卡片”上面的數(shù)字依次是圖中最右一列中數(shù)值為1的行中所對(duì)應(yīng)的十進(jìn)制列中的所有數(shù)字。以“2”開頭的卡片上的數(shù)字包含從右數(shù)第二列是1的行中所對(duì)應(yīng)的十進(jìn)制列中的所有數(shù)字。其它四張卡片也同樣是通過上述過程得到。
通過這些“速算卡片”很容易歸納出以大于2的數(shù)字的乘方為基礎(chǔ)的另一種計(jì)數(shù)法。圖3―3說明了如何設(shè)計(jì)一系列以三進(jìn)制為基礎(chǔ)的卡片的方法。在此情形下,每個(gè)三進(jìn)制數(shù)字中可能包含0、1或2三個(gè)數(shù)。當(dāng)一個(gè)“1”在一列中出現(xiàn)時(shí),我們把相應(yīng)的十進(jìn)制數(shù)字在相應(yīng)的列的卡片上記一次;當(dāng)一個(gè)“2”出現(xiàn)時(shí),我們把相應(yīng)的十進(jìn)制數(shù)字在相應(yīng)列的卡片上記兩次。
圖3-3
圖3―4列出了3個(gè)速算卡片,用以判別從1到26中任一個(gè)被選的數(shù),只是你無論如何要讓別人告訴你當(dāng)你遞給他每一張卡片時(shí),他看到他選擇的數(shù)字在此卡片上出現(xiàn)一次或兩次。如果他(她)看到了兩次,那么在做加法時(shí),你一定要把這張卡片的頭一個(gè)數(shù)字乘以2。
圖3-4
你也可能希望把這個(gè)體系延展到6張卡片。正如我們所知道的,6張二進(jìn)制的卡片的識(shí)別數(shù)的范圍是1到63,那么6張三進(jìn)制的卡片的識(shí)別數(shù)的范圍是多少呢?答案是1到728。這樣,如何歸納高于三進(jìn)制數(shù)字系統(tǒng)的方法就很容易理解了。比如,以4的乘方為基礎(chǔ)的一系列長(zhǎng)片,在一張卡片上一些數(shù)字可能重復(fù)兩次,另一些也可能重復(fù)三次。如果重復(fù)三次,在你做加法前,你必須把卡片的頭一個(gè)數(shù)字乘3。
三進(jìn)制卡片闡明了這樣一個(gè)事實(shí):在一些方面,三進(jìn)制分類比二進(jìn)制效率高得多。如果我們總是把一系列數(shù)分成三部分而不是兩部分,并且知道哪一部分含有要找的元素,那么經(jīng)過很少幾次提問就能猜出這個(gè)元素。然而,提問方式也不再是“對(duì)或錯(cuò)”型的了。
三進(jìn)制分類的妙用被下面的撲克牌游戲說明得淋漓盡致。它使用任何33=27張撲克牌。某人透過撲克盒看并記下一張牌,魔術(shù)師拿出這盒牌并把它們面朝上分發(fā)成三堆,然后,這個(gè)人指出他記的牌在哪一堆里面。
魔術(shù)師把另兩堆牌先收在一個(gè)盒內(nèi),然后再把觀眾指出的那堆牌分發(fā)成面朝上的三堆。這個(gè)人再指出包含他(她)記的牌的那一堆。重復(fù)第三次時(shí),當(dāng)魔術(shù)師知道被選擇的那張牌在哪一堆后,他收起了這些堆牌并把撲克盒面朝下,放在了桌子上。當(dāng)這位觀眾說出他(她)選的那張牌時(shí),魔術(shù)師翻開了撲克盒內(nèi)最上面的一張牌,它恰好是觀眾所選的那張。這個(gè)游戲你可以不斷重復(fù),永遠(yuǎn)不會(huì)出錯(cuò)。
謎底很簡(jiǎn)單。魔術(shù)師每次收這三堆牌時(shí)都留意把包含被選擇牌的那一堆放在面朝下的撲克盒的最上部,這自然就把被選擇的牌推到了最上部。這是怎么回事并不難理解。其原理除了每次把撲克牌分成三堆與猜電話號(hào)碼時(shí)把數(shù)字分成兩部分不一樣外,其它與猜電話號(hào)碼一樣。第一次裝起牌后,被選的牌一定在最上面的九張牌內(nèi);第二次裝起牌后,這張牌一定在最上面的三張牌間;第三次后,它一定是最上面的一張了。如果你把被選擇的卡片面朝上來瀏覽這一過程,你能看到它向上運(yùn)動(dòng)的全過程:經(jīng)過三個(gè)階段到達(dá)最上面。用上面同樣的過程,通過計(jì)算機(jī)對(duì)元素分類在現(xiàn)代化的信息重組理論上起了很大作用。
相關(guān)文章
- 小學(xué)1-6年級(jí)作文素材大全
- 全國(guó)小學(xué)升初中語(yǔ)數(shù)英三科試題匯總
- 小學(xué)1-6年級(jí)數(shù)學(xué)天天練
- 小學(xué)1-6年級(jí)奧數(shù)類型例題講解整理匯總
- 小學(xué)1-6年級(jí)奧數(shù)練習(xí)題整理匯總
- 小學(xué)1-6年級(jí)奧數(shù)知識(shí)點(diǎn)匯總
- 小學(xué)1-6年級(jí)語(yǔ)數(shù)英教案匯總
- 小學(xué)語(yǔ)數(shù)英試題資料大全
- 小學(xué)1-6年級(jí)語(yǔ)數(shù)英期末試題整理匯總
- 小學(xué)1-6年級(jí)語(yǔ)數(shù)英期中試題整理匯總
- 小學(xué)1-6年語(yǔ)數(shù)英單元試題整理匯總