freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

圍棋對弈系統(tǒng)的設(shè)計與實(shí)現(xiàn)畢業(yè)論文-資料下載頁

2025-02-26 06:33本頁面
  

【正文】 并隨距離增加而按比例衰減,衰減因子為 1/2。就是距離每增加 1時影響值減半。于是,一個棋子對鄰位的影響值為 32,尖位和關(guān)位為 16,小飛和大關(guān)位(拆二位)為 8,等等。 同時 各級影響值均為整數(shù),避免了小數(shù)運(yùn)算 , 盡量節(jié)省計算量 。 黑棋影響值取正,白棋取負(fù)。 此時 一黑子對其周圍輻射的影響如圖 45。 1 1 2 1 1 2 4 2 1 1 2 4 8 4 2 1 1 2 4 8 16 8 4 2 1 1 2 4 8 16 32 16 8 4 2 1 1 2 4 8 16 32 64 32 16 8 4 2 1 1 2 4 8 16 32 16 8 4 2 1 1 2 4 8 16 8 4 2 1 1 2 4 8 4 2 1 1 2 4 2 1 1 2 1 29 1 圖 45 系統(tǒng)使用的影響模型 影響模型的實(shí)現(xiàn),采用循環(huán)嵌套, 對一已落的棋子( i, j),計算其對周邊的影響,定義變量 row, column, 對于滿足 i6=row=i+6, i6=column=i+6 的點(diǎn), ( row, column)的距離 distance 為︱ rowi︱ +︱ columnj︱ , 并記錄到顯示棋譜 Map( 19, 19) 中。 力學(xué) 模型 棋盤上的每一個棋子,都向周圍四個方向發(fā)出影響,通過這種影響實(shí)現(xiàn)對空點(diǎn)的占領(lǐng)和棋子之間的相互作用, 這種影響可以被視為一種控制力,沿四個方向大小相等,而黑白棋子產(chǎn)生的控制力符號相反。 控制力產(chǎn)生后,沿它的方向向前傳播,其傳播方式遵守如下規(guī)律: 1. 遞減規(guī)律 控制力遇到一個點(diǎn)后,力的大小被減 弱,符號方向不變地繼續(xù)向前傳播。如果遇到空點(diǎn),減弱后的控制力變?yōu)樵瓉淼囊粋€常數(shù)倍 (取 1/2) ,該常數(shù)被稱為傳播率;如果遇到有子點(diǎn),沿原方向的控制力消 減 。 棋子( i, j)在傳播過程中,如遇到另一棋子( m, n),則同方向的距離 distance+2,即受到的影響值減 1/4倍 。 2. 反射 定律 由于 在圍棋中 邊角更 容 易受 到 棋子的影響, 有“金 角 銀 邊 ”之稱。故在實(shí)現(xiàn)時設(shè)計了反射定律。 控制力到達(dá)棋盤邊緣后,會被反射回來,該反射力與原控制力方向相反, 符號相同,大小為原控制力的一個常數(shù)倍,該常數(shù)被稱為反射率。 實(shí)現(xiàn)時,棋子( i, j)在傳播過程中,利用 row, column 雙重循環(huán),如遇到 row=1 或 19,則同方向的距離 distance︱ rowi︱;如遇到 column=1 或 19,則同方向的距離 distance︱ columnj︱。 每一個點(diǎn)都受到四個方向的控制力的作用, 任一方向的控制力的大小是這個點(diǎn)所受這個方向所有控制力的代數(shù)和。由于這種疊加類似于力的疊加原理,所以 稱這種模型 為“力學(xué)模型”。 在 實(shí)際計算時,系統(tǒng) ?。? ( 1) 任意棋子產(chǎn)生的初始控制力的大小為 64; ( 2) 黑子的影響為正、白子的影響為負(fù); ( 3) 傳播率為 1/2; ( 4) 反射率為 1; 初始控制力的大小取為 2的冪,而傳播率取為 1/2,就是各級影響值均為整數(shù),避 免了 小數(shù)運(yùn)算 。圍棋程序因要計算很多問題,宜盡量節(jié)省計算時間,故 此處只用整數(shù)運(yùn)算。 30 棋盤分塊設(shè)計 由于棋盤上的棋子的影響會因?yàn)橥噙B的棋子而加倍,故 一盤棋的局面分析還需 對棋盤上的塊棋加以分析 。連接在一起的棋子組成了一塊棋,當(dāng)然單一的一顆棋子也可以稱一塊棋。塊棋的氣是組成它的所有棋子的棋的氣總和。故在點(diǎn)的基礎(chǔ)上定義 了 Worm 數(shù)據(jù)結(jié)構(gòu) : Public Type Worm Color As Integer Size As Integer OriginX As Integer OriginY As Integer Liberities As Integer Checked As Boolean End Type 其中, Color 用于記錄 Worm 的顏色,其中黑為 +1,白為 1,空為 0; Size 用于記錄 Worm 的大小,即包含同色棋子的個數(shù); OriginX, OriginY 用于記錄 Worm 的原點(diǎn),是不同的 Worm 之間加以區(qū)分; Liberities 用于記錄該 Worm 的氣; Checked 用于標(biāo)記是否已屬于該 Worm,并以檢查過,以便于編程實(shí)現(xiàn)。 定義 分 塊的棋譜 Worm_map: Public Worm_map(1 To 19, 1 To 19) As Worm Worm 結(jié)構(gòu)是棋盤上沿著水平方向或豎直方向連接著的最大限度的一組點(diǎn),它有相同顏色,顏色可以是黑色,白色和無色(即空)。如果是非空的 Worm 定義其為串( String),空的 Worm 定義其為腔( Cavity)。 同時將同色 String 的集合定義為龍 ( Dragon),它是同顏色 String 的集合,如果同色的多個 String 在同一 Dragon, 如圖 46,圖中黑棋即為一個由三個 Color 為黑色的String 組成的 Dragon。 它們通常一起死或一起活,同時也屬于同一方的地域??梢愿鶕?jù)分析, Dragon 越小,越容易受到對方的攻擊,可初步 探討與 判定“人 機(jī)” 的著法選擇 ,但 具體著法的 實(shí)現(xiàn)還有待于進(jìn)一步深入研究。 31 圖 46 Worm圖示 度量公式 在得到任一棋盤狀態(tài)下個空點(diǎn)影響的分布圖后,可以由這些影響值 經(jīng)過計算得到一些棋盤狀態(tài)的深層信息,一些常用的度量公式如下。 設(shè) 一個點(diǎn)受到的四個控制力大小為:向上 F0,向右 F1,向下 F2,向左 F3。 總力: F=F0+F1+F2+F3 表示一個點(diǎn)受到某一方影響的度量 。 F﹥ 0:受黑的影響強(qiáng)一些; F﹤ 0:受白的影響強(qiáng)一些; F= 0: 雙方的影響基本平衡。 判定雙方的勢力范圍 對于每一點(diǎn) ,它受到的總控制力 F=F0+F1+F2+F3,當(dāng)| F|大于某一數(shù)值 n 時,將其顯示為地域。當(dāng) F﹥ 0 時受黑的影響強(qiáng)一些,該點(diǎn)能被黑方所控制,作為黑方實(shí)地,顯示為黑方地域,反之,為白棋的勢力范圍。在顯示中規(guī)定:如果該點(diǎn)所受四個方向的力均大于 0,且 F大于 20,則該點(diǎn)為黑方勢力范圍。對于白方的勢力范圍有類似的判斷規(guī)則。 雙方的勢力范圍的實(shí)現(xiàn)流程圖如圖 47。 雙 方 勢 力 范 圍 畫出顯示地域用棋盤 畫出對弈雙方棋子 行數(shù) =19 列數(shù) =19 傳播中受到 處 于 邊 或 角 反射定律 是 否 32 圖 47 局面分析實(shí)現(xiàn)流程圖 為便于雙方更清晰地了解自己或?qū)Ψ降牡赜蚯闆r,加入了“顯示黑棋地域”及“顯示白棋地域”兩個功能,設(shè)計方法與“顯示雙方地域”相似。 用數(shù)組 Map( 19, 19)記錄每一點(diǎn)勢的情況。如圖 48 為對 開局時 顯示雙方地域的 一個 實(shí)例。 可以分析出,系統(tǒng) 設(shè)計的這種力學(xué)影響模型,對棋子的傳播形式作了一 定的模擬抽象, 由力學(xué)公式與圍棋經(jīng)驗(yàn)相結(jié)合,設(shè)計了一些度量公式,用來表 示圍棋對弈中的種種狀態(tài)并將其 量化,能對對弈中的棋局進(jìn)行初步分析, 但是現(xiàn)在還不成熟,計算復(fù)雜,速度較慢。 度 量 公 式 顯 示 勢 力 畫出雙方控制地域 影 響范 圍內(nèi) 遞減定律 影響模型 結(jié) 束 否 是 是 是 否 33 圖 48 顯示雙方地域圖 利用 該系統(tǒng)使 用的 這個力學(xué)模型,可以分析一些簡單的常用走法,如 序 盤時的占角及守角,拆的位置等等,對此,可以得到 一些定性 的解釋。利用每個點(diǎn)計算得到的 影響值 可以粗略地表示雙方的勢力范圍、力量對比、棋勢強(qiáng)弱等信息。棋子產(chǎn)生的影響用控制力的形式來表示, 多個棋子的作用被看作是單個棋子作用的簡單疊加,但棋子有一定的距離時,這種疊加是有道理的,但是當(dāng)棋子相近或相連時,單純的疊加已經(jīng)不能近似實(shí)際情況。因此,盡管 模型計算復(fù)雜,仍然不能精確表示局部問題, 與 實(shí)際應(yīng)用 還有一定差距 。 [A15] 計算機(jī)圍棋中,棋子的影響模型是計算機(jī)其發(fā)展中的至關(guān)重要的一個環(huán)節(jié), 目前著名圍棋程序中使用的影響模型都只是對棋子產(chǎn)生影響的一種簡單近似,并不能反映圍棋的本質(zhì),因此雖然在程序中發(fā)揮的作用重大,但不能取得令人滿意的效果。如何使其 受 的影響模型逼近圍棋中的實(shí)際情況,是計算機(jī)圍棋界研究的重要方向之一。 [B15] 由于 棋子影響模型 的建立 , 就 將棋 子向棋盤 其它部分輻射的影響 加以 量化,從而 能夠判斷對弈雙方的控制領(lǐng)域,并據(jù)此將棋 子分塊,組成戰(zhàn)斗的基本單位 ,通過對其 塊 強(qiáng)弱的分析,產(chǎn)生攻防著點(diǎn)。 因此,可初步由“人 ― 人”圍棋對弈系統(tǒng)向“人 ― 機(jī)”圍棋對弈系統(tǒng)發(fā)展 定下方向 。 34 第五 章 圍棋對弈系統(tǒng) 功能的 運(yùn)行實(shí)例 開發(fā)出的系統(tǒng)只有經(jīng)過反復(fù)的調(diào)試和測試,確定系統(tǒng)的可靠性和安全性之后,才能投入到實(shí)際的應(yīng)用中。在系統(tǒng)的開發(fā)過程中,力求在完成模塊功能的同時就對每一個模塊進(jìn)行單元測試,盡可能早的發(fā)現(xiàn)并改正錯誤, 在完成每個子功能后,都要選擇一些典型事例來進(jìn)行子功能測試,以保證模塊的代碼設(shè)計中盡可能完成要求。 在綜合測試階段可由小組其它人員互相測試自己的模塊。 Visual Basic提供了多個調(diào)試工具, 斷點(diǎn)允許指定一個程序執(zhí)行將停止處, Debug對象的 Assert 方法允許指定一個將導(dǎo)致程序停止的條件, Step Into 和其它但不命令允許交互地運(yùn)行程序。如果需要,每次執(zhí)行一個語句或者以此執(zhí)行一個單步。當(dāng)程序停止時,可以使用 Auto Data Tips、 Immediate 窗口以及 Locals 窗口確定變量和屬性的值。而在程序運(yùn)行的過程中,可以使用 Watch 窗口查看變量和屬性的值,而當(dāng)一個過程調(diào)用另一個過程時可以使用 Call Stack 窗口。 在系統(tǒng)的設(shè)計與實(shí)現(xiàn)過程中,為了能夠及時 發(fā)現(xiàn) 并 糾正 錯誤, 在系統(tǒng)的設(shè)計過程中,在編寫好一定數(shù)量的代碼或者完成一個子功能時,要選擇一些圍棋運(yùn)行實(shí)例來進(jìn)行測試,以保證模塊設(shè)計的準(zhǔn)確性 并選擇最優(yōu)算法 。 判斷勝負(fù)功能運(yùn)行 實(shí)例 如圖 51為的一盤 終局 棋, 結(jié)果為 黑勝一 又四分之三子 。 圖 51 判斷勝負(fù)運(yùn)行實(shí)例 35 圖 52 判斷勝負(fù)結(jié)果顯示 從程序運(yùn)行的實(shí)例可以看出, 此判斷勝負(fù)子系統(tǒng)能夠正確地判斷提去死子后的終局棋局,能夠較智能地自動判斷出雙方的勝負(fù)情況。 但對如何使系統(tǒng)自動提取死子,還有待于進(jìn)一步的研究與實(shí)現(xiàn)。 局面分析 功能運(yùn)行 實(shí)例 系統(tǒng)的局面分析子功能 系統(tǒng)的局面分析子功能根據(jù)采用的影響模型及度量公式,對棋局進(jìn)行計算,可以以此分析結(jié)果與對弈雙方的棋感進(jìn)行比較。如下面的幾個圖。圖中的黑點(diǎn)代表黑棋的控制地域,或者說,在此點(diǎn)黑方占有優(yōu)勢。反之,白點(diǎn)代表白棋的占優(yōu)勢的控制地域 。 36 圖 53 布局階段局面分析 圖 54 中盤階段局面分析 從運(yùn)行實(shí)例的顯示結(jié)果可以看出,此局面分析子系統(tǒng)能夠比較正確地判斷對弈中的棋局,與棋感較為接近, 但用此思想進(jìn)行實(shí)戰(zhàn), 還有 一定的距離,有 待 進(jìn)一步的研究與 改進(jìn) ,同時,對于棋局的分塊算法,還需要提高時 間復(fù)雜性中的效率 。 37 結(jié)論與展望 圍棋對弈系統(tǒng)的研究與實(shí)現(xiàn)為進(jìn)一步 進(jìn)行 計算機(jī)博弈打下了一定的基礎(chǔ)。但該系統(tǒng)目前仍有許多問題 亟待 解決,例如,對死活庫的建立, 可以 為將來系統(tǒng)進(jìn)一步判斷死活打下基礎(chǔ),達(dá)到真正智能化,并進(jìn)一步實(shí)現(xiàn)“人 機(jī)”對弈。毋庸置疑,這是一個很有研究價值的領(lǐng)域。 多次獲得計算機(jī)圍棋世界冠軍的“手談”開發(fā)者 陳志行 教授 在《電腦圍棋門徑》中提到了設(shè)計計算機(jī)圍棋的方法:第一, 顯示棋盤棋子及其他必須顯示的內(nèi)容;設(shè)置黑白選擇、進(jìn)子及有關(guān)的功能。 第二 , 設(shè)置計算和記錄棋子串氣數(shù)的功能,賦予提子和禁著的功 能。第三 , 設(shè)計一種函數(shù),表征每個棋子對周圍的影響,用以劃分勢力范圍,作為靜態(tài)形式判斷的基礎(chǔ)。 第四 ,要 對盤上各著點(diǎn)分別試進(jìn)黑子和白子,比較進(jìn)子前后的靜態(tài)形勢,以估算該點(diǎn)的進(jìn)子價值,成為著點(diǎn)選擇的基本依據(jù)。 還要 設(shè)置棋譜記錄、計時、發(fā)聲、顯示形式對比、計算勝負(fù)等功能。 “ 首先必需完成 前兩個 部分 , 其次先解決 后兩個 部分 ,這樣程序就算是 基本 會下棋了 ” 。 [B16] 圍棋對弈系統(tǒng)的設(shè)計完成了前三個部分, 故本系統(tǒng)下一步的工作要解決第四部分的內(nèi)容, 分別 對 棋局中的 各 點(diǎn) 著 黑子和白子, 并對 落 子前后的靜態(tài) 局面 形勢 進(jìn)行 比較 , 進(jìn)而 估算該點(diǎn)的 著 子價值, 以此作 為基本依據(jù) 進(jìn)行 著點(diǎn)選擇 , 其中還包括算法優(yōu)化問題,以進(jìn)一步提高系統(tǒng)的效率。 38 注 釋 : [1
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1