999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

LabVIEW軟件設(shè)計(jì)的金字塔數(shù)獨(dú)求解系統(tǒng)

2021-11-03 06:41:58三亞學(xué)院理工學(xué)院繆克俊
電子世界 2021年19期
關(guān)鍵詞:設(shè)計(jì)

三亞學(xué)院理工學(xué)院 繆克俊

三亞市第一中學(xué) 黃麗萍

三亞學(xué)院理工學(xué)院 汪 源 劉永旗

本文基于LabVIEW軟件設(shè)計(jì)了一款求解9×9金字塔數(shù)獨(dú)的系統(tǒng)。在對9×9金字塔數(shù)獨(dú)解題規(guī)則分析的基礎(chǔ)上,建立求解9×9金字塔數(shù)獨(dú)的數(shù)學(xué)模型,在數(shù)學(xué)模型的基礎(chǔ)上采用回溯排除算法設(shè)計(jì)一套求解金字塔數(shù)獨(dú)的算法,并利用LabVIEW軟件進(jìn)行程序的設(shè)計(jì),并得出9×9金字塔數(shù)獨(dú)的求解結(jié)果。

數(shù)獨(dú)起源于18世紀(jì)的瑞士,由著名數(shù)學(xué)家歐拉發(fā)明的拉丁方陣是數(shù)獨(dú)前身,拉丁方陣中每一行和每一列都是由不重復(fù)的n個(gè)數(shù)字或者字母組成的,以拉丁方陣而變更出現(xiàn)在的數(shù)獨(dú),與現(xiàn)在的數(shù)獨(dú)相比少了每一個(gè)宮不重復(fù)的規(guī)則。

標(biāo)準(zhǔn)9×9數(shù)獨(dú)有6 670 903 752 021 072 936 960個(gè)組合,數(shù)獨(dú)游戲難度的差異根據(jù)數(shù)獨(dú)題目提示數(shù)量(N)以及提示數(shù)量(N)的擺放來決定的,每少一個(gè)提示數(shù)量(N),其出題難度會隨之提高。根據(jù)權(quán)威機(jī)構(gòu)認(rèn)證,目前發(fā)現(xiàn)的最少提示數(shù)9×9標(biāo)準(zhǔn)數(shù)獨(dú)為17個(gè)提示。并且在標(biāo)準(zhǔn)版數(shù)獨(dú)以外,數(shù)學(xué)家們在數(shù)獨(dú)本質(zhì)不變的情況下,去對規(guī)則、表格進(jìn)行變形創(chuàng)造出各種有趣的變形式數(shù)獨(dú),9×9金字塔數(shù)獨(dú)就是其中一種,棋盤如圖1所示。

圖1 9×9金字塔數(shù)獨(dú)棋盤

本文利用圖形化編程軟件LabVIEW進(jìn)行金字塔數(shù)獨(dú)的求解,在金字塔數(shù)獨(dú)解題規(guī)則分析的基礎(chǔ)上,建立求解9×9金字塔數(shù)獨(dú)的數(shù)學(xué)模型,在數(shù)學(xué)模型的基礎(chǔ)上采用回溯排除算法設(shè)計(jì)一套求解金字塔數(shù)獨(dú)的算法,并在LabVIEW軟件中編程實(shí)現(xiàn)求解算法,讓計(jì)算機(jī)自動進(jìn)行9×9金字塔數(shù)獨(dú)的求解。

1 設(shè)計(jì)方案

9×9金字塔數(shù)獨(dú)棋盤如圖1所示。其解題規(guī)則為:棋盤中每個(gè)3×3宮內(nèi)填寫1-9的自然數(shù)不重復(fù);且棋盤中每一行填寫1-9的自然數(shù)不重復(fù);且棋盤中每一列填寫1-9的自然數(shù)不重復(fù);且棋盤中每個(gè)黃色金字塔區(qū)域(9個(gè)空)中填寫1-9的自然數(shù)不重復(fù)。針對計(jì)算機(jī)快速運(yùn)算的特點(diǎn),本文采用回溯排除算法進(jìn)行算法設(shè)計(jì)。

回溯排除法是一種搜索算法,其基本思路為:在一個(gè)問題中,根據(jù)題意給出的邊界條件劃定出所有可能解的范圍,根據(jù)題意確定出約束條件。利用計(jì)算機(jī)程序順次在所有可能解中利用約束條件進(jìn)行排除不可能的解,搜索時(shí)按照深度搜索的方式進(jìn)行。即在第1個(gè)需要填寫的單元格[i,j](i,j=1,2,…,9)內(nèi)選擇滿足約束條件的最小可能解Ai,j,1,然后以Ai,j,1為出發(fā)點(diǎn),利用約束條件搜索第2個(gè)需要填寫的單元格[k,l](k,l=1,2,…,9)的最小可能解Ak,l,2。如果搜索到Ak,l,2,則繼續(xù)搜索第3個(gè)需要填寫的單元格的最小可能解。如果第N個(gè)單元格沒有滿足約束條件的解,則返回第N-1個(gè)單元格,搜索比原最小可能解大且滿足約束條件的最小可能解。依次類推,直到所有單元格的可能解都被找到,則得到了該問題的一個(gè)完整解。

對于9×9金字塔數(shù)獨(dú),約束條件包括“行排除”、“列排除”、“宮排除”和“金字塔排除”,其中“行排除”的具體條件是:當(dāng)前搜索的單元格中可以填寫的數(shù)字必須和該單元格所在行的其他8個(gè)單元格中已填的數(shù)字不重復(fù)。其他約束條件可以類似寫出,不再贅述。其中需要強(qiáng)調(diào)的是,“金字塔排除”的約束條件只在搜索的單元格處于某個(gè)金字塔范圍內(nèi)時(shí)才使用。回溯排除法的算法流程圖如圖2所示。

圖2 回溯排除法設(shè)計(jì)流程圖

2 LabVIEW程序設(shè)計(jì)

LabVIEW軟件是通過數(shù)據(jù)流編程和圖形化編程實(shí)現(xiàn)編程設(shè)計(jì),數(shù)據(jù)流編程也被稱為G語言,是一種數(shù)據(jù)流編程語言。通過導(dǎo)線連接不同功能的函數(shù)或節(jié)點(diǎn),圖形化的程序框圖結(jié)構(gòu)決定程序如何執(zhí)行。LabVIEW的程序有三個(gè)組成部分:程序框圖(Block Diagram)、前面板(Front Panel)和圖標(biāo)/連接器(Icon/Connector)。

標(biāo)準(zhǔn)數(shù)獨(dú)表格一共擁有81個(gè)表格,從第1個(gè)單元格開始到最后1個(gè)單元格,需要將數(shù)獨(dú)棋盤第1個(gè)單元格開始的每一個(gè)單元格內(nèi)的數(shù)值進(jìn)行識別,識別它是否為已填數(shù)字,已填用1表示,未填用0表示。若為1說明該單元格是有已填數(shù)字,執(zhí)行“單元格+1”步驟,再進(jìn)行下一單元格的判斷;若為0說明該單元格是需要去填入數(shù)值的單元格,在該單元格使用“行排除法”、“列排除法”、“宮排除法”和“金字塔排除法”在整個(gè)數(shù)獨(dú)內(nèi)進(jìn)行判斷,來篩選可填入的1-9之間的最小數(shù)值。該單元格填入排除法篩選出可填入的最小數(shù)值,執(zhí)行“單元格位置+1”步驟,再進(jìn)行下一單元格的判斷。若發(fā)生錯(cuò)誤的情況,即該單元格無法填入1-9之間的任意數(shù)字時(shí),可知該單元格的前序單元格中填入最小數(shù)字并不是這個(gè)數(shù)獨(dú)的解,需要將往前推算,執(zhí)行“單元格位置-1”步驟,并進(jìn)行回溯來判斷之前填入數(shù)字的正確性。依次類推,直到最后一個(gè)單元格可以填入1-9之間的某個(gè)數(shù)字,該結(jié)果即為該數(shù)獨(dú)的解,但該解不一定是唯一解。

在LabVIEW程序中,數(shù)獨(dú)由數(shù)組形式進(jìn)行呈現(xiàn),如圖3所示。其中數(shù)組元素是“圖片下拉列表”控件,控件中插入0-9的10張圖片,索引數(shù)值分別為0-9的數(shù)字。其中9個(gè)紅色線劃分的區(qū)域即為9個(gè)宮,4個(gè)黃色線劃分的區(qū)域即為4個(gè)金字塔。

圖3 前面板中的數(shù)獨(dú)

根據(jù)LabVIEW設(shè)計(jì)算法流程圖可知,一個(gè)標(biāo)準(zhǔn)數(shù)獨(dú)表格一共擁有81個(gè)單元格,以單元格位置小于81為條件建立求解是否完成的判斷條件,單元格位置小于81即該數(shù)獨(dú)還未破解;當(dāng)單元格位置大于等于81時(shí),即該單元格已經(jīng)通過推算將81個(gè)單元格填入解題對應(yīng)數(shù)字,數(shù)獨(dú)求解過程完成,顯示數(shù)獨(dú)答案。

控件傳輸數(shù)據(jù)會從第0個(gè)單元格開始,因此對于每個(gè)單元格所需要去解析該單元格所在的行列進(jìn)行分析。對單元格位置進(jìn)行商與余數(shù),公式如下:

在此基礎(chǔ)上需要對未填入數(shù)字的單元格進(jìn)行添加數(shù)字。初始狀態(tài)下未填寫數(shù)字的單元格內(nèi)數(shù)字為0,先需要建立子VI來添加該單元格的數(shù)值,輸入端為控件和行、列,輸出端為控件,單元格所得到的行、列來確定該單元格位置,使用元素同址操作結(jié)構(gòu)選定數(shù)獨(dú)數(shù)組、數(shù)獨(dú)數(shù)組單元格位置、該單元格的值。

根據(jù)該單元格所加的數(shù)值進(jìn)行數(shù)獨(dú)規(guī)則的判斷,分別為“行排除法”、“列排除法”、“宮排除法”和“金字塔排除法”。下面以“宮排除法”為例進(jìn)行說明。

宮排除法是需要選中該單元格所包含的宮(3×3)區(qū)域,因此先需要將控件所占的9x9區(qū)域調(diào)整為該單元格所包含的宮(3×3)區(qū)域。在行和列數(shù)值選擇中,有著采集數(shù)獨(dú)9個(gè)宮數(shù)據(jù)的區(qū)別,見表1所示。

表1 “宮排除法”單元格行列對應(yīng)的宮

利用條件結(jié)構(gòu)將行列所在的宮定義好宮第一個(gè)單元格,對單元格所對應(yīng)宮進(jìn)行數(shù)獨(dú)數(shù)據(jù)采集,篩選出宮內(nèi)沒有出現(xiàn)的1-9之間的最小數(shù),并結(jié)合“行排除法”、“列排除法”和“金字塔排除法”的結(jié)果,最終確定可以填入的最小數(shù)。

若一個(gè)單元格通過排除法所得1-9數(shù)值都無法填入,則是該單元格前面序列的單元格填入數(shù)值是錯(cuò)誤的,需要以當(dāng)前單元格位置往前推算,執(zhí)行“單元格位置-1”步驟,并進(jìn)行回溯來判斷之前填入數(shù)字的正確性。依次類推,直到最后一個(gè)單元格可以填入1-9之間的某個(gè)數(shù)字。結(jié)果如圖4所示。

圖4 金字塔數(shù)獨(dú)求解結(jié)果

在標(biāo)準(zhǔn)9×9數(shù)獨(dú)求解的基礎(chǔ)上,基于LabVIEW軟件,設(shè)計(jì)一款求解9×9金字塔數(shù)獨(dú)系統(tǒng),達(dá)到求解數(shù)獨(dú)的目的。在對9×9金字塔數(shù)獨(dú)解題規(guī)則分析的基礎(chǔ)上,利用回溯排除法進(jìn)行了求解金字塔數(shù)獨(dú)的算法設(shè)計(jì),在設(shè)計(jì)算法的基礎(chǔ)上利用LabVIEW軟件進(jìn)行程序的設(shè)計(jì),通過對單元格進(jìn)行“行排除法”、“列排除法”、“宮排除法”和“金字塔排除法”的判斷,最終得出9×9金字塔數(shù)獨(dú)的求解結(jié)果。

猜你喜歡
設(shè)計(jì)
二十四節(jié)氣在平面廣告設(shè)計(jì)中的應(yīng)用
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設(shè)計(jì)
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設(shè)計(jì)
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設(shè)計(jì)
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設(shè)計(jì)萌到家
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設(shè)計(jì)到“設(shè)計(jì)健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 亚洲黄网视频| 狂欢视频在线观看不卡| 国产呦视频免费视频在线观看| 亚洲午夜福利在线| 污网站免费在线观看| 最新国产精品鲁鲁免费视频| 亚洲人成亚洲精品| 亚洲精品国产自在现线最新| 一级毛片在线播放免费| 日韩AV手机在线观看蜜芽| 亚洲一区毛片| 5388国产亚洲欧美在线观看| 中文字幕在线日本| 午夜限制老子影院888| 无码AV日韩一二三区| 欧美综合激情| 精品国产电影久久九九| 国产成人8x视频一区二区| 国产午夜精品一区二区三区软件| 亚洲欧美日韩另类| 国产www网站| 国产乱子精品一区二区在线观看| 91偷拍一区| 中文字幕伦视频| 亚洲成a∧人片在线观看无码| 无码国内精品人妻少妇蜜桃视频| 国产麻豆精品在线观看| 91午夜福利在线观看精品| 亚洲国产看片基地久久1024| 五月婷婷丁香综合| 成人免费黄色小视频| 国产精品美人久久久久久AV| 国产在线啪| 2022精品国偷自产免费观看| 天天综合亚洲| 欧美日本二区| 一区二区三区国产精品视频| 亚洲三级色| 亚洲无码高清免费视频亚洲| 亚洲天堂视频在线播放| 中文字幕亚洲乱码熟女1区2区| 亚洲无线观看| 亚洲综合一区国产精品| 国产在线第二页| 92午夜福利影院一区二区三区| 成人亚洲国产| 国产九九精品视频| 久久男人视频| 人人澡人人爽欧美一区| 在线播放精品一区二区啪视频| 夜夜操国产| 午夜精品福利影院| 怡春院欧美一区二区三区免费| 米奇精品一区二区三区| 极品国产在线| 国产丝袜啪啪| 亚洲欧美日韩精品专区| 伊人婷婷色香五月综合缴缴情| 久久精品人人做人人爽电影蜜月 | 亚洲经典在线中文字幕 | 爆乳熟妇一区二区三区| 国产欧美精品一区aⅴ影院| 免费啪啪网址| 99免费在线观看视频| 亚洲IV视频免费在线光看| 欧美国产综合色视频| 免费观看欧美性一级| 国产性猛交XXXX免费看| 国产在线观看人成激情视频| 一级毛片网| 看国产毛片| 久久亚洲中文字幕精品一区| 干中文字幕| 免费国产黄线在线观看| 欧美色亚洲| 欧美区日韩区| 日韩在线永久免费播放| 中文字幕第4页| 国产色网站| 国产在线视频欧美亚综合| 国产女同自拍视频| 再看日本中文字幕在线观看|