前言:中文期刊網精心挑選了函數的表示法范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。
函數的表示法范文1
關鍵詞:線性規劃 最值 數形結合 平移
線性規劃是運籌學的一個重要分支,而簡單的線性規劃已編入高中新教材,作為一個新增知識點,它不僅只是對直線內容的深化,更多的是與其它知識的交匯,同時也是增加學生對數學在生活中應用的理解。它能解決一些線性約束條件下求線性約束條件的最值問題,其基本思想即在一定線性約束條件下,通^數形結合的思想求線性目標函數的最值,整個過程主要借助于平面圖形,運用這一思想能夠比較有效的解決線性規劃問題。近些年來線性規劃問題是解析幾何的重點,每年高考必有一道小題,分值在5分左右。
在實際的教學中,本校對數學教材的教學順序是:必修1―必修4―必修5―必修2―必修3。而我們要完成的教學任務《簡單線性規劃》在必修5第三章第3小節,在教學過程中會利用到必修3第三章《直線與方程》的相關概念(斜率、交點坐標、截距)。這又受教材教學先后順序的影響,要求我們在學習線性規劃問題時,必須要考慮回避直線與方程對教學和學生認知的影響。本人在實際教學中,對求線性目標函數最值的方法進行一些嘗試。
現舉例加以說明。
一、前期鋪墊,總結經驗
為了更好的回避必修2《直線與方程》相關知識對線性規劃的影響,在二元一次不等式(組)表示平面區域學習的時候進行升華與總結。
例1、畫出下列不等式表示的平面區域
指導學生自主完成:①建立直角坐標系;②畫出等式圖像;③確定區域。
解析如下:
總結方法:確定二元一次不等式表示平面區域方法是“線定界,點定域”,定邊界時需分清虛實,定區域時常選原點(C≠0)。
拋出問題:能否在畫出等式圖像時,快速確定不等式表示的區域呢?指導學生繼續觀察圖像。
從上面例子,我們知道一條直線就能瓜分平面了,而不等式組就是不斷確定你想要的那個平面,由此可以發現對于不等式 (A>0)表示直線 (A>0)的右上(下)方區域,越往右偏離直線的點坐標(x,y)代入式子
所得值越大;不等式 (A>0)表示直線
(A>0)的左下(上)方區域,越往左偏離直線的點坐標(x,y)代入 所得值越小。這對于解決線性規劃問題,做了很大的埋伏,為后續教學做了很好的鋪墊。
二、單點解析,檢驗成果
例2、(2012年山東高考)設變量x,y滿足約束條件
則目標函數 的取值范圍是( )
分析:求取值范圍,實質就是求 的最大值與最小值。
解:先畫出滿足不等式的可行域. 如圖陰影部分不妨令z=0,作參考直線 : 。
通過平移,由圖可知,當直線 過點A時z取得最大值,當直線 過點B時z取得最小值。
由 得A(2,0),
因此zmax=6,
由 得 ,
因此 。故選A。
我們可以知道用圖解法解決線性規劃問題的一般步驟:
①畫出可行域;
②作參考直線 ;
③通過平移以及數形結合,確定目標函數最值位置 ;
④解二元一次方程組,求出點的坐標;
⑤計算線性目標函數的最值。
從上面的例子,我們知道,在線性約束條件下,求線性目標函數z=Ax+By(A>0)這種形式的最值問題,是高中線性規劃中常見的問題,這類問題的解決,關鍵在于能夠正確理解二元一次不等式組所表示的區域,利用參考直線,尋找可行域內最左(右)的點,即利用圖形及平移求最優解及線性目標函數的最值。
三、跨越障礙,思想升華
為了加深學生對數形結合思想及平移方法的理解,特舉更具有代表性的一類問題:已知目標函數的最值求參數的問題。
例3、若實數x,y滿足不等式組 目標函數 的最大值為2,則實數 的值是_____________。
分析:解答此類問題必須明確線性目標函數的最值一般在可行域的定點或邊界取得,運用數形結合的思想、平移方法求解,同時需要注意目標函數的幾何意義。
解:先畫出滿足不等式的可行域。 如圖陰影部分。
作參考直線 : ,由圖可知,
當直線 過點A時,t取得最大值。
由 得 代入 中,解得 =2。
從上面例子可以看出今后我們在遇到此類問題時,首先想到用數形結合思想,以及平移方法去解決,因為它更直觀、形象。 在高考時,能夠讓學生做得更快、更準。
線性規劃思想不僅與函數或不等式有交匯,而且在實際生活中求最值問題時,也有交匯。如在教科書中利用線性規劃解決物資問題、產品安排問題與下料問題,引導學生應用數學知識解決實際問題,使學生體驗數學在解決實際問題中的作用,在整個的學習過程中,著重培養學生的數形結合思想。雖然解決此類問題的方法不是唯一的,但我們在教學中,需要考慮培養學生學會思考的習慣,以及數學思想的建立。
綜上所述,線性規劃是直線方程的繼續,是直線方程知識的應用,但受教材教學順序的影響,我們在教學過程中,必須要面對這樣的事實,這就要求我們在教學中必須有一些創新,在創新的過程中還不能丟失數學的思想。本人在教學中,從宏觀的角度來把握,先期借鑒數軸上數的大小特點,升華了二元一次不等式(組)表示的區域的意義,借助參考直線,學會尋找可行域內最左(右)的點,利用數形結合思想及平移的方法很容易在可行域內找到最值。通過課堂及課后的反饋來看,學生不僅解決了簡單線性規劃問題,還對數形結合思想有更進一步的思考。在教學中教師不為方法而講方法,而在此方法的啟發下,學生發現了新方法。因此,本人在教學中的嘗試,可以算是成功的,并且在解決交匯知識模塊時,思想也具有通用性。
函數的表示法范文2
關鍵詞:決策支持系統;結構化方法;證據理論;框架表示法;地震應急案例
中圖分類號:TP399
文章標識碼:A
文章編號:1007-3221(2015)02-0078-09
引言
近年來,地震突發事件多次發生并嚴重危害了人民群眾的生命財產安全。然而,地震突發事件具有信息不完備、形勢緊急以及情況復雜等特點,這為突發事件的應急決策和救援帶來了較大困難。Case-Based Reasoning(CBR)能有效解決上述問題,進而有效支持地震突發事件應急決策。案例表示是CBR的基礎,其所選用的表示方法和表示內容影響到案例檢索的準確性和案例適配的有效性。因此,地震突發螄件應急案例表示與檢索方法研究在CBR的研究中非常重要。
應急案例常使用的表示方法有框架表示法、本體表示法、XML表示法和樹結構表示法。
框架表示法結構性強、邏輯清晰,能夠將事物的全貌層次分明地展現出來。Liao Zhenliang和PhillipM.Hannam等使用框架表示法描述了石油泄漏應急準備中石油泄漏的情景和應急決策信息;廖振良、劉宴輝和徐祖信等使用框架表示法表示突發環境污染事件;孫殿閣、孫佳、曹婧華等使用框架表爪法表示城市典型災害系統。以上的研究能夠較為清晰全面地描述突發事件,但是沒有考慮情景信息的不確定性。翟丹妮和黃衛東提出的框架結構只給出了應急案例的一般性特征,具體的應急領域該框架還需要進一步擴充。
本體表示法能夠實現文件共享和異構系統間的互操作,有利于表現事件過程。Baisakhi Chakraborty和D.Ghosh使用本體表示法表示了火災應急案例。該方法能為專家處置突發事件提供支持,但結構性小強。Zhang Baishang、Li Xiangyang和LiJun等在復用ABC本體模型的基礎上構建了面向案例推理的應急案例本體模型。該模型能全面詳細地描述應急案例,但其不利于描述結構化知識。Zhao Jinsong和Cui Lin創建了化工廠危險與可操作性分析本體,該本體與CBR集成能實現突發事件應急決策。WuKeshou、等jS構建了颶風應急管理本體,該模型適合描述颶風管理中災情、物資供應及災后恢復的知識,但缺少響應過程描述。Z.Fan和S.z1atanova構建的應急管理本體分為動態本體和靜態本體,有助于不同領域的語義理解。但是子本體描述簡單,不利于展現案例情境及響應過程。
XML表示法具有很強的可共享性,在分布式系統中得到了廣泛的應用。仲秋雁和郭素使用XML表爾法將一個應急案例分為若干個元事件,形成明顯的層次結構。呂宗平、胡欣和楊宏宇使用XML技術表示機場應急案例。但是這兩種方法沒有考慮突發事件的信息不完備性。
樹結構表示法具有層次清晰、結構分明的特點,也是應急案例常用的表示方法。Cai JiWei和Jia Yunxizin使用樹結構表示法進行了戰時裝備持有量智能決策。該表示方法的創新之處在于加入了戰時裝備持有量決策者這一因素。
現有的案例表示方法能夠較為清晰地描述突發事件。但突發事件往往具備信息不完備(樣本數據集無法準確地描述出模型變量的所有狀態,主要由信息缺失和小樣本觀測造成的特征。目前的應急案例表示方法沒有考慮信息不完備性,這不利于應急案例表示、檢索和適配。本文根據地震突發事件信息不完備的特征和應急決策的結構化需求,將證據理論中的基本信任分配函數引入框架表示法表示地震應急案例,解決信息不完備條件下地震應急案例的表示問題,提高案例檢索的準確性和適配結果的有效性。同時,本文也給出了信息不完備條件下地震應急案例的檢索方法,這對地震突發事件的CBR具有實用意義
1 信息不完備條件下地震應急案例表示方法
1.1 地震應急案例推理需求分析
本文結合案例推理需求和案例表示方法的特點選取合適的地震應急案例表示方法。面向地震突發l#件的案例推理有以下需求:
(l)地震應急案例推理的結構化需求。所謂結構化程度,是指對某一過程的環境和規律,能否用明確的語言(數學的或邏輯學的,形式的或非形式的,定量的或推理的)給予清晰的說明或描述。如果能描述清楚的,稱為結構化問題。地震應急案例種類多樣、結構性較差,而案例推理的前提是將非結構化或者半結構化的問題轉化為結構化的問題。因此,地震應急案例表示需要選取結構性強的案例表示方法,從而為地震突發事件應急決策提供支持。
(2)地震應急案例推理的定量化需求。地震突發事件應急救援需要不同職能的人員使用相應的裝備和物資來完成。因此,地震突發事件應急案例推理不僅需要說明突發事件應急救援的過程,還要給出救援人員、救援物資等的構成及數量。所以,地震應急案例表示需要選取能夠支持定量化描述的表示方法,以便于案例適配階段可以得出人員及物資的量化決策。
目前,主要的案例表示方法有各自的優點和局限性,具體比較見表1。
可以看出框架表示法既能將突發事件應急案例結構化地表示出來,又能滿足案例適配的定量化決策,是地震應急案例表示的合適方法。
1.2 基于D/S證據理論的地震應急案例框架表示方法
地震突發事件應急救援主要包含三個部分:突發事件現場的相關情景快速收集;基于情景特征的應急救援方案制定;應急救援效果評估。根據地震突發事件應急決策的流程,可以得出信息完備條件下地震應急案例的概念模型15,見式(1)。
Case=(S,P,E)
(1)
其中,S代表地震應急案例情景特征,P代表地震突發事件應急方案,E代表地震突發事件應急效果。
但是地震突發事件往往具有緊迫性和信息不完備性的特點,為了取得應急救援良機,應急決策人員往往需要根據相關信息和參數對部分情景特征值做出估算來為應急決策提供支持。這樣,在信息不完備條件下,地震突發事件的情景特征值實際上是具有不確定性的情景特征值(不需要研判和估算情景特征的情況可以視為不確定性的特殊情況)。因此,本文將用于描述信息不確定性的D/S證據理論引入地震應急案例表示,從而解決信息不完備條件下地震應急案例表示問題。
在證據理論中,假定U為彼此互不相容事件的完備集合的識別框架,可表示為
其中,θ,為識別框架的一個事件或者元素;j=1,2,…,N;識別框架U的所有子集組成的一個集合稱為U的冪集,記為2U。
則有如下兩個定義:
定義1信任函數Beι(A)是一個從集合2U到[0,1]的映射,如果A和B表示識別框架u,的兩個子集,并且,且滿足
其中,m(B)是B的基本信任分配函數,Beι(A)稱為A的信任函數,用來表示證據對A為真的信任程度。
定義2 不可駁斥函數P*(A)是一個從集合2u到[0,1]的映射,A表示識別框架U的一個子集,且滿足
該函數表示不懷疑A的程度。根據以上定義可以得出地震應急中不確定性信息合成規則m(A)=m1(A)m2(A)…mn(A)
所以,信息不完備條件下地震應急案例的概念模型變為式(9)。
Case=((S,m(A)),P,E)
(9)
其中,S代表地震應急案例情景特征,P代表地震應急救援方案,E代表地震應急救援效果,A代表地震應急案例中具有不確定性的情景特征,其不確定性用二元組表示,Beι (A)為A的信任函數,代表A的可信程度;P*(A)為A的不可駁斥函數,代表A的可信程度。m(A)表示對A的信任程度。
具體的案例表示還需要借助于合理的案例表示方法。如上文所述,框架表示法是符合突發事件應急案例推理需求的案例表示方法。根據地震應急案例的概念模型,我們可以得到地震應急案例的框架網絡,如圖1所示。
地震應急不同于其他突發事件應急,需要多個部門應急聯動,并且經常會面臨資源不足的情形,所以地震應急案例框架需要采用頂層框架嵌套子框架的形式來構造。地震應急案例的頂層框架如表2所示。根據地震應急案例的框架示意圖,本文構造了地震應急案例的子框架,如表3、表4、表5和表6所示。
其他應急方案的表示方法與救援安置方案相似,不再贅述。
通過頂層框架嵌套子框架可以將地震應急案例清晰而結構化地表示出來。
2 信息不完備條件下地震應急案例檢索方法
由于信息不完備條件下的地震應急案例表示融入了基本信任分配函數m(A),所以其檢索方法也會有所變化。本文使用最近鄰法來檢索相似案例。該過程分為兩個階段:第一個階段計算融人基本信任分配函數的地震應急案例的局部屬性;第二個階段計算地震應急案例的全局屬性。
2.1 地震應急案例局部相似度的計算
對于地震突發事件情景特征而言,其數據屬性可以劃分為確定符號屬性、確定數屬性和模糊屬性,義章分別介紹其屬性相似度的計算方法。
(1)確定符號屬性
確定符號屬性是描述地震應急案例情景特征的一種重要數據屬性,通常用明確的專業術語來表示引,該屬性相似度通過比較目標案例與源案例的含義來計算。信息不完備條件下該屬性的計算公式為其中,sima(ci,ti)為目標案例和源案例第i個屬性的相似度,m(A)ti為目標案例第i個確定數屬性的基本信任分配函數,m(A)。為源案例第i個確定數屬性的基本信任分配函數。
(2)確定數屬性
確定數屬性是地震應急決策的關鍵屬性之一,其計算有多種方法,本文根據地震突發事件的特點選用海明距離來計算確定數屬性的相似度,計算公式為
其中,sima(ci,ti)為目標案例和源案例第i個屬性的相似度;ti為目標案例第i個確定數屬性的值,m(A)ti為目標案例第i個確定數屬性的基本信任分配函數;ci為源案例第i個確定數屬性的值,m(A)ci為源案例第i個確定數屬性的基本信任分配函數;Amaxi為源案例中第i個確定數屬性的最大值,即Amaxi=max(cim(A)ci);Amin。為源案例中第i個確定數屬性的最小值,即。
(3)模糊屬性
地震突發事件的信息不完備性和緊迫性決定了在地震應急案例中存在著大量模糊屬性值。由于實際應用中的許多隨機變量都是正態分布或者接近正態分布的,所以正態模糊集非常重要。同樣,有關地震的許多變量都可以表征為正態模糊集,因此本文使用正態模糊集合來描述模糊屬性。正態模糊集的隸屬函數為
根據該函數的特點,本文對文獻計算模糊屬性相似度方法進行改進來計算具有不完備信息的模糊屬性相似度。
1)確定數與模糊區間數相似度計算
設a為一確定數,zi為第i個屬性的取值范圍,b1、b2為模糊區間數的上下限,則有
2)模糊區間數相似度計算設a1、a2和b1、b2分別為兩個模糊區間的上下,則有當a1>b2時,計算相似度需要將[a1,a2]和[b1,b2]調換。
3)模糊概念屬性相似度計算
計算模糊概念屬性相似度需要先使用模糊量化分值將評價模糊處理,然后使用模糊區間屬性相似度計算相似性。
2.2 地震應急案例全局相似度的計算
地震應急案例全局相似度是案例中所有情景屬性相似度的加權和。情景屬性的重要性由其在應急決策制定中的作用來決定。本文使用AHP方法來獲取屬性權重,然后在應急案例情景屬性局部相似度的基礎上通過對每個加權的屬性相似度求和而得到全局相近似度。其具體的計算公式為
其中,為信息不完備條件下地震應急案例的全局相似度,wi為第i個屬性值的權重,sima(ci,ti)為目標案例ti和ci源案例在屬性i上的局部相似度,m為屬性值的個數。
3 實例應用
本文選取2012年9月7日云南昭通、貴州畢節地震救援安置案例和2008年8月四川攀枝花地震救援安置案例來說明基于證據理論的地震應急案例的框架表示方法及檢索方法的具體應用。
地震應急案例表示需要通過信息源獲取地震的情景屬性并計算信息源的基本信任分配函數。在該案例中,震級、震源深度、海拔、地形、人口密度和應急響應等級的信息可以直接精確獲取,其基本信任分配函數值為I。而受傷人數、死亡人數和受災范圍需要通過調查匯報的形式獲取,由于地震災害具有緊急性、破壞性和信息不完備性特點,不同調查匯報單位的匯報結果會有所不同,因此這些數值具有不確定性,需要使用基本信任分配函數來表示這些不確定性。兩個調查匯報單位對這三個情景屬性的匯報結果分別為(795,0.9)、(81,0.9)、(6214-7100,0.9)和(680,0.6)、(71,0.7)、(6000-7000,0.8)。調用信息不確定處理模型可以對兩組匯報數據進行處理。
受傷人數基本信任分配函數為:
可見受傷人數為795人的可能性比受傷人數為680人的可能性大很多,其基本信任分配函數為0. 5732。同樣可以獲取死亡人數和受災范圍的情景屬性及其基本信任分配函數分別為( 81,0.5569)、(6214-8000,0.5285)。
因此云南昭通、貴州畢節地震救援安置子案例可以表示為以下表格。
進行案例檢索需要計算屬性相似度和全局相似度。屬性相似度使用前文的公式進行計算,所需的屬性的取值范圍見表11。
確定數屬性相似度使用式(11)計算。同樣可以計算得到其他確定數屬性相似度。模糊區間屬性相似度使用式(15)計算。確定符號屬性相似度使用式(10)計算。最后得到所有局部屬性相似度。
計算全局相似度還需要選取情景屬性權重。該權重的設定通過AHP方法來實現。地震專家分析評估各個情景特征在應急決策中的重要作用建立判斷矩陣,如表12。使用方根法可求得該矩陣的特征向量為W=[0.109,0.19,0.287,0.216,0.073,0.019,0.029,0.037,0.04]T ,一致性檢驗通過,所求得的特征向量即為情景屬性的權重,結果見表13。最后,可以得出兩個案例的相似度為如果忽略了信息的不確定性,那么可以得到案例相似性為
可見,考慮了信息不確定性和不考慮信息不確定性的案例表示和相似度測量有很大不同。證據理淪具有很強的表示和處理不確定性信息的能力,將其和框架表示法融合能更好地描述信息不完備條件下的結構化案例。
4結論
函數的表示法范文3
1、坡度=(高程差/水平距離)x100%。使用百分比表示時,即:i=h/l×100%,例如:坡度3% 是指水平距離每100米,垂直方向上升(下降)3米 ;1%是指水平距離每100米,垂直方向上升(下降)1米 。
2、坡度是用以表示斜坡的斜度,常用于標記丘陵、屋頂和道路的斜坡的陡峭程度。這個數值往往是以三角函數的正切函數的百分比或千分比數值來陳述,即“爬升高度除以在水平面上的移動距離”。坡度標示法的原則都能應用于地形測量學上,雖然使用以上任何一種的標示法都能帶出同樣的訊息,但為了避免搞亂不精通三角學的讀者,正切百分比還是最常被應用于公共場所。
(來源:文章屋網 )
函數的表示法范文4
關鍵詞:拋物線 焦半徑 三角表示法 應用
一、問題的提出
筆者在講授拋物線的幾何意義時,作了如下拓展:
[2009福建卷理]過拋物線y2=2px(p>0)的焦點F作傾斜角為45°的直線交拋物線于A、B兩點,若線段AB的長為8,求P的值。
學生基本上都能得出正確答案,.學生甲的解題過程是:
解:由題意可知過焦點的直線方程為
y=x-■,聯立得y2■=2pxy=x-■?圯x2■-3px+■=0,又AB=■■=8?圯p=2.
點評:上述解法顯然是解決圓錐曲線弦長問題的通用解法:
設直線方程聯立消元判斷判別式借助弦長公式進行計算。
學生乙給出如下解法:
y2■=2pxy=x-■?圯x■-3px+■=0
設A(x1,y1),B(x2,y2),則AB=p+x1+x2=p+3p=8,故p=2.
點評:此解法是利用拋物線的定義,把弦長轉化為兩條共線的焦半徑之和,避開使用弦長公式,是個不錯的解法。正當筆者準備講述下一個題目時,學生丙很興奮地舉起手,我示意她起身回答。學生丙平時涉獵較廣,給出了如下的解答過程:
解:拋物線焦點弦長AB=■=4p=8,故p=2.
筆者表揚了學生丙解法的簡捷明了,省去了聯立消元等一系列的復雜計算。但其他同學仍心存疑問,因為多數同學有此疑問:拋物線弦長為什么可以這樣表示?
二、結論的推導
筆者因勢利導,首先引導學生推導出拋物線焦半徑的三角表示法:
給出題目:直線l傾斜角為a,過拋物線C:y2=2px(p>0)的焦點F,且與拋物線交于A、B兩點,試用表示焦半徑。
解:如圖1,分別過點A,B作AD、BE,BE垂直于準線于點D,點E。過點F作FGAD于G,根據拋物線定義,AF=AD=p+AF·cosα
故AF=■.同理可得BF=■.(1)
因為所畫的圖中直線l的傾斜角為銳角,于是筆者將直線l的傾斜角改為鈍角,追問:上述結論(1)是否仍成立?
答案是肯定的.推導過程如下:
如圖2,輔助線作法如上解法。
■
AF=AD=P-AF·cos(?仔-a)=P+AF·cosα
故AF=■.同理可得BF=■.(2)
筆者給出變式:若拋物線C的開口方向改為向上,
即:x2=2py(p>0),上述結論(2)是否成立?
上述結論不成立。應改為:AF=■.
同理可得BF=■.(3)
(推導過程此處省略)
如果將直線l的傾斜角改為鈍角,上述結論是否成立?
上述結論(3)不成立。應改為:AF=■.同理可得BF=■.
我們將四種開口方向的焦半徑列表:“表1”(開口向左和開口向下的情況略去)
通過對以上表格的比較,可以得出關于拋物線焦半徑的三角表示法的統一形式:
設r長為較長的焦半徑,r短為較短的焦半徑,
(1)拋物線開口若向左(或向右),不論直線傾斜角為何值,總有:
r長=■,r短=■·
(2)拋物線開口若向上(或向下),不論直線傾斜角a為何值,總有:
r長=■,r短=■
因sinα≥0故,故r長=■,r短=■
對以上結論,作如下解釋:
若開口向左(或向右),三角函數為余弦,較長焦半徑分母比較小,較短焦半徑分母比1大;若開口向上(若向下),三角函數為正弦,較長焦半徑分母比較小,較短焦半徑分母比1大。
這樣,拋物線的四種開口方向的焦半徑的三角表示法就可以很容易記住。
三、結論的應用
以y2=2px(p>0)為例,可以運用上述結論作如下應用:
(1) 求拋物線的焦點弦長
解:如圖3,
■
AB=AF+BF=■+■=■
此結論正是文章開頭同學丙解法的理論依據。
開口向上結論為:
AB=AF+BF=■.
(2)■+■=■(調和平均模型)
解:
■+■=■+■=■(與a無關).
(3)ABO的面積為■
函數的表示法范文5
關鍵詞:計算機博弈;六子棋;數據結構;走法生成;搜索算法
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2011)10-2310-03
Main Technologies Analysis of Connect6 in Computer Game
LIU Ya-jing
(Dalian Jiaotong University, Software Colledge, Dalian 116021, China)
Abstrct: This article mainly introduced the four main parts of Connect6:state representation, move generation,evaluation function, searching algorithm, and analyzes the main teconology in current and their advantages and disadvantages. Also I optimized the searching algorithm, and provided a certain reference for the Computer Game.
Key words: computer game; connect6; data structure; move generation; searching algorithm
計算機博弈是智能游戲,五六十年代,它一度是人工智能的帶頭領域,至今在人工智能界仍非常受重視。計算機博弈種類很多,像國際象棋,圍棋,中國象棋等,研究相對成熟。而六子棋是2005年臺灣交通大學資訊工程系的吳毅成教授提出的一系列K子棋中的一種。由于其特殊性,每次每方走兩顆棋子,直觀看,其狀態空間復雜度及博弈樹的復雜度會成倍提高,因此以六子棋作為研究平臺,不僅能促進六子棋這項活動,而且能為計算機博弈技術帶來新的發展。
六子棋( Connect6),規則是第一手黑方先下一顆子,第二手開始,雙方輪流每次下兩子,在橫向,豎向,斜向先連成六子或六子以上為贏,若全部棋盤下完仍未分勝負,判和。
由于六子棋剛興起不久,國內外研究相對較少,但是作為計算機博弈的一種,它與象棋圍棋的研究有一定的相似處,因此它的主要技術要點也包括這些項:狀態表示,走法生成,評估函數,博弈樹搜索等,下面我就分析一下。
1 狀態表示
我們在用計算機解決任何實際問題之前,必須要將具體問題表示成計算機能夠處理的數據。在這里我們需要將六子棋的棋局狀態,棋局的變化以及棋局局部特征低占用率高速度的表示出來。
下面有兩種方法我們可以嘗試來表示棋局狀態:
1.1 矩陣表示法(又叫數組表示法)
六子棋棋盤通常為19×19,因此可以用二維數組Board[19][19]表示。當然也能用一維數組表示,占用空間361B。
1.2 比特棋盤表示法
在高性能的博弈程序里,比特棋盤 被廣泛應用,在六子棋中,棋盤上每個交叉點用2個bit位來表示,即00為黑,01為白,10為空,11其他,每個橫線上19個點共需38bit,用一個8B的長整型來表示,那19行就有19×8B,即152B,比數組表示法占的空間要小。
六子棋的局部特征表示方法也有很多種:
1.3 用字符串結構來表示特征
我們用”OO++OO”來表示,其中“O”代表有棋,“+”代表空位,采用字符串模式匹配算法來提取局部特征,這種方式很直觀,但沒有區分黑白棋,因此特征不明顯,而且取一種特征需遍歷整個棋盤,運行速率很低。
1.4 用一個狀態數組來表示特征
我們以當前棋子位置為中心,分別向相反的方向定長掃描6個點,得到長度為13的狀態數組,而每個數組元素有四個可能狀態:黑,白,空或棋盤外,如圖1。
這種方法棋型種類巨大,數據冗余嚴重,盡管簡單直觀。
1.5 一種新的6-8窗口法
經過對六子棋深入研究,有人提出6-8窗口法,如圖2。
6窗口主要功能是提取棋型信息并判斷是否同色, 8窗口主要功能用于輔助判斷是否存在迫著點,取完一個棋型后,窗口向前移動,然后提取下一個,直到遍歷完整個棋盤。該方法優點是遍歷完一次可統計完一種棋型的數量,完成局面估值,而且棋型少很多。但是不夠直觀,代碼編寫也較困難。
所以一種好的狀態表示方法對加快搜索效率非常重要。
2 走法生成
走法生成就是將所有可能的走法羅列出來,并告知下一步走哪。
走法生成過程中常伴隨著搜索進行,因此好的走法生成,可以提高搜索效率。走法生成主要有這幾種:棋盤掃描法,模板匹配法,預置表法以及這些方法的結合。
棋盤掃描法:就是在棋盤內反復搜索有效區域,制約條件以及落子狀況,從而確定有哪些地方可以落子,這種方法時間開銷巨大。
模板匹配法:我們可以為一些動子設計模板,當選定動子,那么它的提址和落址便相對固定,只要匹配到提址,便可迅速找到落址。
預置表法:簡單的說,就是把所有可能的走法預先存儲起來,在生成走法時,通過查表來取代計算,即空間換時間。
在走法生成并進行搜索時,有兩種方式,一種是生成一種走法就馬上進行搜索,即深度優先;另一種是生成所有可能的走法然后進行搜索。經研究,第二種方法的效率更好。
3 評估函數
評估函數是模式識別和智能算法應用最廣泛的領域。不管評估函數多復雜,都能表示為一個多項式。評估函數一般來說必須包括 5 個方面:固定子力值、棋子位置值、棋子靈活度值、威脅與保護值、動態調整值,每一方面的值又是由許多參數值構成的。即使最簡單的評估函數也有 20 多個參數植,將其線性組合在一起得到最終評估值。
對于六子棋,它無子與子的差別,所以其評估函數只跟當前棋子的落子位置及周邊棋子位置狀態有關。由此可見六子棋的評估函數是5要素的一個子集,從而得到了簡化。進行估值有以下原則 :棋型影響大,估值要高;威脅性小,估值要小;一方得勝,估值最大;對稱數組,估值相同。
根據以上估值原則,棋型特征的 stepValue 值都人為的給出, 但這依賴于編程者的知識和經驗,盡管遵循原則,但給出的值仍然不夠準確,所以我們最好通過遺傳算法來對參數值進行調整和優化。
1) 參數選取和編碼
首先我們人為給出參數表(假定是威脅值的參數)如圖3:
圖3 參數表
每一個參數都通過二進制編碼,設A1-A9由10位二進制位組成。
2) 適應度函數的計算
棋盤大小為19×19,也就是說棋盤共有361個著棋點,如果一場比賽回合數為x,則這場比賽該個體的得分為:
其中K為可調系數,取6,個體得分總和設為適應度值。
3) 交叉和變異操作,在這里我們用最簡單的單點交叉。
4) 自適應遺傳算法:交叉概率Pe突變概率Pm,按如下公式自適應調節:
其中 fmax 是群體中最大適應度值,forg 是群體的平均適應度值,f 是交叉個體中較大者的適應值,f是突變個體的適應度值,其中 k1k2k3k4 在[0,1]范圍內取值。
在這只簡單的說明了一下遺傳算法對參數進行優化的過程。
4 博弈樹搜索及優化方法介紹
我們知道象棋,六子棋等類型的博弈都可用博弈樹描述,因此搜索就是尋找最佳解的過程。
博弈搜索算法研究已有半個多世紀,有一定的理論基礎。其中最大最小值算法是所有算法的基礎,目前這一領域的算法有兩大類,一種是深度優先的Alpha-Beta算法及一些強化算法,它幾乎成為主流,另一類是最佳優先的系列算法。
1) 極大極小值算法
極大極小植的基本思想是假定我們始終站在一方(MAX方)的立場上,MAX將選擇子節點中估值最大最有利的一個,當MAX確定后,另一方(MIN方)會選擇最估值最小的節點,因為對MAX最不利,就這樣最大最小的選擇就是此算法的核心思想。
2) 負極大值算法,基本思想與極大極小值算法相似。
3) Alpha-Beta算法
① Alpha-Beta剪枝
在極大極小值搜索中,要遍歷整個博弈樹,會造成冗余,所以要剔除一些分枝,Bruno在1963年首先提出了Alpha-Beta剪枝算法。
α值為倒推值下界,β值為倒推值上界。Alpha-Beta搜索首先使某一部分達到最大深度 ,從而計算出Max節點的α值,Min節點的β值,然后繼續搜索,不斷修改這些值,在修改過程中,α值永不下降,β值永不增加。
② Fail-soft Alpha-Beta算法
在Alpha-Beta搜索中,Alpha,Beta分別默認為-∞到+∞,在遞歸調用過程中,窗口不斷縮小,剪枝的效率越來越高,因此Fail-soft Alpha-Beta算法就是剛開始限定窗口大小。在Alpha-Beta搜索中,若搜索失敗,也沒有什么信息,Fail-soft Alpha-Beta算法作了改進,即當返回值≤Alpha,表明真實值≤返回值,若返回值≥Beta,真實值≥返回值,盡管有啟發信息但速度仍不高。
③ 渴望搜索
渴望搜索是一種縮小范圍來提高剪枝效率的算法,它渴望真實值在所定窗口范圍內,建立窗口時,令Alpha=X-window,Beta=X+window,猜測結果在X附近,此法當窗口很小時,能迅速提高剪枝速度,但失敗率也很高。
④ 極小窗口搜索
極小窗口搜索,也稱主變量導向搜索,它是另一種縮小范圍來提高剪枝效率的算法。它假設搜索的第一個節點的Value值是最優的,然后以(Value,Value+1)為窗口搜索,效率明顯高于上述幾種算法。
⑤ MTD(f)算法
該算法是多次調用Alpha-Beta來完成搜索,每次均采用空窗口進行搜索,然后得出一個真實值上下邊界,再以此返回值修改原來的上下邊界,搜索范圍不斷縮小,從而向真實值不斷逼近,當上下邊界相等時,搜索就完成了,該搜索效率更高。
4) 其它優化方法
①置換表與哈希表
置換表就是用一張表把搜索的節點記錄下來,然后利用記錄下來的節點結果,在后續搜索中,查看記錄在表中的這些結果,
當用置換表時有查詢插入兩個主要操作,因此要求查詢速度插入速度要非常快,查詢時最好類似于隨機存儲,而插入的過程要考慮數據移動和排序等操作。在這樣一個有限空間里進行此操作,最好的數據結構就是哈希表。
②歷史啟發
所謂啟發,就是被定義成的一系列規則,歷史啟發避免了對具體棋類知識的依賴,在搜索過程中,只要給出合適走法映射和增量因子,就能輕易的加入歷史啟發。
③迭代深化
這種技術既能滿足深度優先搜索的線性存儲要求,又能保證發現一個最小深度的目標節點。通過迭代深化,連續的深度優先搜索被引入,經實踐還發現,迭代深化搜索擴展產生的節點數并不比廣度優先搜索產生的多很多。
5 結論
六子棋中除了這些技術外,還包括開局庫設計,系統測試等要素,本文只簡單介紹了六子棋的基本技術問題,通過對本文的研究,我們可以進一步掌握六子棋研究的要點,樹立正確的方向,從而提高計算機博弈的綜合水平。
參考文獻:
[1] 董紅安.計算機五子棋博弈系統的研究與實現[D].山東師范大學,碩士學位論文,2005.
[2] 徐長明,馬宇民,徐心和.一種新的連珠棋局面表示法及其在六子棋中的應用[J].東北大學學報(自然科學版),2009,30:514-517.
[3] 閔文杰.六子棋計算機博弈關鍵技術研究[D].重慶交通大學,碩士學位論文,2010.
[4] Pablo,s.s.,Ramon G.Fernando M.,et al.Eiffcient Search using bitboard models[C].International Conference on Tools with Artificial Intelligence.Washington DC:IEEE,2006
[5] 謝國.中國象棋機器博弈數據結構設計與搜索算法研究[D].西安理工大學,碩士學位論文,2008.
[6] 李果.基于遺傳算法的六子棋博弈評估函數參數優化[J].西南大學學報(自然科學版),2007
[7] 夏定純,徐濤.人工智能技術與方法[M].華中科技大學出版社,2004,P128-130.
函數的表示法范文6
【關鍵詞】Matlab;高等數學;應用
1.Matlab概述
Matlab利用它簡單的語言和方便的操作使其成為超越C語言的第四代計算機語言程序。而且它的操作符合人們的思維模式,并且簡單,易上手。下面為大家介紹Matleb的三大主要特點:
1.1新手可以使用Matlab自帶的豐富的庫函數,而省去了學習編寫子函數的時間和精力,而且Matlab沒有繁瑣的程序,所以使用起來簡單易懂。
1.2只要用Matlab編寫的程序,可以在任意型號的電腦上工作,而且不用做任何的修改。
1.3Matlab基于它強大的數據處理功能,可以根據使用者編入的數據快速形成匹配的圖像,實現把抽象數字圖像化,與此同時使用者還可以直接在圖像上進行編輯。
具有強大功能的Matlab在實際生活的很多領域都有很大的作用,它可以提高教師的教學質量和科學研究的效率,方便學生的作業解答。現如今,在國外的很多高等學校都會讓學生掌握這門技術。
2.Matlab在函數教學中的應用實踐
2.1求方程的根
復雜方程式的根也可以通過Matlab程序求出。
例1:解方程Z =-8。
在Matlab的工具窗口中編入S=solve('z^3=-8');>>s=eval(S);s=[s(1);s(2);s(3)]s=-2.0000+0.0000i 1.0000+1.7321i 1.0000-1.7321ix=2^(1/8)*(1:-0.01:-1);x=2*(1:-0.01:-1);y1= sqrt(4-x.^2);y2=-sqrt(4-x.^2);plot(x,y1,'r-','LineWidth',3);hold on;grid on;plot(x,y2,'r-','LineWidth',3);axisequal;plot(s,'o');axis([-2.5 2.5-2.5 2.5]);利用Matlab中的解方程方式可以快速、有效、直地解出-8的3次方根。
例2:求解方程ln(z +z +z +z+1)=i。
在Matlab中輸入solve('log(z^4+z^3+z^2+z+1)=i')ans=0.36521623295345235866005943774426+0.64240444029684120856950031509163*i0.19822799851622204112882959650434-1.130167947608232755068528868445*i-0.48211258491386994549037517293678+0.86253684186617047083403309081309*i-1.0813316465558044542985138613118-0.37477333455477892433500453745974*i
囊隕霞父隼子可以看出,如果我們使用Matlab就可以輕松解決許多復雜問題的計算。
2.2進行復變函數的簡單運算
三角和指數表示法都可以用復數的形式體現,輻角的計算公式在這兩種表示法中都是以很復雜的形式出現,如果我們利用Matlab則可以把輻角、共軛復數、復數的實部和虛部通過簡單的程序求出。
2.3將函數展開成泰勒和洛朗級數。
例2:將函數 在z=1展開為泰勒和洛朗級數。
解:復變函數 是級數展開中常用的一個函數,且在z=0處不解析。若將該函數在z=1展開成泰勒級數和洛朗級數,分析如下。當z-1
當z-1>1時, 它 的 洛 朗 展 開 式 是 = (-1) 。
在MAT LAB中工具窗輸入m=30;r=(0:2*m)'/m;theta=pi*(-m:m)/m;z=r*exp(i*theta);z(find(z==1))=NaN;figure(1)cplxmap(z,1./z);title('原函數');由原函數圖,易得函數 在z=0處不解析。
在MAT LAB工具窗輸入z1=z-1;z1(abs(z1-1)>=1)=NaN;f1=1;u1=1;for
k=1:100u1=u1.*(z1-1);f1=f1+u1;endfigure(2)subplot(1,2,1);cplxmap((z1-1),f1);title('泰勒展開');z2=z;z2
(abs(z2-1)
k=1:100u2=u2./(z2-1);f2=f2+u2;endfigure(2)subplot(1,2,2);cplxmap((z2-1),-f2);
title(‘洛朗展開’)得 在z=1處的泰勒展開式及洛朗展開式。
【參考文獻】