
【摘 要】對現實中很多問題的合理數學抽象與求解是解決該類問題的關鍵所在。本文針對有一定規則的狼獵尋羊的問題進行合理抽象后變成數學問題。利用Matlab軟件和歸納綜合的方法對獵尋問題進行分類探討,總結出有意義的結論,有助于學生拓展思維寬度和增加學習樂趣。
【關鍵詞】獵尋問題 Matlab 編程應用 歸納綜合法
【中圖分類號】O244 【文獻標識碼】A 【文章編號】1674-4810(2015)29-0068-03
一 問題引入
現有4只羊(名叫“閨丫”“璧丫”“芬丫”“鮮丫”)和1只狼(名叫“紳士”)住在同一座山上。山中,有12個山洞,圍成一圈,編號依次為0到11。起初,他們生活相處都很融洽。過了不久,再也尋不到其他吃食的狼盯上了這個羊群。“閨丫”于是和“紳士”打起了商量:“我知道您很久沒吃東西了,正在打我們的主意,但我們也不會束手就擒,我們何不打個賭呢?如您贏了,我們樂意隨你處置!現在我們姐妹4個各自找個山洞藏起來,每個山洞最多只藏一只羊,您從0號洞出發,每次必須隔兩個洞來尋我們——您的獵物,尋找次數不限,如何?”“紳士”很有點底氣兒:“尋找次數不限,這可是你承諾的,成為盤中餐時,閣下千萬別怨這怨那啊!”
二 問題分析
在“紳士”狼嚴格遵守既定獵尋規則的前提下,其結果顯而易見,狼先從第一個山洞(0號)出發,第一次到3號洞,第二次到6號洞,第三次到9號洞,第四次又回到0號洞,并依次循環下去。可見,狼可到達的洞穴只能是0、3、6、9號,因此只要4只羊分別藏于除0、3、6、9之外的其他洞穴,她們都是安全的,狼只能無可奈何,路線示意圖如下所示。
三 問題延伸
“紳士”狼沒多想,直接依約開始。但找了幾圈之后,發現問題比較嚴重,漸漸失去按規則獵尋的耐性。“閨丫”見狀再次主動和“紳士”打起了商量:“要不咱們重新換個規則,從0號洞出發,第一次到1號洞,第二次隔一個洞(即到3號洞),第三次隔兩個洞(即到6號洞),依次類推,這樣可避免尋找洞穴的周期性重復出現,尋找次數仍舊不限,如何?”“紳士”不比先前自信,但想來這樣無限制地獵尋下去篤定是餓不著了。“閨丫”望著“紳士”又說:“試試撒?”“紳士”不失風度:“試試就試試啰,當真你有那么好的運氣不成!”
四 Matlab軟件編程助力解算
狼先從0號洞出發,接著來到1號洞,接著又來到3號洞(1+2=3),接著又來到6號洞(3+3=6)、10號洞(6+4=10)、3號洞(10+5-12=3)……依次類推,狼獵尋到下一洞的序號與前一洞的序號相關,是前一洞序號加上隔洞數除以12的余數。由于尋找次數不限,大量的手工計算比較麻煩,考慮運用Matlab軟件編程助力解算。
Matlab(Matrix laboratory)軟件是Mathworks公司于1984年推出的一套高性能的數值計算和可視化軟件,可方便地應用于數學計算、算法開發、數據采集、系統建模和仿真、數據分析和可視化、科學和工程方面。將Matlab的強大計算功能應用到中學數學計算中,既可以鍛煉學生的工具應用能力,也可以拓展學生解決問題的思維,對于以后的高層次學習和發展有著重要意義。
根據之前對問題的分析和數學抽象后,運用Matlab軟件的編程思路是:
(1)初始洞號a=0,狼找過的洞的初始合集為b={0};
(2)用while循環實現前若干次的序號集;
(3)循環體中,第i次的洞號a是前一洞號加隔洞數i除以12得到的余數,同時將每次產生的新序號添加到之前的序號集中。
具體編程語句代碼如下:
clc; clear all; close all;
a=0; b={0}; i=1;
while i<=100
a=rem(a+i,12);
i=i+1;
b=[b,a];
end
b
return
通過Matlab軟件編程計算結果表明:
(1)在前100次的獵尋中,狼找過的洞只限于0,1,3,4,6,7,9,10號;
(2)每24次獵尋后將會出現0,1,3,6,10,3,9,4,0,9,7,6,6,7,9,0,4,9,3,10,6,3,1,0循環,即狼“紳士”將重復進入以上序號的洞穴。
綜合上述結果得知,如4只羊分別藏在第2、5、8、11號洞,她們顯然是安全的。當進一步加大模擬實驗的次數時(如把i<=100改為i<=10000),發現這個規律不變,狼獵尋的洞穴號只能是0,1,3,6,10,3,9,4,0,9,7,6,6,7,9,0,4,9,3,10,6,3,1,0循環。于是,通過大量數據的計算,歸納總結出2、5、8、11號洞是4只羊的風險規避地。
五 綜合拓展
苦不堪言的“紳士”又一次發現了問題的嚴重性,停下了獵尋的腳步,“閨丫”不敢怠慢,再次和“紳士”打起了商量:“要不咱們這樣,前面兩個獵尋規則,你可以結合起來使用,先使用哪種規則都行,什么時間想變換規則都行,而且尋找次數不限。”此時,“紳士”似乎多了一份沉著,看了看“閨丫”,眼神中透出些許敬意,卻并不甘心,道:“剛才就差4個洞就能實現狼羊共舞,如今兩個規則又可以交叉結合,瞧好吧!你!”
六 分情況討論
既然兩種規則可以變換使用,那么可分兩種情況進行討論。
情況一:狼先用規則1獵尋羊,獵尋過的洞號分別為0、3、6、9,狼可以在這4個洞中的任意一個變換使用規則2繼續獵尋。
對于情況一,即先使用規則1,再換規則2。由于規則1中只可能獵尋到4個洞穴,分別是0、3、6、9號洞,所以接下來只能在0、3、6、9號洞穴之一處繼續使用規則2獵尋。通過編程解算獲得下列計算結果:
洞穴0開始改變規則:0,1,3,6,10,3,9,4,0,9,7,6,6,7,9,0,4,9,3,10,6,3,1,0……循環。
洞穴3開始改變規則:3,4,6,9,1,6,0,7,3,0,10,9,9,10,0,3,7,0,6,1,9,6,4,3……循環。
洞穴6開始改變規則:6,7,9,0,4,9,3,10,6,3,1,0,0,1,3,6,10,3,9,4,0,9,7,6……循環。
洞穴9開始改變規則:9,10,0,3,7,0,6,1,9,6,4,3,3,4,6,9,1,6,0,7,3,0,10,9……循環。
上述討論結果表明:先使用規則1隨后變換為規則2,無論狼從4個洞穴中的哪個開始變換使用規則2,狼都只能獵尋0、1、3、4、6、7、9、10號這8個洞穴,也就是說,2、5、8、11號洞再次成為4只羊的風險規避地。
情況二,狼先使用規則2獵尋羊,獵尋過的洞穴分別為0、1、3、4、6、7、9、10,狼可以在這8個洞中的任意一個變換使用規則1繼續獵尋。
對于情況二,即先使用規則2,再換規則1。由于規則2中只可能獵尋到0、1、3、4、6、7、9、10號這8個洞穴,所以接下來只能在0、1、3、4、6、7、9、10號洞穴之一處繼續使用規則1獵尋。通過窮舉法獲得下列結果:
0:0,3,6,9…… 1:1,4,7,10……
3:3,6,9,0…… 4:4,7,10,1……
6:6,9,0,3…… 7:7,10,1,4……
9:9,0,3,6…… 10:10,1,4,7……
上述討論說明,先使用規則2,隨后變換為規則1,無論狼從8個洞穴中的哪個開始變換使用規則1,狼依舊獵尋不到2、5、8、11號這4個洞穴,也就是說2、5、8、11號洞依舊是4只羊的風水寶地。
七 結局料想
“紳士”的最后一番獵尋似乎較先前更為淡定,在兩種獵尋方案都嘗試以后,他望著“閨丫”,眼神里卻絲毫沒有無奈之感:“你真是不打無準備之戰啊,的確有點主意,看在這股機靈勁兒的分上我暫時放過你們,要不我們結伴到別的山頭瞧瞧。”“閨丫”忙回話:“您真有遠見,給您點贊——智慧與力量并舉的典范。”
獵尋問題的本質是一個搜索問題,按照一定的規則進行路徑的選擇。本文以充滿趣味的“狼吃羊”的故事為對象,按照預先設定的獵尋規則進行數學抽象變成一個數學問題,這樣有助于問題的理解和求解。最后通過Matlab軟件平臺編程,對大量數據進行解算,成功歸納出“羊”的安全洞穴。成功地將實際問題和數學工具進行結合,拓展了解決實際問題的思路,對于學生的平時學習有著重要的意義。
參考文獻
[1]任現淼.趣味數學366(第2版)[M].北京:清華大學出版社,2013
[2]蘇淳.漫話數學歸納法(第4版)[M].合肥:中國科技大學出版社,2014
[3]蒲俊.Matlab6.0數學手冊[M].上海:浦東電子出版社,2002
[4]劉浩、韓晶.MATLAB R2014a完全自學一本通[M].北京:電子工業出版社,2015
〔責任編輯:龐遠燕、汪二款〕