• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      解空間樹在算法設(shè)計中的不同形式研究

      2017-03-30 05:07:57方宇彤
      科學(xué)中國人 2017年9期
      關(guān)鍵詞:二叉樹子集皇后

      方宇彤

      河北大學(xué)計算機科學(xué)與技術(shù)學(xué)院

      解空間樹在算法設(shè)計中的不同形式研究

      方宇彤

      河北大學(xué)計算機科學(xué)與技術(shù)學(xué)院

      本文介紹了解空間樹的概念,解空間樹分為子集樹和排列樹,子集樹又分為二叉樹和多支樹。通過幾個問題介紹了解空間樹在不同算法中的應(yīng)用,在旅行售貨員等多元問題中,本文提出了解空間樹的另一種可行的結(jié)構(gòu)并對此展開討論。

      子集樹;排列樹;回溯法;解空間

      1 樹與解空間樹

      1.1 樹的概念

      樹(Tree)的定義[1]是:n(n≥0)個結(jié)點構(gòu)成的有限集合。最上層節(jié)點稱為根節(jié)點,除去根節(jié)點之外的其余節(jié)點可以分為許多互不相交的子集,每一個子集又是一棵樹,稱為根的子集樹。

      1.2 解空間樹的概念

      1.2.1 解向量:一個問題的解,能夠表示成一個n元式(X1,X2... Xn)的形式,叫做解向量。

      1.2.2 解空間:要了解什么是解空間樹,首先要明確什么是解空間。解空間就是一個算法執(zhí)行后,由解向量組成的集合。即解空間是一個集合。

      1.2.3 解空間樹:在確定了可行的、易于搜索的解空間后,將解空間用二叉樹或樹的形式表示,即為問題的解空間樹。

      1.2.4 分類

      解空間樹[2]可以分為子集樹和排列樹兩種。其中子集樹是如下圖左側(cè),當所給的問題是從n個元素的集合S中找出滿足某種性質(zhì)的子集時,相應(yīng)的解空間樹成為子集樹,子集樹通常有2^n個葉結(jié)點。如0-1背包問題。

      排列樹如下圖右側(cè)所示,當所給的問題是確定n個元素滿足某種性質(zhì)的排列時,相應(yīng)的解空間樹稱為排列樹。排列樹通常有n!個葉節(jié)點。如旅行售貨員問題。

      圖1 子集樹和排列樹

      2 解空間樹在算法中的應(yīng)用

      2.1 子集樹的應(yīng)用

      2.1.1 二叉樹—01背包問題

      問題描述:

      物品重量w[]={16,14,25};物品價值p[]={45,23,37};背包重量上界為42;求不超過背包可裝重量的最大價值物品組合。

      解:其解空間樹如圖1左圖所示,對于每一個節(jié)點,它只有兩種狀態(tài):屬于/不屬于物品組合,每一處分叉代表一個物品是否加入組合。A到BC結(jié)點表示物品1是否加入書包,B到DE結(jié)點表示在物品1裝入的情況下物品2的裝入情況。因此,求解過程可以看作對三個物品進行取舍的過程。共有八種解,分別計算,滿足總重小于c的解,并計算價值和,求出最優(yōu)解。

      2.1.2 多叉樹換錢問題

      問題描述:一元錢,可換1角、2角、5角的硬幣,可以有哪些方案?

      解:與背包問題類似,本題的w[]={1,2,5};c=10;最后求解得有10種方案。區(qū)別在于每種硬幣可取多次,所以對應(yīng)的解空間樹是多枝樹,每一個結(jié)點分出1、2、5三枝。屬于多元問題。

      2.2 排列樹的應(yīng)用

      n后問題:

      為了簡便,這里討論4皇后問題,在4*4的棋盤上放置4個皇后,每兩個皇后不能在同一行或同一列或同一斜線。0和1層之間的區(qū)域表示第一行的皇后放置在第幾列,后邊同理。

      第i行第j列的皇后,安排的下一個位于k行,x[k]列。則要滿足要求有i≠k,j≠x[k],│i-k│≠│j-x[k]│。若下標從0開始,可得出(1,3,0,2)第一行第二列,第二行第四列,第三行第一列,第四行第三列各放一個皇后和(2,0,3,1)兩組解。

      3 對新形式解空間樹的思考

      3.1 一個節(jié)點代表一個元素的解空間樹

      通過對許多例題的思考,本文提出了一種解空間樹結(jié)構(gòu)的改變,下面以大家熟知的旅行售貨員問題為例作出解釋。

      在傳統(tǒng)的旅行售貨員問題中,有這樣一個邊的帶權(quán)圖(圖2),為使走的總路程最短,得出圖3解空間樹。

      圖3 解空間樹

      圖2 帶權(quán)圖

      用隊列式(FIFO)分支限界法解此題,以廣度優(yōu)先的方式搜索解空間樹。每一個活結(jié)點一旦成為擴展結(jié)點,就一次性產(chǎn)生其所有兒子結(jié)點。導(dǎo)致不可行解或非最優(yōu)解的兒子結(jié)點被舍棄,其余兒子結(jié)點被加入活結(jié)點表中。此后從活結(jié)點表中取下一結(jié)點成為當前擴展結(jié)點,并重復(fù)上述擴展過程。得出兩個最優(yōu)解(1,3,2,4,1)和(1,4,2,3,1)路程都是25。

      提出一個大膽的設(shè)想,若把這四個地點放在解空間樹的節(jié)點處是否可行呢?下面進行驗證。其改進后的解空間樹如圖4。

      猜你喜歡
      二叉樹子集皇后
      由一道有關(guān)集合的子集個數(shù)題引發(fā)的思考
      CSP真題——二叉樹
      電腦報(2022年37期)2022-09-28 05:31:07
      拓撲空間中緊致子集的性質(zhì)研究
      二叉樹創(chuàng)建方法
      關(guān)于奇數(shù)階二元子集的分離序列
      遇皇后
      奇妙博物館(2018年7期)2018-08-07 08:08:34
      為什么皇后鎮(zhèn)被稱為“冒險之都”?
      一種由層次遍歷和其它遍歷構(gòu)造二叉樹的新算法
      被放逐的皇后
      每一次愛情都只是愛情的子集
      都市麗人(2015年4期)2015-03-20 13:33:22
      盖州市| 搜索| 汉源县| 玛多县| 东乌珠穆沁旗| 浏阳市| 千阳县| 辽宁省| 克什克腾旗| 年辖:市辖区| 沈丘县| 延寿县| 疏附县| 东山县| 临沂市| 兴仁县| 佛坪县| 凌源市| 抚远县| 清徐县| 丰镇市| 顺义区| 竹北市| 科尔| 台南市| 海原县| 且末县| 南部县| 花垣县| 河南省| 日照市| 寻乌县| 临漳县| 康定县| 古田县| 石柱| 铜梁县| 宁都县| 若尔盖县| 鄄城县| 米脂县|