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

用回溯法求“韓信分油”問(wèn)題所有解

2018-01-09 14:50:20裴南平
電腦知識(shí)與技術(shù) 2017年34期

裴南平

摘要:回溯法是一種常用的計(jì)算機(jī)程序設(shè)計(jì)方法。使用回溯法解決“韓信分油問(wèn)題”也稱“泊松分酒問(wèn)題”,在算法中保存每一步執(zhí)行的中間結(jié)果,程序擴(kuò)展前,判斷程序是否進(jìn)入“循環(huán)圈”,程序一旦進(jìn)入“循環(huán)圈”,就不需要往下擴(kuò)展,開(kāi)始回溯了。如果能合理設(shè)計(jì)擴(kuò)展的條件,防止程序陷入“循環(huán)圈”可以提高程序的效率。

關(guān)鍵詞:算法;回溯法;泊松分酒;循環(huán)圈

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)34-0248-03

Abstract: Backtracking is a commonly used method of computer programming. The use of backtracking method to solve the "Han oil" also known as the " Poisson wine problem", save every step of execution of the intermediate results in the algorithm, the expansion of the program before the procedure to determine whether to enter the "circle", once the program into the circle, do not need to expand down and start backtracking. if can design reasonable expansion conditions to prevent the program into a "circle" can improve the efficiency of the program.

Key words: algorithm; backtracking method; Poisson wine; cycle ring

1 背景

韓信是家喻戶曉的漢朝名將,聰明過(guò)人。傳說(shuō)有一天他騎馬路過(guò)街市,見(jiàn)有二人爭(zhēng)吵,下馬細(xì)問(wèn),原來(lái)是一個(gè)賣(mài)油的只帶了十斤、七斤、五斤三個(gè)油壺,十斤油壺裝滿了油,七斤、五斤油壺空的,沒(méi)有帶秤具,對(duì)方只想買(mǎi)一半,正為無(wú)法分出五斤油成交爭(zhēng)執(zhí)。韓信略加思考,立馬給出了解決辦法。

這其實(shí)是一個(gè)利用二個(gè)空的小容器將一個(gè)滿的大容器均分的問(wèn)題。法國(guó)數(shù)學(xué)家、物理學(xué)家和力學(xué)家泊松曾提出并研究該類問(wèn)題,所以也稱“泊松分酒問(wèn)題”。

2 解題算法分析

計(jì)算機(jī)解決該類問(wèn)題當(dāng)然不需要用泊松研究的數(shù)學(xué)方法,只要利用自身強(qiáng)大快速的計(jì)算能力將所有的情況遍歷,從而找出問(wèn)題的所有解。

“韓信分油問(wèn)題”的解是一步一步的步驟,例如韓信當(dāng)時(shí)給出的分油辦法如圖1所示。

韓信的方法總共八步,當(dāng)然解題方法不止一種,而且步驟可能是八步,也可能是九步、十步、...,由于每個(gè)解的步驟不相同,使用普通的窮舉法無(wú)法實(shí)現(xiàn),只能使用回溯法來(lái)窮舉實(shí)現(xiàn)。

我們用a代表十斤油壺,b代表七斤油壺,c代表三斤油壺。進(jìn)行下一步操作共有如下六種可能:

1) a倒入b;

2) a倒入c;

3) b倒入a;

4) b倒入c;

5) c倒入a;

6) c倒入b。

求解的每一步都市這六種可能的窮舉,就這樣一部一部擴(kuò)展,直到某個(gè)油壺正好是要分的一半五斤油,就找到了一個(gè)解。

不過(guò)擴(kuò)展到哪一步為止?然后回溯,正式文本論述的關(guān)鍵所在。普通的回溯法都是擴(kuò)展到某一固定層數(shù)就開(kāi)始回溯。分油問(wèn)題因?yàn)槊總€(gè)解步數(shù)不相同,所以無(wú)法擴(kuò)展到某一固定步數(shù)就開(kāi)始回溯。當(dāng)然可以規(guī)定到了足夠多的n步開(kāi)始回溯,但是n就不好定了,太小了可能漏掉解,太大了如n=50,就要窮舉6的50次方,費(fèi)事太長(zhǎng),普通的電腦短時(shí)間無(wú)法找到所有解。

當(dāng)進(jìn)行到某一步時(shí)三個(gè)油壺的油量與前面經(jīng)歷的某一步相同,可以稱之為進(jìn)入“循環(huán)圈”。一步一步擴(kuò)展下去,如果沒(méi)有找到解停下并回溯,肯定會(huì)進(jìn)入“循環(huán)圈”。一旦進(jìn)入“循環(huán)圈”,就不需要往下擴(kuò)展,就可以回溯了。這樣做,不但合理地設(shè)定了擴(kuò)展的終止條件,而且大大提高了求解的效率,因?yàn)樘^(guò)了很多無(wú)聊的步驟,如一個(gè)油壺倒入另一油壺,立馬又倒回來(lái)。

3 C語(yǔ)言完整程序

4 結(jié)束語(yǔ)

通過(guò)運(yùn)行上面程序,可以求出“韓信分油問(wèn)題”共有十七個(gè)不同的解,最長(zhǎng)步驟的解要十七步,最短步驟的解只需要八步,也就是韓信給出的辦法。

參考文獻(xiàn):

[1] 李青, 張軍, 張學(xué)軍. 解決排班問(wèn)題的多目標(biāo)優(yōu)化模型及算法研究[J]. 北京航空航天大學(xué)學(xué)報(bào), 2003(10).

[2] 謝玉庚. 用回溯法編程求解愛(ài)因斯坦謎題[J]. 電腦與電信, 2016(10).

[3] 徐永琳, 巫青山, 林川. 遞歸回溯法求解整數(shù)線性規(guī)劃及MATLAB實(shí)現(xiàn)[J]. 蘭州文理學(xué)院學(xué)報(bào):自然科學(xué)版, 2014(7).endprint

主站蜘蛛池模板: 嫩草国产在线| 久久狠狠色噜噜狠狠狠狠97视色 | 狠狠色综合网| 久综合日韩| 国产成人综合网| 国内99精品激情视频精品| 国产麻豆精品久久一二三| 美女高潮全身流白浆福利区| 国产成人1024精品| 亚洲IV视频免费在线光看| 国产91小视频| 超碰91免费人妻| 国产视频 第一页| 激情无码字幕综合| 无码丝袜人妻| 国产91高清视频| 国产91丝袜在线观看| 视频国产精品丝袜第一页| 国产精品天干天干在线观看 | 久久国产精品影院| 亚洲国产精品一区二区第一页免| AV不卡在线永久免费观看| 亚洲无码视频一区二区三区| 亚洲综合狠狠| 国产精品女熟高潮视频| 欧美激情网址| 国模在线视频一区二区三区| 丰满少妇αⅴ无码区| 亚洲国语自产一区第二页| 精品国产网| 日本午夜影院| 国产精品七七在线播放| 婷婷五月在线视频| 久草中文网| 免费人成网站在线高清| 亚洲美女一区二区三区| 日韩在线欧美在线| 无码网站免费观看| 精品亚洲国产成人AV| 久久精品日日躁夜夜躁欧美| 国产熟女一级毛片| 色悠久久久久久久综合网伊人| 成人综合在线观看| 在线不卡免费视频| 国产美女精品在线| 999精品在线视频| 国产精品爽爽va在线无码观看 | 日韩欧美国产精品| 欧美日韩国产在线人成app| 人妻精品久久无码区| 精品剧情v国产在线观看| 亚洲成人在线免费| 欧美在线三级| 国产一在线| 国产丝袜无码一区二区视频| 亚洲人视频在线观看| 五月婷婷精品| 久久五月天国产自| 精品国产福利在线| 性色一区| 婷婷中文在线| 国产在线拍偷自揄拍精品| 欧美日韩国产在线观看一区二区三区| 欧美成人二区| 无码日韩视频| 一本大道无码日韩精品影视| 久久五月天综合| 亚洲人成网7777777国产| 少妇露出福利视频| 亚洲精品动漫| 热久久这里是精品6免费观看| 伊人婷婷色香五月综合缴缴情| 国产一国产一有一级毛片视频| 99在线国产| 2020久久国产综合精品swag| 国产成人精品免费av| 9丨情侣偷在线精品国产| 亚欧美国产综合| 国产区在线观看视频| 手机在线国产精品| 免费三A级毛片视频| 视频二区亚洲精品|