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