色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

哈密頓回路的應用

ss ? 來源:網絡整理 ? 2018-02-01 15:58 ? 次閱讀

哈密頓圖定義概念

哈密頓通路(回路)與哈密頓圖(Hamilton圖)通過圖G的每個結點一次,且僅一次的通路(回路),就是哈密頓通路(回路)。存在哈密頓回路的圖就是哈密頓圖。

1.哈密頓通路

設G=《V,E》為一圖(無向圖或有向圖).G中經過每個頂點一次且僅一次的通路稱作哈密頓通路

2.哈密頓回路

G中經過每個頂點一次且僅一次的回路稱作哈密頓回路

3.哈密頓圖

若G中存在哈密頓回路,則稱它是哈密頓圖

4.定義詳解:

(1)存在哈密頓通路(回路)的圖一定是連通圖;

(2)哈密頓通路是初級通路,哈密頓回路是初級回路;

(3)若G中存在哈密頓回路,則它一定存在哈密頓通路,反之不真

(4)只有哈密頓通路,無哈密頓回路的圖不交哈密頓圖;

哈密頓回路的應用

二、判定定理

注意:目前沒有找到哈密頓圖的簡單的充要條件

(1)設無向圖G=《V,E》為哈密頓圖,V1是V的任意真子集,則(注:n階xx圖指的是n個頂點,不要迷!)

p(G-V1)《=|V1|

其中,p(G-V1)為G中刪除V1后的所得圖的連通分支數目,|V1|為V1集合中包含的頂點個數。【哈密頓圖存在的必要條件】

推論:有割點的圖一定不是哈密頓圖

設v是圖中的割點,則p(G-v)》=2,由上述定理知G不是哈密頓圖

(2)設G是n(n》=3)階無向簡單圖,若對于G中的每一對不相鄰的頂點u,v,均有

d(u)+d(v)》=n-1

則G中存在哈密頓通路。又若

d(u)+d(v)》=n

則G中存在哈密頓回路,即G為哈密頓圖。【哈密頓圖存在的充分條件,不是必要條件】

其中d(u),d(v)分別代表頂點u,v的度數。

推論:設G是n(n》=3)階無向簡單圖,若G的最小度》=n/2,則G是哈密頓圖。

由推論知,對于完全圖Kn,當n》=3時,是哈密頓圖,完全二部圖Kr,s當r==s》=2時是哈密頓圖。

(3)在n(n》=2)階有向圖D=《V,E》中,如果略去所有有向邊的方向,所得無向圖中含生成子圖Kn,則D中存在哈密頓通路。

推論:n(n》=3)階有向完全圖是哈密頓圖。

1.常用方法判斷是哈密頓圖:

(1)若能通過觀察找出圖G中的一條哈密頓回路,則G當然是哈密頓圖。

(2)若一個無向圖G滿足上述(2)中的條件,一個有向圖D滿足上述(3)的推論的條件,則G、D都是哈密頓圖。

2.破壞哈密頓圖存在的必要條件,判定不是哈密頓圖:

設n階圖G是哈密頓圖,則G應該滿足以下諸條件:

(1)G必須是連通圖;

(2)G中的邊數m必須大于等于頂點數n;

(3)若G中存在2度頂點v,即d(v)=2,則與v關聯的兩條邊ei,ej必須在G中的任何哈密頓回路上;

(4)若G中存在每條哈密頓回路中出現的邊,不能構成邊數小于n的初級回路(圈);

破壞以上諸條件中的一條,都不是哈密頓圖。

哈密頓回路的應用

隨機生成并哈密頓回路求解:

// Graph.cpp : 定義控制臺應用程序的入口點。

//

#include “stdafx.h”

#include“Graph.h”

#include《iostream》

#include《fstream》

#include《stack》

#include《queue》

#include《limits》

using namespace std;

template《class T,class E》

int sb(int start,Graph《T,E》 &myGraph,ostream & fout)//simple backtracking 算法解決圖的最小哈密頓回路問題 v為回路的起點和終點

{

E minDistance=std::numeric_limits《E》::max();

stack《int》 myStack;

myStack.push(start);

int numVertices=myGraph.NumberOfVertices();

bool *visited=new bool[numVertices];

memset(visited,false,numVertices);

int v;

int w=-1;

while(!myStack.empty()) //棧不為空

{

v=myStack.top();

visited[v]=true;

if(w==-1)

{

w=myGraph.getFirstNeighbor(v);

}

else

{

w=myGraph.getNextNeighbor(v,w);

}

for(;w!=-1&&visited[w]==true;w=myGraph.getNextNeighbor(v,w))

{

}

if(w==-1) //未找到可行的下一個頂點

{

myStack.pop(); //回溯

w=v;

visited[v]=false;

}

else //找到可行的下一個頂點

{

myStack.push(w); //放入棧中

if(myStack.size()==numVertices)//走過所有的頂點

{

if(myGraph.getWeight(start,w)==std::numeric_limits《E》::max()) //判斷最后一個頂點有沒有回到起點的邊

{

myStack.pop();

visited[w]=false;

}

else //成功找到回路

{

//輸出回路 并記錄下回路的長度

stack《int》 temp;

while(!myStack.empty())

{

int n=myStack.top();

temp.push(n);

myStack.pop();

}

fout《《“哈密頓回路 : ”;

E distance=0;

int n=temp.top();

myStack.push(n);

temp.pop();

int last=n;

fout《《n《《“--”;

while(!temp.empty())

{

n=temp.top();

myStack.push(n);

temp.pop();

distance+=myGraph.getWeight(last,n);

last=n;

fout《《n《《“--”;

}

fout《《start《《“--”《《endl;

distance+=myGraph.getWeight(last,start);

fout《《“總長度為:”《《distance《《endl;

//記錄最短長度

if(minDistance》distance)

{

minDistance=distance;

}

//

myStack.pop();

visited[w]=false;

}

}

else

{

w=-1;

}

}

}

fout《《“最短哈密頓回路的長度為:”《《minDistance《《endl;

return 1;

}

//分支限界法求解最短哈密頓回路問題

template《class E》

struct NODE

{

int dep; //表示該結點在搜索樹的第幾層

int *vertices; //該節點力包含的各個頂點

E length; //從根到當前結點已經走過的路徑長度

NODE(int depth)

{

dep=depth;

vertices=new int[dep];

};

void cpy(int *&des)

{

for(int i=0;i《dep;i++)

{

des[i]=vertices[i];

}

}

bool find(int v)

{

for(int i=0;i《dep;i++)

{

if(vertices[i]==v)

return true;

}

return false;

}

};

template《class T,class E》

int bb(int start,Graph《T,E》 & myGraph,ostream & fout)

{

stack《NODE《E》》 myStack; //隊列

E minDistance=std::numeric_limits《E》::max();

int s=myGraph.getFirstNeighbor(start);

for(s=myGraph.getNextNeighbor(start,s);s!=-1;s=myGraph.getNextNeighbor(start,s))

{

NODE《E》 n(2);

n.vertices[0]=start;n.vertices[1]=s;

n.length=myGraph.getWeight(start,s);

myStack.push(n);

}

while(!myStack.empty()) //隊列不為空

{

NODE《E》 n=myStack.top();

myStack.pop();

int v=n.vertices[n.dep-1];

if(n.dep+1==myGraph.NumberOfVertices())//到了最后一層 判斷是不是哈密頓回路

{

int w;

for( w=myGraph.getFirstNeighbor(v);w!=-1;w=myGraph.getNextNeighbor(v,w))

{

if( n.find(w)==false)

break;

}

if(w!=-1)

{

if(myGraph.getWeight(w,start)《std::numeric_limits《E》::max())

{

//形成回路

fout《《“哈密頓回路為:”;

for(int i=0;i《n.dep;i++)

{

fout《《n.vertices[i]《《“ ”;

}

fout《《w《《“ ”《《start《《endl;

E tempDistance=n.length+myGraph.getWeight(v,w)+myGraph.getWeight(w,start);

fout《《“總長度為: ”《《tempDistance《《endl;

if(minDistance》tempDistance)

{

minDistance=tempDistance;

}

}

}

}

for(int w=myGraph.getFirstNeighbor(v);w!=-1;w=myGraph.getNextNeighbor(v,w))

{

if(n.find(w)==false)

{

NODE《E》 ne(n.dep+1);

ne.length=n.length+myGraph.getWeight(v,w);

if(ne.length《minDistance)

{

n.cpy(ne.vertices);

ne.vertices[ne.dep-1]=w;

myStack.push(ne);

}

}

}

}

fout《《“最短長度為 ”《《minDistance《《endl;

return minDistance;

}

int _tmain(int argc, _TCHAR* argv[])

{

Graph《char,int》 myGraph(10);

//ifstream fin(“input.txt”);

//myGraph.Init(fin);

myGraph.RandInit();//隨機初始化圖

ofstream fout(“outputsb.txt”);

//sb(0,myGraph,fout);

ofstream fout1(“outputbb.txt”);

bb(0,myGraph,fout1);

system(“pause”);

return 0;

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 哈密頓圖
    +關注

    關注

    0

    文章

    3

    瀏覽量

    1293
收藏 人收藏

    評論

    相關推薦

    #硬聲創作季 2.2.1 哈密頓算子視頻

    電磁場物理量與定理
    Mr_haohao
    發布于 :2022年09月01日 20:56:14

    DNA編碼的學習

    成熟,數學上很多NP-hard問題傳統計算機難以有效解決,1994年,Adleman教授用脫氧核糖核苷酸分子為計算介質,以現代分子生物技術為手段,解決了7個定點的有向哈密頓路。總結來說就是以生化反應來解決數
    發表于 07-23 06:05

    電子關聯對聚乙炔雙激子態的影響

    在SSH哈密頓基礎上,引進擴展的Hubbard關聯能,對聚乙炔的雙激子態進行自洽變分計算。發現:電子關聯的引入使雙激子吸收峰一分為二,這結果與光誘致吸收實驗觀察到的瞬時雙
    發表于 11-20 12:45 ?8次下載

    LaSrAlO4中Cu2+的自旋哈密頓參量的理論分析

    根據晶體場理論,利用3d9離子在四角對稱(伸長八面體)中自旋哈密頓參量g因子的四階微擾公式以及超精細結構常數A因子的三階微擾公式,對摻Cu2+的LaSrAlO4晶體的自旋哈密頓參量作
    發表于 05-10 12:11 ?24次下載

    ZigBee與哈密瓜不得不說的故事

    新疆哈密中蒙交界地區,ZigBee網絡用于哈密瓜田地自動化滴灌系統,應用區域超過4萬畝。看致遠電子工程師如何使用Zigbee分析儀為種植保駕護航。
    發表于 03-05 17:35 ?747次閱讀

    哈密頓結構修正的控制設計方法及其應用

    哈密頓結構修正的控制設計方法及其應用_曾云
    發表于 01-07 17:16 ?1次下載

    如何判斷哈密頓圖_哈密頓圖的必要條件

    本文主要介紹了如何判斷哈密頓圖_哈密頓圖的必要條件,哈密頓通路(回路)與哈密頓圖(Hamilton圖)通過圖G的每個結點一次,且僅一次的通路
    的頭像 發表于 02-01 15:43 ?5.6w次閱讀
    如何判斷<b class='flag-5'>哈密頓</b>圖_<b class='flag-5'>哈密頓</b>圖的必要條件

    哈密頓回路算法

    本文主要介紹了哈密頓回路算法以及程序設計實現。哈密頓圖就是從一點出發,經過所有的必須且只能一次,最終回到起點的路徑。圖中有的邊可以不經過,但是不會有邊被經過兩次。設一個無向圖中有N個頂點,若所有頂點的度數大于等于N/2,則哈密頓回路
    的頭像 發表于 02-01 16:11 ?9964次閱讀

    永磁同步直線電機位置控制

    針對永磁同步直線電機( PMLSM)的位置控制問題,從能量整型控制的角度進行了研究。基于哈密頓反饋耗散控制方法,結合系統的物理能量特性,在dq旋轉坐標系下建立了包含電能和動能的永磁同步直線電機閉環
    發表于 03-01 14:00 ?12次下載
    永磁同步直線電機位置控制

    模擬量子計算的未來前景將一片光明

    模擬量子計算(analog quantum computing),相對于通用量子計算,有更平易近人的物理實現方式,而且對于玻色采樣、搜索、哈密頓量學習、化學模擬等問題上有明顯的天然對應方式和加速優勢,因此是目前量子信息發展的另一個不可或缺、至關重要的領域。
    發表于 10-18 15:34 ?1179次閱讀

    模擬量子計算有著優異的表現,未來將具有廣泛的應用前景

    模擬量子計算(analog quantum computing),相對于通用量子計算,有更平易近人的物理實現方式,而且對于玻色采樣、搜索、哈密頓量學習、化學模擬等問題上有明顯的天然對應方式和加速優勢,因此是目前量子信息發展的另一個不可或缺、至關重要的領域。
    發表于 11-25 11:35 ?913次閱讀

    模擬量子計算的實力前景不可限量

    模擬量子計算(analog quantum computing),相對于通用量子計算,有更平易近人的物理實現方式,而且對于玻色采樣、搜索、哈密頓量學習、化學模擬等問題上有明顯的天然對應方式和加速優勢。
    發表于 12-12 15:18 ?774次閱讀

    解決人工智能“智障”新思路——哈密頓函數

    人工神經網絡是人工智能深度學習算法的基礎結構,大致模仿人類大腦的物理結構。當你為神經網絡提供訓練樣例時,它會通過人工神經元層運行它,然后調整它們的內部參數,以便能夠對具有相似屬性的未來數據進行分類。舉個簡單的例子,如果你使用貓和狗的樣本圖像訓練神經網絡,它將能夠告訴你新圖像是否包含貓或狗。但由于神經網絡過分依賴數據,引導了神經網絡的犯錯,一些錯誤對人類來說似乎是完全不合邏輯甚至是愚蠢的,可以說人工智能離人工智障也就是一步之遙。
    的頭像 發表于 06-27 16:43 ?1649次閱讀

    基于量子軟件的量子絕熱近似算法求解

    經典近似算法求解最大割問題時,時間復雜度與圖的復雜度呈正相關。為提高求解效率,使用量子絕熱近似算法求解無向圖最大割問題哈密頓量的基態,其基態對應該問題的最優解。該算法的時間復雜度不依賴于圖的頂點
    發表于 05-12 14:28 ?8次下載

    基于高光譜的不同成熟期哈密瓜堅實度研究

    哈密瓜是新疆的特色水果,目前,哈密瓜品種繁多,采收時,不同品種的成熟期不同,在成熟時的表現也不同,因此,簡單地通過外表來分辨哈密瓜的成熟度,會造成判別不一致,影響哈密瓜的貨架期,從而
    的頭像 發表于 03-12 15:41 ?426次閱讀
    基于高光譜的不同成熟期<b class='flag-5'>哈密</b>瓜堅實度研究
    主站蜘蛛池模板: 晚夜免费禁用十大亏亏 | 一道本av免费不卡播放 | 607080老太太AW | 色色噜一噜 | 国产AV亚洲国产AV麻豆 | 亚洲 欧美 另类 中文 在线 | 欧美人与禽zoz0性伦交app | 人成午夜免费视频 | 偷窥wc美女毛茸茸视频 | 国产成人免费高清在线观看 | 久久这里只有是精品23 | 欧美18在线 | 久久青青草视频在线观 | 泡妞高手在都市完整版视频免费 | 国产亚洲欧美高清在线 | 最近中文字幕高清中文字幕MV | BLACKED太粗太长| 久久精品视频在线看15 | 97在线超碰免费视频 | 99婷婷久久精品国产一区二区 | 内射一区二区精品视频在线观看 | 亚洲2017久无码 | 国产精品久久久久一区二区三区 | 特黄特色大片免费播放器9 特黄特黄aaaa级毛片免费看 | 少妇厨房愉情理9伦片视频 少妇被躁爽到高潮无码久久 | 精品久久99麻豆蜜桃666 | 日韩AV成人无码久久精品老人 | 在线观看亚洲AV无码每日更新 | 日韩 国产 中文 无码 | 亚洲国产精品VA在线看黑人 | HEYZO精品无码一区二区三区 | 无码毛片内射白浆视频 | 成品片a免人看免费 | 亚洲 日本 天堂 国产 在线 | 国产乱子影视频上线免费观看 | 98久久人妻少妇激情啪啪 | 伊人久久精品99热超碰 | 国产第一页浮力影院 | 久久操热在线视频精品 | 妹妹的第一次有点紧 | 无限资源在线看影院免费观看 |