黃旭陽(yáng) 馮玉松 徐佳璇 汪源 三亞學(xué)院 理工學(xué)院
隨著時(shí)代的發(fā)展,人工智能逐漸進(jìn)入人們的視野當(dāng)中,許許多多的人工智能產(chǎn)品呈現(xiàn)在人們的眼前。我國(guó)正值工業(yè)化、城鎮(zhèn)化、信息化、農(nóng)業(yè)現(xiàn)代化的攻堅(jiān)階段,迫切需要加快推動(dòng)人工智能在國(guó)民經(jīng)濟(jì)社會(huì)各行業(yè)、各領(lǐng)域的創(chuàng)新應(yīng)用,促進(jìn)產(chǎn)業(yè)提質(zhì)增效,改善人民生活水平,切實(shí)解決經(jīng)濟(jì)運(yùn)行的重大結(jié)構(gòu)性失衡人機(jī)對(duì)戰(zhàn)五子棋保留了原始的實(shí)體五子棋的下棋方式,同時(shí)加入了人工智能來(lái)與玩家進(jìn)行對(duì)抗。人機(jī)對(duì)戰(zhàn)五子棋借助于研究具有典型意義的五子棋對(duì)戰(zhàn)的基礎(chǔ)上,來(lái)初步的對(duì)人工智能進(jìn)行研究和探索,讓人通過(guò)與計(jì)算機(jī)之間的相互交互體驗(yàn)到人與人對(duì)弈的真實(shí)感覺(jué)。
本設(shè)計(jì)是通過(guò)電子技術(shù)、LabVIEW技術(shù)、投影技術(shù)來(lái)設(shè)計(jì)的投影按鍵顯示五子棋棋盤,主要電子棋盤模塊、計(jì)時(shí)器模塊、LabVIEW程序、投影系統(tǒng)組成。
2.1 .1 電子棋盤模塊
將棋盤分為8*8的方格,在每個(gè)棋盤的方格內(nèi),挖一個(gè)圓孔來(lái)放置按鍵輕觸開(kāi)關(guān),從而構(gòu)成8*8的開(kāi)關(guān)陣列,這樣一來(lái),每個(gè)棋格下面都有一個(gè)的開(kāi)關(guān)元件,當(dāng)某一棋格為當(dāng)前選手落子的位置,選手通過(guò)按動(dòng)棋格內(nèi)部的輕觸開(kāi)關(guān),該棋格處的輕觸開(kāi)關(guān)在選手按下時(shí)處于閉合狀態(tài),則此刻該棋格內(nèi)部的電路接通給予單片一個(gè)高電平信號(hào),單片機(jī)通過(guò)識(shí)別高電平來(lái)源判斷出選手落子與棋盤上的準(zhǔn)確位置,從而達(dá)到棋子于棋盤上位置識(shí)別的目的。當(dāng)然本發(fā)明采用的是輕觸開(kāi)關(guān),當(dāng)選手抬手時(shí)開(kāi)關(guān)也跟著斷開(kāi)電路。本棋盤在人機(jī)對(duì)弈模式下,棋盤僅用于選手下棋落子,選手無(wú)需幫助電腦下棋按鍵,電腦下棋的位置回直接通過(guò)投影儀顯示在棋盤上無(wú)需按鍵。
2.1 .2 計(jì)時(shí)器模塊
棋盤的右側(cè)裝有兩個(gè)LCD1602顯示屏,兩個(gè)顯示屏分別連接單片機(jī)上構(gòu)成兩個(gè)計(jì)時(shí)顯示模塊,每一棋局開(kāi)始時(shí)雙方選手都有60分鐘的時(shí)間用于思考棋局,所以雙方剛開(kāi)局時(shí)兩個(gè)計(jì)時(shí)器顯示都為60分鐘,當(dāng)某一選手處于下棋一方時(shí)計(jì)其對(duì)方的計(jì)時(shí)器處于倒計(jì)時(shí)暫停而下棋方的計(jì)時(shí)器開(kāi)始倒時(shí),雙方計(jì)時(shí)器每一棋局結(jié)束后計(jì)時(shí)器才重新刷新計(jì)時(shí),如果某一計(jì)時(shí)器顯示時(shí)間剩余為零則電子棋盤進(jìn)行報(bào)警則最先用完時(shí)間的選手對(duì)局失敗。
2.1 .3 開(kāi)機(jī)鍵及暫停鍵模塊
在電子棋盤的左邊裝有一個(gè)LCD1602顯示屏連接單片機(jī)上,其作用是用于顯示計(jì)數(shù)棋盤上黑棋子數(shù)與白棋子數(shù),電路如圖五。棋盤上裝有開(kāi)始鍵和暫停鍵,當(dāng)按下開(kāi)始鍵所有的模塊與系統(tǒng)正式開(kāi)始啟動(dòng)運(yùn)轉(zhuǎn)。暫停鍵用于比賽過(guò)程中的停盤現(xiàn)象,按下暫停鍵整個(gè)棋局則受到保護(hù)雙方的計(jì)時(shí)器停止倒計(jì)時(shí)并且選手無(wú)法再改變棋局直到再次按下暫停鍵后整個(gè)棋局才再次開(kāi)始。
在人機(jī)對(duì)弈下電腦程序主要通過(guò)對(duì)電子棋盤傳送的棋盤信息進(jìn)行接收并處理,以此來(lái)獲取棋盤上棋子的分布信息,進(jìn)而通過(guò)算法,給出計(jì)算機(jī)下一步要行棋的位置,并將此信息傳送到投影儀,讓投影儀投影出最新時(shí)刻的棋盤上棋子分布情況進(jìn)而達(dá)到實(shí)現(xiàn)落子、提子及取子的過(guò)程。在本次設(shè)計(jì)過(guò)程中,電腦程序的開(kāi)發(fā)選用了LabVIEW圖形化計(jì)算機(jī)語(yǔ)言來(lái)開(kāi)發(fā)。2.在人人對(duì)弈下,電腦程序包括上述1中的基本功能的前提下,還增加判斷落子者的身份的程序。根據(jù)五子棋的游戲規(guī)則,黑方為先手棋,所以全局中下棋為奇數(shù)步的為黑棋選手所下,偶數(shù)步的為白棋選手所下,根據(jù)算法判斷當(dāng)前落子的步數(shù)的奇偶就可以判斷落子者的身份,從而計(jì)算機(jī)繪制棋子分布圖發(fā)送指令給投影儀并投影到棋盤上顯示出黑棋還是白棋。
投影儀設(shè)計(jì)的目的是為了實(shí)現(xiàn)A.無(wú)棋子化五子棋;B.實(shí)現(xiàn)棋子的落子、提子、棋子回收的動(dòng)作過(guò)程;C.實(shí)現(xiàn)顯示棋子顏色顯示。其實(shí)現(xiàn)功能的過(guò)程如下步驟:1.選手在棋盤上選定將要下棋的位置,通過(guò)按下棋盤上的輕觸開(kāi)關(guān),給予單片機(jī)一個(gè)高電平信號(hào),單片機(jī)通過(guò)計(jì)算出選手所下棋子于棋盤上的具體位置,并將計(jì)算結(jié)果傳輸?shù)接?jì)算機(jī)里。2.接著上位機(jī)對(duì)電子棋盤傳輸?shù)钠灞P信息進(jìn)行接收處理,計(jì)算獲得棋盤上棋子的分布信息,并將棋盤上的棋子分布信息圖傳輸給投影儀。3.投影儀將上位機(jī)中繪制的棋盤上的棋子分布信息圖投影到棋盤上層面幕布上。投影儀的放置位置及固定:投影儀固定于棋盤的左側(cè)通過(guò)高精度機(jī)動(dòng)360度可連續(xù)旋轉(zhuǎn)固定架對(duì)其固定,使用者可以準(zhǔn)確的調(diào)節(jié)投影儀的位置及高度知道最佳投影位置。
棋盤的具體電路如圖一所示:具體每個(gè)區(qū)的功能劃分為A區(qū)為8*8的按鍵輕觸開(kāi)關(guān),功能是根據(jù)棋格里開(kāi)關(guān)是否連接或斷開(kāi)判斷有無(wú)棋子;B區(qū)為電子棋盤的信息處理區(qū),該區(qū)有一定的計(jì)算能力,能完成對(duì)A區(qū)輸出信號(hào)的接收和進(jìn)一步處理,并通過(guò)串行口,將最后處理的棋盤信息數(shù)據(jù)發(fā)送到上位機(jī),即計(jì)算機(jī),方便計(jì)算機(jī)的進(jìn)一步處理。最終,電子棋盤完成了棋子的位置識(shí)別的功能。整體效果圖如圖二所示。
圖一 整體電路圖
圖二 整體效果圖
人機(jī)對(duì)戰(zhàn)五子棋區(qū)別于傳統(tǒng)的圖像識(shí)別的技術(shù),通過(guò)運(yùn)用物理特性和電路特性對(duì)棋子的位置進(jìn)行識(shí)別和確定,通過(guò)核心運(yùn)算系統(tǒng)對(duì)信號(hào)的處理完成上述操作。對(duì)人工智能算法的解決方案,針對(duì)五子棋特點(diǎn)對(duì)程序算法進(jìn)行優(yōu)化,提高整體的運(yùn)轉(zhuǎn)效率,保證整體的性能指標(biāo)。對(duì)電路進(jìn)行優(yōu)化設(shè)計(jì)確保硬件系統(tǒng)在運(yùn)行的時(shí)候能夠有良好的穩(wěn)定性和可靠性。