- NerveM
-
给结点编号1,2,3,.....,n
哈密顿回路1 : 1-2-3-4-...-n
哈密顿回路2 : 1-3-5-7-...-(n-1)
哈密顿回路3 : 1-4-7-10-...-(n-2)
......
哈密顿回路i : 1-(1+i)%n-(1+2i)%n-...-(1+(n-1)i)%n
......
哈密顿回路(n-1) : 1-n-(n-1)-...-2
其中第i组和第(n-i)组重复,和其他组都不相交,可以用数论的知识证明,所以一共有(n-1)/2组。
扩展资料:
哈密顿图的必要条件: 若G=(V,E) 是一个哈密顿图,则对于V的每一个非空子集S,均有W(G-S) ≤|S|。其中|S|是S中的顶点数,W(G-S)表示图G擦去属于S中的顶点后,剩下子图的连通分支的个数。
哈密顿图的充分条件: 设G=(V,E)是一个无向简单图,|V|=n. n≥3. 若对于任意的两个顶点u,v∊V,d(u)+d(v) ≥n,那么, G是哈密尔顿图。此条件由美国图论数学家奥勒在1960年给出。
- 北营
-
:G是n阶简单无向图,如果图G中任意两点的度数之和大于等于n-1,证明图G是连通图 假设G有两个连通分支G1和G2,那么取v1是G1中度数最小的顶点,v2是G2中度数最小的顶点,则d(v1)+d(v2)≤n-2(等号在G1和G2都是完全图时取到),这与条件矛盾。
- 可桃可挑
-
同学你好,我是李欢老师,我希望我布置的作业是由同学们经过思考做出来的,而不是从网上抄袭的,希望你可以认真思考自己解决这道问题。
- Chen
-
同学,你题目都记错了,是(n-1)/2个,离散还想不想过了
- 黑桃花
-
同学你好,我是吕卫锋院长,我希望你可以自己来做这一道题,做一个自主思考的北航学子,以后的回复将会被屏蔽。
哈密顿回路的算法是怎样的?
哈密顿回路的算法是指:在图论中是指含有哈密顿回路的图,闭合的哈密顿路径称作哈密顿回路。哈密顿图(哈密尔顿图)(英语:Hamiltonian path,或Traceable path)是一个无向图,由天文学家哈密顿提出,由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次。这个问题和著名的七桥问题的不同之处在于,过桥只需要确定起点,而不用确定终点。哈密顿问题寻找一条从给定的起点到给定的终点沿 途恰好经过所有其他城市一次的路径。2023-05-23 09:31:431
【离散数学】图论(四)哈密顿回路(Hamiltonian cycle)
在一个回路中,除了经过初始结点两次以外,恰好经过每个结点 一次 ,则称此回路为哈密顿回路,哈密顿回路中每个结点都为偶结点 通过上述几点,可得出上图中不存在哈密顿回路 这个问题是基于寻找哈密顿回路的基础上,只不过所对应的图是加权无向图,在接下来。 这一篇的内容就到此为止了,接下来会有一篇文章专门介绍旅行推销员问题问题,谢谢大家!2023-05-23 09:31:501
如何判定哈密顿回路 离散数学中 谢谢
答:没有什么更好的办法。有一个必要条件,可用它判断哪个图没有哈密顿回路。若图G=<V,E>中具有一条哈密顿回路,则对于结点集V的每个非空子集S均有W(G-S)£ |S|成立,其中W(G-S)是(G-S)中连通分支数。2023-05-23 09:31:582
哈密顿回路的算法
/*数据的存储结构为邻接多重表,解题的思路是深度优先递归再配合回溯算,特别注意的是对顶点和边的访问、禁用、还原、进栈、出栈等操作,因本人才C语言几个月代码不够规范,代码可行性还待检验,仅供学习交流使用,如有需改善或未考虑到的细节请各位大神指出!*/#include<stdio.h>#include<windows.h>#include<string.h>#include<stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAX_VER_NUM 11//顶点的最大数#define MAX_ARC_NUM 22//边的最大数typedef char VertexType;typedef int Status;typedef struct EdgeInfo{VertexType v1;VertexType v2;int weight;}EdgeInfo;typedef struct ArcBox//边所包含的信息{int iver;struct ArcBox *ilink;int jver;struct ArcBox *jlink;int weight;//权值int mark;char *info;}ArcBox;typedef struct VerBox//顶点所包含的信息{VertexType data;//顶点值ArcBox *firstedge;//指向邻接点(边所包含的信息)}VerBox;typedef struct Graph{int vernum;//顶点总个数int arcnum;//边的总个数VerBox vertexs[MAX_VER_NUM];//顶点信息}Graph;typedef struct StackData//栈中可存放的数据{VertexType data;int lenght;struct StackData *pnext;}StackData;typedef struct Stack//栈用于存放已访问过的顶点{struct StackData *ptop;struct StackData *pbottom; }STNODE;typedef struct Stack_Arc//存方已访问过的边及顶点{ArcBox *p[MAX_ARC_NUM];int v_num[MAX_ARC_NUM];}SANode;int Visited[MAX_VER_NUM];//标记顶点是否被访问过EdgeInfo Data[MAX_ARC_NUM]={{"A","B",324},{"A","J",419},{"A","K",328},{"A","D",241},{"A","C",556},{"A","F",703},{"A","G",521},{"B","G",391},/**************************/{"B","H",230},{"B","I",356},{"B","J",220},{"C","F",642},{"C","E",337},{"D","F",829},{"D","K",334},{"E","F",581},/**************************/{"E","G",1254},{"F","G",887},{"G","H",242},{"H","I",249},{"I","J",713},{"J","K",398}};//边及权值int Count=0;//记可走边的总数STNODE Stack;//存放已访问过SANode Store_Arc_Ver;//存放弧的信息及顶点信息int LAV=-1,ALL=0;int Short_Len=1000000,Short_Load=0;//存放最断最路经void CreateGraph(Graph **G);//创建图int LocateVer(Graph G,VertexType v);//查找顶点v在图中的位置void ShowAdjInfo(Graph *G);//查看邻接点信息int FirstAdjVer(Graph *G,int v,ArcBox **u);//第一邻接点int NextAdjVer(Graph *G,int v,int w,ArcBox **u);//下一邻接点void NAV(ArcBox *p,int *n,int v,int w,ArcBox **u);//递归查找下一邻接点void InitArcBox_mark(ArcBox *p);//初始化mark的值void DFSTraverse(Graph *G);//深度优先遍历图void DFST(Graph *G,int v);//剃归深度优先遍历void InitStack(void);//初始化栈void Push(VertexType c);//数据进栈void Pop(void);//出栈void PrintfArc(ArcBox *p);//打印弧的信息Status IsAdj(int *len,VertexType v);//判断栈顶的点是否与A为邻接点int main(){Graph *G=NULL;CreateGraph(&G);printf("顶点的邻接表: ");ShowAdjInfo(G);printf(" ");printf("可走路径结果: ");DFSTraverse(G);printf(" ");printf("可走路径总数:%d条;最短路径为:路径%d,长度为:%d ",ALL,Short_Load,Short_Len);return 0;}void CreateGraph(Graph **G)//创建图{int i,j,k,w;char v1,v2;ArcBox *pnew;(*G)=(Graph *)malloc(1*sizeof(Graph));if((*G)==NULL){printf("动态内存分配失败,程序终止! ");exit(-1);}(*G)->arcnum=MAX_ARC_NUM;(*G)->vernum=MAX_VER_NUM;for(i=0;i<(*G)->vernum;i++){(*G)->vertexs[i].data="A"+i;(*G)->vertexs[i].firstedge=NULL;}for(k=0;k<(*G)->arcnum;k++){v1=Data[k].v1;v2=Data[k].v2;w=Data[k].weight;i=LocateVer((**G),v1);j=LocateVer((**G),v2);if(i>=0&&j>=0){pnew=(ArcBox *)malloc(1*sizeof(ArcBox));if(pnew==NULL){printf("动态内存分配失败,程序终止! ");exit(-1);}pnew->iver=i;pnew->jver=j;pnew->weight=w;pnew->mark=FALSE;pnew->ilink=(*G)->vertexs[i].firstedge;pnew->jlink=(*G)->vertexs[j].firstedge;(*G)->vertexs[i].firstedge=pnew;(*G)->vertexs[j].firstedge=pnew;}else{printf("注意:*****顶点%c不存在!***** ",i<0?v1:v2);}}return;}int LocateVer(Graph G,VertexType v)//查找顶点v在图中的位置{int i,result=-1;for(i=0;i<MAX_VER_NUM;i++){if(G.vertexs[i].data==v){result=i;break;}}return result;}void ShowAdjInfo(Graph *G)//查看邻接点信息{int v,w;ArcBox *u;for(v=0;v<G->vernum;v++){printf("[%d|%c]",v,G->vertexs[v].data);for(w=FirstAdjVer(G,v,&u);w>=0;w=NextAdjVer(G,v,w,&u)){printf("->[%d|%c|%d]",w,G->vertexs[w].data,u->weight);}InitArcBox_mark(G->vertexs[v].firstedge);printf(" ");}}int FirstAdjVer(Graph *G,int v,ArcBox **u)//第一邻接点{int w=-1;ArcBox *p;p=G->vertexs[v].firstedge;(*u)=p;if(v==p->iver){w=p->jver;p->mark=TRUE;}else if(v==p->jver){w=p->iver;p->mark=TRUE;}return w;}int NextAdjVer(Graph *G,int v,int w,ArcBox **u)//下一邻接点{int n=-1;ArcBox *p;(*u)=NULL;p=G->vertexs[v].firstedge;NAV(p,&n,v,w,&(*u));return n;}void NAV(ArcBox *p,int *n,int v,int w,ArcBox **u)//递归查找下一邻接点{if(p->mark==FALSE && (p->iver==v ||p->jver==v)){(*u)=p;if(p->iver==v){*n=p->jver;p->mark=TRUE;}else if(p->jver==v){*n=p->iver;p->mark=TRUE;}else printf("下一邻接点数据出错,请检查! ");}else{if(p->ilink!=NULL && *n==-1){NAV(p->ilink,n,v,w,&(*u));}if(p->jlink!=NULL && *n==-1){NAV(p->jlink,n,v,w,&(*u));}}return;}void InitArcBox_mark(ArcBox *p)//初始化mark的值{p->mark=FALSE;if(p->ilink!=NULL){InitArcBox_mark(p->ilink);}if(p->jlink!=NULL){InitArcBox_mark(p->jlink);}return;}void DFSTraverse(Graph *G)//深度优先遍历图{int v;for(v=0;v<G->vernum;v++){Visited[v]=FALSE;InitArcBox_mark(G->vertexs[v].firstedge);}InitStack();DFST(G,0);return;}void DFST(Graph *G,int v)//剃归深度优先遍历{int w=-1,flag=1,i=0,enter=1,len=0;ArcBox *u;//邻接点StackData *p;Visited[v]=TRUE;Count++;Push(G->vertexs[v].data);if(Count==11&&IsAdj(&len,Stack.ptop->data)==1){ALL++;printf("路径%-2d:",ALL);printf("A");p=Stack.ptop;len=len+p->lenght;if(Short_Len>len) Short_Load=ALL,Short_Len=len;while(p!=Stack.pbottom){printf("->%c",p->data);p=p->pnext;}printf(" 总长度为:%d",len);printf(" ");}for(w=FirstAdjVer(G,v,&u);w>=0;w=NextAdjVer(G,v,w,&u)){enter=1;for(i=0;i<=LAV;i++){if(Store_Arc_Ver.p[i]==u){enter=0;break;}}if(enter==1){Store_Arc_Ver.p[++LAV]=u;Store_Arc_Ver.v_num[LAV]=v;}if(Visited[w]==FALSE){DFST(G,w);Visited[w]=FALSE;Count--;Pop();}}for(LAV;Store_Arc_Ver.v_num[LAV]==v&&LAV>=0;)//还原当前顶点边的状态并出栈{Store_Arc_Ver.p[LAV]->mark=FALSE;Store_Arc_Ver.p[LAV]=NULL;LAV--;}}void InitStack(void)//初始化栈{Stack.pbottom=Stack.ptop=(StackData *)malloc(1*sizeof(StackData));Stack.pbottom->pnext=NULL;return;}void Push(VertexType c)//数据进栈{StackData *pnew;char v1,v2;int i;pnew=(StackData *)malloc(1*sizeof(StackData));pnew->data=c;if(c=="A"){pnew->lenght=0;}else{v1=c;v2=Stack.ptop->data;for(i=0;i<MAX_ARC_NUM;i++){if((v1==Data[i].v1 || v1==Data[i].v2) && (v2==Data[i].v1 || v2==Data[i].v2)){pnew->lenght=Stack.ptop->lenght+Data[i].weight;}}}pnew->pnext=Stack.ptop;Stack.ptop=pnew;return;}void Pop(void){StackData *p;p=Stack.ptop;Stack.ptop=p->pnext;free(p);}void PrintfArc(ArcBox *p){printf("[%d|%d|%d|%d] ",p->iver,p->jver,p->mark,p->weight);if(p->ilink!=NULL){PrintfArc(p->ilink);}if(p->jlink!=NULL){PrintfArc(p->jlink);}}Status IsAdj(int *len,VertexType v)//判断是栈顶的点是否与A为邻接点{int i;for(i=0;i<MAX_ARC_NUM;i++){if((Data[i].v1==v&&Data[i].v2=="A")||(Data[i].v1=="A"&&Data[i].v2==v)){*len=Data[i].weight;return TRUE;break;}}return FALSE;}2023-05-23 09:32:063
什么是哈密顿回路问题?
在图中找出一条包含所有结点的闭路,并且,出来起点和重点重合外,这条闭路所含结点是互不相同的 可以在多项式时间类判断一个回路是否是哈密顿回路 但目前没有算法直接解出哈密顿回路 天文学家哈密顿(William Rowan Hamilton) 提出,在一个有多个城市的地图网络中, 寻找一条从给定的起点到给定的终点沿 途恰好经过所有其他城市一次的路径。 这个问题和著名的过桥问题的不同之处在于,某些城市之间的旅行不 一定是双向的。比如A→B,但B→A是不允许的。 换一种说法,对于一个给定的网络,确定起点和终点后,如果存在一条路径,穿过这个网络,我们就说这个网络存在哈密顿路径。哈密顿路径问题在上世纪七十年代初,终于被证明是“NP完备”的。据说具有这样性质的问题,难于找到一个有效的算法。实际上对于某些顶点数不到100的网络,利用现有最好的算法和计算机也需要比较荒唐的时间(比如几百年)才能确定其是否存在一条这样的路径。2023-05-23 09:32:191
哈密尔顿回路问题具体指什么?
哈密顿回路即哈密顿图:哈密顿图(英语:Hamiltonian path,或Traceable path)是一个无向图,由天文学家哈密顿提出,由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次。在图论中是指含有哈密顿回路的图,闭合的哈密顿路径称作哈密顿回路(Hamiltonian cycle),含有图中所有顶点的路径称作哈密顿路径。具体到实际就是在一个有多个城市的地图网络中,寻找一条从给定的起点到给定的终点沿,途恰好经过所有其他城市一次的路径。2023-05-23 09:32:272
判定是否有哈密顿回路是np-hard
辰曦~文若题解-1122. Hamiltonian Cycle (25)-判断路径是否是哈密顿回路先来扩展一下知识哈密顿图:哈密顿图是一个无向图,由指定的起点通往指定的重点,途中经过所有节点有且只经过一次。在图论中,通常指的是哈密顿回路,即经过图中所有顶点有且只有一次,最终回到出发点。哈密顿回路为NP完全问题,暂不存在多项式内的解法。欧拉图:类似的有欧拉图:图中经过每天边有且只有一次,若最终回到出发点,则是欧拉回路。判断是否存在欧拉回路,是有定理的,网上可以找找。然而这道题给出了路径,判断是否是哈密顿回路,瞬间感觉题目档次下降了好多有没有!!!满足了以下条件即输出YES,只要有不满足的就输出NO:1.路径节点个数等于n+12.相邻点之间存在连通的边3.前n点各只出现过1次4.第一个节点等于最后一个节点,构成回路2023-05-23 09:32:371
n阶完全图中有多少条哈密顿回路
n阶完全图中哈密顿回路的条数为:(n-1)!/2选定一个点,从这点开始到每个点的走法,只要有三个点以上就是圈,因此只管走的方法,选定构成一个圈的点算了两次,所以要除以2。若一个图的每一对不同顶点恰有一条边相连,则称为完全图。完全图是每对顶点之间都恰连有一条边的简单图。n个端点的完全图有n个端点及n(n−1)/2条边,以Kn表示。它是(k−1)-正则图。所有完全图都是它本身的团(clique)。2023-05-23 09:32:452
哈密顿回路的C++代码
#include <queue>#include <cstdio>#include <set>#include <string>#include <stack>#include <cmath>#include <climits>#include <map>#include <cstdlib>#include <iostream>#include <vector>#include <algorithm>#include <cstring>#define max(a,b) (a>b?a:b)using namespace std;typedef long long(LL);typedef unsigned long long(ULL);const double eps(1e-8);char B[1<<15],*S=B,*T=B,ch;#define getc() (S==T&&(T=(S=B)+fread(B,1,1<<15,stdin),S==T)?0:*S++)int aa,bb; int F(){ while(ch=getc(),(ch<"0"||ch>"9")&&ch!="-"); ch=="-"?aa=bb=0:(aa=ch-"0",bb=1); while(ch=getc(),ch>="0"&&ch<="9")aa=aa*10+ch-"0"; return bb?aa:-aa;}#define N 100010int n,swp,cnt,z[N]; long long ans;#define swap(a,b) (swp=a,a=b,b=swp)#define abs(x) (x>0?x:-(x))#define max(a,b) (a>b?a:b)#define cmax(x) (ans<x?ans=x:1)struct P {int x,y,id,nx,ny;} p[N];bool operator<(const P&a,const P&b) {return a.nx<b.nx||a.nx==b.nx&&a.ny<b.ny;}class Graph{private: int et,la[N],ufs[N],tot; struct D { int x,y,v; bool operator<(const D&a)const {return v<a.v;} } d[N<<2]; struct E {int to,v,nxt;} e[N<<1]; int gf(int x) {return ufs[x]==x?x:ufs[x]=gf(ufs[x]);} void adde(int x,int y,int v) { e[++et]=(E) {y,v,la[x]},la[x]=et; e[++et]=(E) {x,v,la[y]},la[y]=et; }public: Graph() {et=1;} void add(int x,int y,int v) {d[++tot]=(D) {x,y,v};} void make() { std::sort(d+1,d+1+tot); for(int i=1; i<=n; i++)ufs[i]=i; cnt=n; for(int i=1,x,y; i<=tot; i++) if((x=gf(d[i].x))!=(y=gf(d[i].y))) { ufs[x]=y,cnt--,ans+=d[i].v, adde(d[i].x,d[i].y,d[i].v); } }} G;struct D {int x,n;} d[N];bool operator<(const D&a,const D&b) {return a.x<b.x;}#define dis(i,j) (abs(p[i].x-p[j].x)+abs(p[i].y-p[j].y))void ins(int i){ for(int t=p[i].ny; t<=cnt; t+=t&-t) if(z[t]==0||p[z[t]].x+p[z[t]].y<p[i].x+p[i].y)z[t]=i;}int query(int i){ int f=0; for(int t=p[i].ny; t>0; t-=t&-t) if(z[t]&&(f==0||p[z[t]].x+p[z[t]].y>p[f].x+p[f].y))f=z[t]; return f;}void work(){ for(int i=1; i<=n; i++)p[i].nx=p[i].x-p[i].y,p[i].ny=p[i].y; std::sort(p+1,p+1+n); for(int i=1; i<=n; i++)d[i]=(D) {p[i].ny,i}; std::sort(d+1,d+1+n); d[n+1].x=d[n].x; cnt=1; for(int i=1; i<=n; i++) { p[d[i].n].ny=cnt; if(d[i].x!=d[i+1].x)cnt++; } memset(z,0,sizeof(z)); for(int i=1,j; i<=n; ins(i++)) if(j=query(i))G.add(p[i].id,p[j].id,dis(i,j));}int main(){ n=F(); for(int i=1; i<=n; i++)p[i]=(P) {F(),F(),i}; work(); for(int i=1; i<=n; i++)swap(p[i].x,p[i].y); work(); for(int i=1; i<=n; i++)p[i].y=-p[i].y; work(); for(int i=1; i<=n; i++)swap(p[i].x,p[i].y); work(); G.make(); printf(%lld ,ans);}/** this code is made by crazyacking* Verdict: Accepted* Submission Date: 2015-09-11-15.31* Time: 0MS* Memory: 137KB*/2023-05-23 09:32:521
求matlab解决哈密顿回路
可以用蚁群算法, 当然Hopfield网络与退火我也试过, 但还是蚁群的效果最好.注意: 哈密顿回路问题(TSP问题)是NP-COMPLETE问题, 问题规模比较大时无法求得最优解, 只能通过启发式算法逼近其次优解.把你的邮箱留下来吧. 我这有一份C++写的, 不过封装成MEX了, MATLAB里可以直接调用的, 速度还不错. 纯MATLAB的我也有, 不过速度慢死. 要不然我就不费事用C++重写一份了.2023-05-23 09:33:161
最短哈密顿回路!!!!!!!!!
这是一个典型的旅行商问题,或者叫货郎担问题,网上应该有很多源程序,你可以搜索一下。一般而言典型的是两种算法:分支与界法和贪心算法,不过随着算法的发展出现了不少好的典型解法。2023-05-23 09:33:232
【离散数学】证明在 K 9 中存在4条边不重的哈密尔顿回路
用“去哈密顿圈”的方法肯定是不行的。你可以这样想:即使4-正则图行了,那么2-正则图也不行。举个最简单的2-正则图的反例:9个点,其中4个点构成一个圈,另外5个点构成一个圈,这就是个2-正则图,但没有哈密顿圈,因为2个圈之间是独立的,根本不连通。证明方法如下。证明方法是经过仔细设计的4个哈密顿圈,最简单的方法就是把4个哈密顿圈画出来。经典的方法中,4个哈密顿圈如下图:上图是1个哈密顿圈。9个点,左边8个,右边1个。左边8个点用红线连接,然后再将首尾与第9个点用绿线连接。另外3个哈密顿圈就是把左边8个点的子图分别转45度、90度、135度,然后再与右边的点连接。BTW:用这种构造方法,可以证明:对任意 2m+1 个点的完全图,都有 m 个“边不重”的哈密顿圈。2023-05-23 09:33:311
哈密顿回路 JAVA程序
你看看我这个用SQL实现的, 在SQL SERVER上可以执行.希望对你有帮助.2023-05-23 09:33:443
图G为哈密顿图.试证明:若图中的哈密顿回路中含e1,则他一定同时也含e2?
证:显然,哈密尔顿回路中每个点的度数均为2,且不能含有更小的回路。假设哈密尔顿回路中含e1不含e2,则回路中必含边dc和de。由于回路中不能有ce(否则decd构成回路),因而回路中必含边cb和ea,故回路中不能含e1(否则deabcd构成回路),这与条件矛盾,故假设不成立,证毕。2023-05-23 09:33:511
(离散数学)欧拉通路(回路)和哈密顿通路(回路)有什么区别?
从它们的定义可看出区别:欧拉通路指的是通过每一条边一次……,而哈密顿通路是通过每一个顶点一次……2023-05-23 09:34:001
蛮力法求解哈密顿回路问题
你等于10等于10厘米,为什么? 国际公认的十进位的计算方法。长度以毫米。厘米,分米,米,为计算的基本单位。10mm=1cm.,厘米等于1dm。10dm=1m.,这种定位方法,利益计算对国民经济的各个方面都有大的好处,如果二进位,古代16进位。计算起来非常繁琐。不适合现在的计算工具使用,2023-05-23 09:34:061
如图所示,其中存在哈密尔顿回路的图是?
哈密尔顿回路是指存在一条回路,经过图中每个节点恰好一次(也就是说只能有一次),这条回路称为哈密尔顿回路。从定义中可以看出,首先要是回路才行,也就是回到原点,且只经过每个节点有且仅有一次。A选项显然从任意一点出发都能回到原点且只经过一次,故存在哈密尔顿回路。B选项中因为图中间那个点一定会经过两次,所以不行。C选项中显然也满足条件。D中和B中类似,中间有个点必须经过两次。像A、C中这样的n>=3的完全图都是哈密尔顿图。2023-05-23 09:34:131
设G是n>=3的连通图,证明若m>=0.5(n-1)(n-2)+2,则G存在哈密顿回路
这个很简单,如果是作业题的话。因为如果是作业题,那么很可能你课堂上学过这样一个定理:若每2个点的度数之和大于等于n,则有Hamiltonian回路。就用这个定理就可以了。具体方法:完全图,总共有:n(n-1)/2条边。那么,G最多比完全图少了:n(n-1)/2-(n-1)(n-2)/2-2=n-3条边。下面,我们来看看G中两个顶点的度数之和,最少是多少。完全图中,两个顶点度数之和为:2(n-1)现在少了n-3条边,最极端的情形,这n-3条边均与某两个顶点相连,而且其中1条边还是连接这2个顶点的。于是,这2个顶点最多少了n-2的度数,也就是还剩:2(n-1)-(n-2)=n度数。所以,符合那个定理,有H回路。2023-05-23 09:34:201
nba球星哈密尔顿的详细资料
位置:后卫-前锋 生日:02/14/78 高度:2.01M 体重:87.5kg 毕业学校: 康涅狄格大学(Connecticut) 00年毕业 英文资料 2000年4月13日,对芝加哥公牛队,得到职业生涯最高分26分 1999年11月2日,首次在NBA亮相,对亚特兰大鹰队,得10分 过往赛季平均 每场比赛篮板 赛季 球队 上场 首发 时间 投篮% 3分% 罚球% 进攻 防守 总数 助攻 抢断 盖帽 失误 犯规 得分 99-00 奇才 71 12 19.3 .420 .364 .774 .50 1.30 1.80 1.5 .39 .08 1.18 2.00 9.0 00-01 奇才 78 42 32.3 .438 .274 .868 1.00 2.10 3.10 2.9 .96 .13 2.58 2.60 18.1 01-02 奇才 63 57 35.0 .435 .381 .890 1.20 2.30 3.40 2.7 .60 .22 2.10 2.20 20.0 02-03 活塞 82 82 32.2 .443 .269 .833 1.10 2.80 3.90 2.5 .78 .16 2.44 3.00 19.7 03-04 活塞 78 78 35.5 .455 .265 .868 1.00 2.60 3.60 4.0 1.32 .22 2.69 2.80 17.6 04-05 活塞 76 76 38.5 .440 .305 .858 1.0 2.9 3.9 4.9 1.01 .17 2.86 3.10 18.7 职业生涯 448 347 32.2 .440 .298 .855 1.0 2.3 3.3 3.1 .86 .10 2.33 2.60 17.2 季后赛 65 65 41.0 .448 .340 .850 1.2 3.1 4.3 3.8 .94 .08 3.18 3.10 21.2 个人简介 全名为Richard Clay Hamilton 绰号“Rip”(断裂) 1999年,入选美国青年国家篮球队 在他的成长之路上,有两支球队可供选择。一支拥有迈克尔·乔丹,一支没有。但是没有乔丹,他一样能够取得成功。 乔丹到底耽误了汉密尔顿还是成全了他,这的确很值得探讨。2000年,如果不是乔丹的到来,也许时至今日,奇才已经打入了季后赛,而汉密尔顿也成为东部顶尖级后卫之一。因为那时他在奇才已可每场交足20分公粮,俨然一幅当家大哥的样子。但这一切都因为乔丹的一句防守不过关而改变。为何会这样,谁都知道他们二人在奇才队的位置是重叠的,一个人状态好必然影响另外一个人的出场时间。这是谁都没有办法的事情,任何伟大的友谊都无法建立在利益之争的基础上,何况原本就是萍水相逢。 但2004年,汉密尔顿得到总冠军戒指,如果不是那次转会,理查德这辈子都拿不到它也说不定。有时你不得不感叹造化弄人,就像马龙,向往总冠军一辈子,最后来到湖人队还是得不到。而汉密尔顿、比卢普斯还有本·华莱士,个个没有霸王相,却称霸了整个NBA。 让我看看汉密尔顿到来之前的活塞队是什么样子,举例来说,他们非常像现在的魔术队。斯塔克豪斯在队中一枝独秀,个人漂浮在得分榜前三位,而球队却打不进季后赛。但就和今天的魔术队一样,活塞把斯塔克豪斯看作震队之宝,是球队将来发展的依仗,如果不是乔老爷面子实在够大,这笔交易十有八九达不成。但自从汉密尔顿来到活塞之后,比卢普斯、本·华莱士和普林斯相继到位,这个阵容在2002年11月才组建完成,但却在2004年6月拿到了总冠军,不知道这是否能称作NBA组队时间最短的总冠军阵容,而汉密尔顿正式活塞王朝的奠基人之一。 我们都知道,拉里·布朗成为了第一个在NCAA和NBA执教都得到冠军的教练。然而,在他的手下,也有一个球员在NCAA和NBA都拿到过冠军,这个人就是汉密尔顿。辉煌的大学成绩造就了汉密尔顿钢铁一般的心脏,所以,在总决赛中,他率领着草明部队敢打敢拼,丝毫没有在自己的第一次总决赛经历中怯场。人们都在惊叹汉密尔顿的表现,而这一切都来自于他在高中时受到的训练。 高中时代的科比和汉密尔顿都在费城读书,科比就读郊区的私人学校洛尔梅林,汉密尔顿就读科斯特维尔高中。不知是否因为二人在高中时同在一个明星俱乐部接受过训练的缘故,日后,他们二人都成为了NBA中的铁汉,被人们尊称为两架“季后赛中的永动机”。汉密尔顿是因为他在场上永远奔跑,而科比则奔波在法庭和球场之前,不知疲惫。莱恩斯执教的全明星俱乐部聚集的正是来自费城高校的明星球员,在全家从意大利搬回美国后,科比高一那年就在高中联赛结束后加入到莱恩斯的球队。一年后,和科比同年级的汉密尔顿也加入进来。 他们是当地最优秀的篮球青年,有他们俩在队中,没人可以击败这支球队。 位置:后卫-前锋 生日:02/14/78 高度:2.01M 体重:87.5kg 毕业学校: 康涅狄格大学(Connecticut) 00年毕业 英文资料 2000年4月13日,对芝加哥公牛队,得到职业生涯最高分26分 1999年11月2日,首次在NBA亮相,对亚特兰大鹰队,得10分 过往赛季平均 每场比赛篮板 赛季 球队 上场 首发 时间 投篮% 3分% 罚球% 进攻 防守 总数 助攻 抢断 盖帽 失误 犯规 得分 99-00 奇才 71 12 19.3 .420 .364 .774 .50 1.30 1.80 1.5 .39 .08 1.18 2.00 9.0 00-01 奇才 78 42 32.3 .438 .274 .868 1.00 2.10 3.10 2.9 .96 .13 2.58 2.60 18.1 01-02 奇才 63 57 35.0 .435 .381 .890 1.20 2.30 3.40 2.7 .60 .22 2.10 2.20 20.0 02-03 活塞 82 82 32.2 .443 .269 .833 1.10 2.80 3.90 2.5 .78 .16 2.44 3.00 19.7 03-04 活塞 78 78 35.5 .455 .265 .868 1.00 2.60 3.60 4.0 1.32 .22 2.69 2.80 17.6 04-05 活塞 76 76 38.5 .440 .305 .858 1.0 2.9 3.9 4.9 1.01 .17 2.86 3.10 18.7 职业生涯 448 347 32.2 .440 .298 .855 1.0 2.3 3.3 3.1 .86 .10 2.33 2.60 17.2 季后赛 65 65 41.0 .448 .340 .850 1.2 3.1 4.3 3.8 .94 .08 3.18 3.10 21.2 个人简介 全名为Richard Clay Hamilton 绰号“Rip”(断裂) 1999年,入选美国青年国家篮球队 在他的成长之路上,有两支球队可供选择。一支拥有迈克尔·乔丹,一支没有。但是没有乔丹,他一样能够取得成功。 乔丹到底耽误了汉密尔顿还是成全了他,这的确很值得探讨。2000年,如果不是乔丹的到来,也许时至今日,奇才已经打入了季后赛,而汉密尔顿也成为东部顶尖级后卫之一。因为那时他在奇才已可每场交足20分公粮,俨然一幅当家大哥的样子。但这一切都因为乔丹的一句防守不过关而改变。为何会这样,谁都知道他们二人在奇才队的位置是重叠的,一个人状态好必然影响另外一个人的出场时间。这是谁都没有办法的事情,任何伟大的友谊都无法建立在利益之争的基础上,何况原本就是萍水相逢。 但2004年,汉密尔顿得到总冠军戒指,如果不是那次转会,理查德这辈子都拿不到它也说不定。有时你不得不感叹造化弄人,就像马龙,向往总冠军一辈子,最后来到湖人队还是得不到。而汉密尔顿、比卢普斯还有本·华莱士,个个没有霸王相,却称霸了整个NBA。 让我看看汉密尔顿到来之前的活塞队是什么样子,举例来说,他们非常像现在的魔术队。斯塔克豪斯在队中一枝独秀,个人漂浮在得分榜前三位,而球队却打不进季后赛。但就和今天的魔术队一样,活塞把斯塔克豪斯看作震队之宝,是球队将来发展的依仗,如果不是乔老爷面子实在够大,这笔交易十有八九达不成。但自从汉密尔顿来到活塞之后,比卢普斯、本·华莱士和普林斯相继到位,这个阵容在2002年11月才组建完成,但却在2004年6月拿到了总冠军,不知道这是否能称作NBA组队时间最短的总冠军阵容,而汉密尔顿正式活塞王朝的奠基人之一。 我们都知道,拉里·布朗成为了第一个在NCAA和NBA执教都得到冠军的教练。然而,在他的手下,也有一个球员在NCAA和NBA都拿到过冠军,这个人就是汉密尔顿。辉煌的大学成绩造就了汉密尔顿钢铁一般的心脏,所以,在总决赛中,他率领着草明部队敢打敢拼,丝毫没有在自己的第一次总决赛经历中怯场。人们都在惊叹汉密尔顿的表现,而这一切都来自于他在高中时受到的训练。 高中时代的科比和汉密尔顿都在费城读书,科比就读郊区的私人学校洛尔梅林,汉密尔顿就读科斯特维尔高中。不知是否因为二人在高中时同在一个明星俱乐部接受过训练的缘故,日后,他们二人都成为了NBA中的铁汉,被人们尊称为两架“季后赛中的永动机”。汉密尔顿是因为他在场上永远奔跑,而科比则奔波在法庭和球场之前,不知疲惫。莱恩斯执教的全明星俱乐部聚集的正是来自费城高校的明星球员,在全家从意大利搬回美国后,科比高一那年就在高中联赛结束后加入到莱恩斯的球队。一年后,和科比同年级的汉密尔顿也加入进来。 他们是当地最优秀的篮球青年,有他们俩在队中,没人可以击败这支球队。 位置:后卫-前锋 生日:02/14/78 高度:2.01M 体重:87.5kg 毕业学校: 康涅狄格大学(Connecticut) 00年毕业 英文资料 2000年4月13日,对芝加哥公牛队,得到职业生涯最高分26分 1999年11月2日,首次在NBA亮相,对亚特兰大鹰队,得10分 过往赛季平均 每场比赛篮板 赛季 球队 上场 首发 时间 投篮% 3分% 罚球% 进攻 防守 总数 助攻 抢断 盖帽 失误 犯规 得分 99-00 奇才 71 12 19.3 .420 .364 .774 .50 1.30 1.80 1.5 .39 .08 1.18 2.00 9.0 00-01 奇才 78 42 32.3 .438 .274 .868 1.00 2.10 3.10 2.9 .96 .13 2.58 2.60 18.1 01-02 奇才 63 57 35.0 .435 .381 .890 1.20 2.30 3.40 2.7 .60 .22 2.10 2.20 20.0 02-03 活塞 82 82 32.2 .443 .269 .833 1.10 2.80 3.90 2.5 .78 .16 2.44 3.00 19.7 03-04 活塞 78 78 35.5 .455 .265 .868 1.00 2.60 3.60 4.0 1.32 .22 2.69 2.80 17.6 04-05 活塞 76 76 38.5 .440 .305 .858 1.0 2.9 3.9 4.9 1.01 .17 2.86 3.10 18.7 职业生涯 448 347 32.2 .440 .298 .855 1.0 2.3 3.3 3.1 .86 .10 2.33 2.60 17.2 季后赛 65 65 41.0 .448 .340 .850 1.2 3.1 4.3 3.8 .94 .08 3.18 3.10 21.2 个人简介 全名为Richard Clay Hamilton 绰号“Rip”(断裂) 1999年,入选美国青年国家篮球队 在他的成长之路上,有两支球队可供选择。一支拥有迈克尔·乔丹,一支没有。但是没有乔丹,他一样能够取得成功。 乔丹到底耽误了汉密尔顿还是成全了他,这的确很值得探讨。2000年,如果不是乔丹的到来,也许时至今日,奇才已经打入了季后赛,而汉密尔顿也成为东部顶尖级后卫之一。因为那时他在奇才已可每场交足20分公粮,俨然一幅当家大哥的样子。但这一切都因为乔丹的一句防守不过关而改变。为何会这样,谁都知道他们二人在奇才队的位置是重叠的,一个人状态好必然影响另外一个人的出场时间。这是谁都没有办法的事情,任何伟大的友谊都无法建立在利益之争的基础上,何况原本就是萍水相逢。 但2004年,汉密尔顿得到总冠军戒指,如果不是那次转会,理查德这辈子都拿不到它也说不定。有时你不得不感叹造化弄人,就像马龙,向往总冠军一辈子,最后来到湖人队还是得不到。而汉密尔顿、比卢普斯还有本·华莱士,个个没有霸王相,却称霸了整个NBA。 让我看看汉密尔顿到来之前的活塞队是什么样子,举例来说,他们非常像现在的魔术队。斯塔克豪斯在队中一枝独秀,个人漂浮在得分榜前三位,而球队却打不进季后赛。但就和今天的魔术队一样,活塞把斯塔克豪斯看作震队之宝,是球队将来发展的依仗,如果不是乔老爷面子实在够大,这笔交易十有八九达不成。但自从汉密尔顿来到活塞之后,比卢普斯、本·华莱士和普林斯相继到位,这个阵容在2002年11月才组建完成,但却在2004年6月拿到了总冠军,不知道这是否能称作NBA组队时间最短的总冠军阵容,而汉密尔顿正式活塞王朝的奠基人之一。 我们都知道,拉里·布朗成为了第一个在NCAA和NBA执教都得到冠军的教练。然而,在他的手下,也有一个球员在NCAA和NBA都拿到过冠军,这个人就是汉密尔顿。辉煌的大学成绩造就了汉密尔顿钢铁一般的心脏,所以,在总决赛中,他率领着草明部队敢打敢拼,丝毫没有在自己的第一次总决赛经历中怯场。人们都在惊叹汉密尔顿的表现,而这一切都来自于他在高中时受到的训练。 高中时代的科比和汉密尔顿都在费城读书,科比就读郊区的私人学校洛尔梅林,汉密尔顿就读科斯特维尔高中。不知是否因为二人在高中时同在一个明星俱乐部接受过训练的缘故,日后,他们二人都成为了NBA中的铁汉,被人们尊称为两架“季后赛中的永动机”。汉密尔顿是因为他在场上永远奔跑,而科比则奔波在法庭和球场之前,不知疲惫。莱恩斯执教的全明星俱乐部聚集的正是来自费城高校的明星球员,在全家从意大利搬回美国后,科比高一那年就在高中联赛结束后加入到莱恩斯的球队。一年后,和科比同年级的汉密尔顿也加入进来。 他们是当地最优秀的篮球青年,有他们俩在队中,没人可以击败这支球队。2023-05-23 09:34:401
NP问题的简述
首先需要介绍P(Polynomial,多项式)问题.P问题是可以在多项式时间内被确定机(通常意义的计算机)解决的问题.NP(Non-Deterministic Polynomial, 非确定多项式)问题,是指可以在多项式时间内被非确定机(他可以猜,他总是能猜到最能满足你需要的那种选择,如果你让他解决n皇后问题,他只要猜n次就能完成----每次都是那么幸运)解决的问题.这里有一个著名的问题----千禧难题之首,是说P问题是否等于NP问题,也即是否所有在非确定机上多项式可解的问题都能在确定机上用多项式时间求解.这样一来,只要我们找到一个NPC问题的多项式解,所有的NP问题都可以多项式时间内划归成这个NPC问题,再用多项式时间解决,这样NP就等于P了.换一种说法,如果一个问题的复杂度是该问题的一个实例规模n的多项式函数,则这种可以在多项式时间内解决的问题属于P类问题.通俗地称所有复杂度为多项式时间的问题为易解的问题类,否则为难解的问题。有些问题很难找到多项式时间的算法(或许根本不存在),例如“找出无向图中哈密顿回路”问题。但如果给了该问题的一个答案,可以在多项式时间内判断这个答案是否正确。例如说对于哈密顿回路问题,给一个任意的回路,很容易判断它是否是哈密顿回路(只要看是不是所有的顶点都在回路中就可以了)。这里给出NP问题的另一个定义,这种可以在多项式时间内验证一个解是否正确的问题称为NP问题,亦称为验证问题类。简单的说,存在多项式时间的算法的一类问题,称之为P类问题;在多项式时间内可由非确定机解决的一类问题,称之为NP问题。另外,很多人相信P类问题是NP问题的一个子集,但既没有人证明出有某个问题属于NP但不属于P,也没有人证明所有NP问题都能在多项式时间内有解。2023-05-23 09:34:471
假设哈密顿问题是NPC,证明:TSP(旅行商问题)属于NP-hard问题(现代优化计算方法 邢文旬主编 P50第11题)
2023-05-23 09:35:001
哈密顿对科学的贡献有哪些?
爱尔兰的都柏林市有一座名叫玻洛汉姆的桥。至今,桥头仍立着一块石碑,碑文刻的是:“1843年10月16日,当威廉·哈密顿经过此桥时,他天才地发现了四元数的乘法基本公式。”人们经过这里,都要驻足观看碑文,缅怀哈密顿对科学的伟大贡献。哈密顿,1805年生于爱尔兰首府都柏林。他的父亲是一位律师兼商人,母亲是名门小姐,父母都很有才华。但是,到他14岁时,双亲都不幸相继去世。从此,他的叔叔詹姆士·哈密顿成了他的监护人。詹姆士是一位精通多种语言的专家,哈密顿从小就受其影响,在语言上得到了早期发展。正是早期的语言发展,提高了他的逻辑思维能力,为他在数学的成就奠定了基础。12岁时,哈密顿读完了《几何原本》,接着,又读完了法国数学家克莱罗的《代数基础》。13岁时,从美国来了一位数学神童。于是,两位神童互相切磋,取长补短,使他在数学上的兴趣大增。17岁时,哈密顿就掌握了微积分,并学会了计算日食和月食的数理天文学。18岁时,他参加了都柏林三一学院的入学考试,在100多名考生中,他以第一名的成绩被录取。1827年,22岁的哈密顿大学还没有毕业,就写成了《光线系统理论》的论文。这篇论文为几何光学的建立奠定了素材基础,并且引入了所谓光学的物征函数。后来,哈密顿又对该论文作了三个补充,从数学理论推演出,在双轴晶体中按某一特殊方向传播的光线,将产生折射光线的一个圆锥。这个论点后来被光学实验证实了。当时学院里有一位很有影响的天文学教授叫布瑞克莱,他十分欣赏哈密顿的才华。1827年,布瑞克莱宣布辞去都柏林三一学院天文学教授的职位。他极力推荐,并说服校方,年仅22岁的哈密顿大学还没毕业,就成了布瑞克莱的继承人,成为天文学教授。与此同时,哈密顿又荣获了爱尔兰皇家天文学家的称号。但是,哈密顿的志向不在天文学上,他全力以赴地钻研数学。1828年开始,他就着手研究四元数。四元数是实数、复数这个数系的发展,是超复数的一种,即属于四维矢量。用现代术语来说,它是一个线性代数的组成部分。然而,经过十几年的苦心钻研,哈密顿仍然没有成功。1843年,已经是他研究四元数的15个年头了。这年的10月16日黄昏,哈密顿的妻子见丈夫整日埋头书堆,劳累不堪,于是费了好大劲才把他劝动,拉他外出散步。当时秋高气爽,景色宜人。哈密顿在妻子的陪同下,漫步在皇家护城河畔的林荫道上。一阵阵秋风吹来,带着成熟的果香。哈密顿贪婪地呼吸着河畔清新的空气,不禁心旷神怡。他暂时忘了他醉心的数学题目,陶醉在大自然之中。他们夫妻俩走上了玻洛汉姆桥,驻足桥上,望着暮色中的街景桥影,哈密顿的大脑思维突然再度活跃起来,闪光、跳荡、寻觅、联想……突然,他的思维大门一下子打开了,智慧的冲击波冲破了以往的障碍束缚,他一下子悟出了四元数运算的奥秘。他立刻掏出随身携带的笔记本,把他头脑中闪光的要点迅速记录下来。追求15年之久的四元数研究目标,终于在玻洛汉姆桥上找到了它的解法。哈密顿唯恐思路中断,急忙拉起他的夫人往家里跑去,这时,其他散步的男女老少都用奇异的目光看着这一对怪人。回到家里,哈密顿把自己关进书房,一连几天不肯出来,甚至连饭都得让人送进去。最后,他终于从数百页演算纸里,抄清出了一篇极有价值的论文。1843年11月,哈密顿在爱尔兰科学院宣布发现“四元数”,从而轰动了当时的数学界。四元数的发现,有力地推动了向量代数的发展。过去,复数理论只可用于平面向量,而空间向量问题则要用四元数向量部分来解决。哈密顿还把四元数引入微积分,定义了描述函数的数量或方向两个方面的变化的一系列概念。例如“梯度”、“旋量”等,成为研究物理学、工程学的重要计算工具。10年之后,哈密顿写成了《四元数讲义》,并于1857年发表。当时著名的物理学家麦克斯韦正在研究电和磁,他苦于无法描述电磁运动及其变化规律。电和磁都是带有方向性的量。要弄清电磁运动的规律,必须首先从数学方法上找到解决的途径。麦克斯韦曾长期用复数向量处理,却一直得不到正确结果。当哈密顿四元数问世后,终于使麦克斯韦走出困境,使他的电磁研究获得了成功,并得出了“麦克斯韦方程组”,预言了电磁波的存在。哈密顿深知四元数在科学上的重大意义。于是,在他生命的最后20多年中,一直倾注全力进行研究。他预感到,四元数的应用将在物理界引起巨大的变革。可惜的是,在这种变革没有到来之际的1865年9月2日,他因为慢性酒精中毒而离开了人间,终年60岁。2023-05-23 09:35:071
横竖都是五个圈,第一排第二个黑点过,把其他圈都连起来,不能交叉,不能重复!
第二个点开始还是第一个点连到第二个点开始?2023-05-23 09:35:368
hamilton圈算法是什么意思
哈密顿图(哈密尔顿图)(英语:Hamiltonian path,或Traceable path)是一个无向图,由天文学家哈密顿提出,由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次。在图论中是指含有哈密顿回路的图,闭合的哈密顿路径称作哈密顿回路(Hamiltonian cycle),含有图中所有顶点的路径称作哈密顿路径。 从图中的任意一点出发,路途中经过图中每一个结点当且仅当一次,则成为哈密顿回路。 要满足两个条件: ⒈封闭的环 ⒉是一个连通图,且图中任意两点可达 经过图(有向图或无向图)中所有顶点一次且仅一次的通路称为哈密顿通路。 经过图中所有顶点一次且仅一次的回路称为哈密顿回路。 具有哈密顿回路的图称为哈密顿图,具有哈密顿通路但不具有哈密顿回路的图称为半哈密顿图。 平凡图是哈密顿图。2023-05-23 09:36:201
什么是哈密顿环
正1859年,英国数学家哈密顿(R·Hamitlon,1805~1865)提出了一个著名的周游世界的游戏:以一个正十二面体的二十个顶点代表二十个城市,要求从一个城市出发,沿着棱恰好经过每个城市各一次,最后回到起点。上述游戏的解有好多种,满足要求的每一条路径都称之为哈密顿环2023-05-23 09:36:272
下面图形中 那个没有哈密尔顿通路 哪个有哈密尔顿通路但无哈密尔顿回路哪个是哈密尔顿图
(2) 无哈密尔顿通路(即无法恰好经过各点一次);(3) 有哈密尔顿通路但无哈密尔顿回路(即可以恰好经过各点一次,但无法回到起点);(1) 是哈密尔顿图(即可以恰好经过各点一次并回到起点)。2023-05-23 09:36:351
离散数学,第一二道题,能否一笔画,哈密顿回路
依据判断1包含顶点图, 任意两顶点度数都于n-1(即于等于n-1), 则存哈密尔顿通路2包含顶点图, 任意两顶点度数都于n(即于等于n), 则存哈密尔顿路存哈密尔顿路存哈密尔顿路通路(连通)路(任意顶点发都该顶点)2023-05-23 09:36:541
哈密顿原理在结构动力学中有什么应用?
如果是离散结构,刚体力学的书籍会有。如果是想从力学入手,那么应该从分析力学入手。如果是连续系统,建议参考一本有限元分析的书,最好是针对结构振动有限元的。一般这类书籍都回从哈密顿原理推导,而且会给出它和有限元方法的关系。实际上,应用中包括研究,有限元是基本仿真分析工具。复杂结构多自由度系统运动方程的建立方法,多自由度系统特别是自由度数很大系统的振动分析方法,复杂结构动力学问题的工程解决方法,确定的线性结构系统在随机激励作用下随机响应的分析方法;同时,结合作者的研究成果和实践经验,以航天飞行器为研究对象,介绍结构动力学在航天工程中的应用,包括:运载火箭结构动力学建模技术,航天飞行器动态响应(载荷)分析技术,全箭模态试验、振动试验、多维振动试验技术以及结构动态试验仿真技术,以增进解决工程问题的能力.2023-05-23 09:37:023
哈密顿算符的算法
哈密顿算符产生了量子态的时间演化。若为在时间 t 的系统状态,其中为约化普朗克常数。此方程为薛定谔方程。(其与哈密顿-雅可比方程具有相同形式,也因为此,H 冠有哈密顿之名。)若给定系统在某一初始时间(t = 0)的状态,我们可以积分得到接下来任何时间的系统状态。其中特别的是,若 H 与时间无关。首先,“▽”这个东西具有“双重性格”,它既是一个矢量,又是一个微分算子(求导运算),所以哈密顿算符兼具矢量和微分的性质。按照定义; eg:(图2) 其中x0,y0,z0分别为x,y,z坐标轴的单位矢量。 (图3)表示D的散度(也记为divD),Dx,Dy,Dz分别为D在x,y,z坐标轴上的分量。▽×H表示H的旋度(也可记为rotH或curlH)。eg:(图4) 但仅仅了解到这一地步,对我们以后简化计算没有任何帮助,当什么时候它的优势就能表现出来呢?那就是▽后的函数不再是一个简单的 f 的时候,比如说,是两个标量函数的乘积 fg,那这时就可以使用▽的微分运算性质了,以梯度运算为例,因为我们不知道grad的运算法则,所以直接做grad ( fg )是不方便的,但将其表示为▽( fg )后,我们利用▽的微分运算性质,就可以很容易的得到▽( fg )=g ▽f + f ▽g ,相当于图5 矢量运算性质的应用很好理解,这里不再赘述。知道了它的这些特性后,我们就会发现,场论书籍中给出的所有关于▽的运算公式,都有着与微分运算相似的形式,综合这两个特性,我们就很容易记忆这些公式了。实际上,对每一个公式我们都可以从定义出发给出严格的证明,但每次都回归定义是不利于我们使用好▽的特性的,反而使运算复杂化,这也就与我们引入▽算子的初衷相违了。eg:(图6) 再考虑到▽为微分算符,F应在它后面,因此后项改写为图7 故得图82023-05-23 09:37:471
求证彼得森图不是哈密顿图 (或者能证明彼得森图的边着色数是4也可以)
图论...在线等高手2023-05-23 09:38:034
离散数学问题,哈密顿图求解问题,求解,谢谢!
以7个人a,b,c,d,e,f,g作为图的顶点,如果两个人说同一种语言,则对应两个顶点之间有边。如此得到无向图G,寻找G的一条哈密顿回路,这个很简单,从任意一个顶点出发,确定回路。比如abdfgeca,按照这个顺序排座,每个人都能和他身边的人交谈。2023-05-23 09:38:111
离散数学,判断哈密顿通路的问题
设G是n阶无向简单图,若对于G中任意不相邻的顶点u、v,均有d(u)+d(v)>=n-1则G中存在哈密顿通路这个没错,但请注意:这个条件只是充分条件不是必要条件也就是说满足该条件一定存在哈密顿通路但不满足该条件不一定不存在哈密顿通路2023-05-23 09:38:191
哈密顿算符
梯度无旋啊2023-05-23 09:38:284
谁有F1哈密尔顿的资料 告诉我啊 越多越好 谢啦
百度百科2023-05-23 09:38:524
图论里面马的“周游问题”(即马走遍8*8棋盘),请问有人知道图论的证明吗?与哈密尔顿回路有关。
这的确是哈密尔顿回路问题,你没说清想证明什么命题。这个问题有解,两千多年前就有人解出了。2023-05-23 09:38:591
哈密顿回路的算法是怎样的?
哈密顿图(哈密尔顿图)(英语:hamiltonianpath,或traceablepath)是一个无向图,由天文学家哈密顿提出,由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次。在图论中是指含有哈密顿回路的图,闭合的哈密顿路径称作哈密顿回路(hamiltoniancycle),含有图中所有顶点的路径称作哈密顿路径。2023-05-23 09:39:182
哈密顿回路的介绍
哈密顿图(哈密尔顿图)(英语:Hamiltonian path,或Traceable path)是一个无向图,由天文学家哈密顿提出,由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次。在图论中是指含有哈密顿回路的图,闭合的哈密顿路径称作哈密顿回路(Hamiltonian cycle),含有图中所有顶点的路径称作哈密顿路径。2023-05-23 09:39:251
哈密顿回路的解是最优解吗
是。密顿图(哈密尔顿图)(英语:Hamiltonian graph,或Traceable graph)是一个无向图,由天文学家哈密顿提出,由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次。在图论中是指含有哈密顿回路的图,闭合的哈密顿路径称作哈密顿回路,遗传算法是求tsp问题的最短路径,我们是对函数进行优化,属于局部的优化,该算法找到的哈密顿回路很可能是局部的最优解,本次遗传算法要进行的是一种全局优化,尽可能的找到符合条件的哈密顿回路。2023-05-23 09:39:381
哈密顿回路的由来
天文学家哈密顿(William Rowan Hamilton) 提出,在一个有多个城市的地图网络中,寻找一条从给定的起点到给定的终点沿 途恰好经过所有其他城市一次的路径。这个问题和著名的七桥问题的不同之处在于,过桥只需要确定起点,而不用确定终点。哈密顿问题寻找一条从给定的起点到给定的终点沿 途恰好经过所有其他城市一次的路径。2023-05-23 09:39:441
n阶完全图中有多少条哈密顿回路(n>=3),我自己算得是n!,看有的人回
哈密顿图:图G的一个回路,若它通过图的每一个节点一次,且仅一次,就是哈密顿回路.存在哈密顿回路的图就是哈密顿图.哈密顿图就是从一点出发,经过所有的必须且只能一次,最终回到起点的路径.图中有的边可以不经过,但是不会有边被经过两次.n阶完全图中哈密顿回路的条数为:(n-1)!/2选定一个点,从这点开始到每个点的走法,只要有三个点以上就是圈,因此只管走的方法,选定构成一个圈的点算了两次,所以要除以2。若一个图的每一对不同顶点恰有一条边相连,则称为完全图。完全图是每对顶点之间都恰连有一条边的简单图。n个端点的完全图有n个端点及n(n − 1) / 2条边,以Kn表示。它是(k − 1)-正则图。所有完全图都是它本身的团。你算出的那个是无项完全图的条数吧。设Kn的每一条哈密顿回路是v1,v2...vn,v1v1,v2...vn对应完全图顶点的一个全排列所以Kn中不同的哈密顿回路有N!条。2023-05-23 09:39:571
怎样证明哈密顿回路问题是NP完全的?
在图中找出一条包含所有结点的闭路,并且,出来起点和重点重合外,这条闭路所含结点是互不相同的 可以在多项式时间类判断一个回路是否是哈密顿回路 但目前没有算法直接解出哈密顿回路 天文学家哈密顿(William Rowan Hamilton) 提出,在一个有多个城市的地图网络中, 寻找一条从给定的起点到给定的终点沿 途恰好经过所有其他城市一次的路径。 这个问题和著名的过桥问题的不同之处在于,某些城市之间的旅行不 一定是双向的。比如A→B,但B→A是不允许的。 换一种说法,对于一个给定的网络,确定起点和终点后,如果存在一条路径,穿过这个网络,我们就说这个网络存在哈密顿路径。哈密顿路径问题在上世纪七十年代初,终于被证明是“NP完备”的。据说具有这样性质的问题,难于找到一个有效的算法。实际上对于某些顶点数不到100的网络,利用现有最好的算法和计算机也需要比较荒唐的时间(比如几百年)才能确定其是否存在一条这样的路径。2023-05-23 09:40:041
怎样证明哈密顿回路问题是NP完全的?
在图中找出一条包含所有结点的闭路,并且,出来起点和重点重合外,这条闭路所含结点是互不相同的 可以在多项式时间类判断一个回路是否是哈密顿回路 但目前没有算法直接解出哈密顿回路 天文学家哈密顿(William Rowan Hamilton) 提出,在一个有多个城市的地图网络中, 寻找一条从给定的起点到给定的终点沿 途恰好经过所有其他城市一次的路径。 这个问题和著名的过桥问题的不同之处在于,某些城市之间的旅行不 一定是双向的。比如A→B,但B→A是不允许的。 换一种说法,对于一个给定的网络,确定起点和终点后,如果存在一条路径,穿过这个网络,我们就说这个网络存在哈密顿路径。哈密顿路径问题在上世纪七十年代初,终于被证明是“NP完备”的。据说具有这样性质的问题,难于找到一个有效的算法。实际上对于某些顶点数不到100的网络,利用现有最好的算法和计算机也需要比较荒唐的时间(比如几百年)才能确定其是否存在一条这样的路径。2023-05-23 09:40:121
n阶完全图中有多少条哈密顿回路
n阶完全图中哈密顿回路的条数为:(n-1)!/2选定一个点,从这点开始到每个点的走法,只要有三个点以上就是圈,因此只管走的方法,选定构成一个圈的点算了两次,所以要除以2。若一个图的每一对不同顶点恰有一条边相连,则称为完全图。完全图是每对顶点之间都恰连有一条边的简单图。n个端点的完全图有n个端点及n(n−1)/2条边,以Kn表示。它是(k−1)-正则图。所有完全图都是它本身的团(clique)。2023-05-23 09:40:201
求助:哈密顿回路数
设Kn的每一条哈密顿回路是v1,v2...vn,v1v1,v2...vn对应完全图顶点的一个全排列所以Kn中不同的哈密顿回路有N!条K3是3!=6K4是4!=24K5是5!=1202023-05-23 09:40:271
matlab最短哈密顿回路算法
可以用蚁群算法, 当然Hopfield网络与退火我也试过, 但还是蚁群的效果最好.注意: 哈密顿回路问题(TSP问题)是NP-COMPLETE问题, 问题规模比较大时无法求得最优解, 只能通过启发式算法逼近其次优解.把你的邮箱留下来吧. 我这有一份C++写的, 不过封装成MEX了, MATLAB里可以直接调用的, 速度还不错. 纯MATLAB的我也有, 不过速度慢死. 要不然我就不费事用C++重写一份了.留邮箱吧.2023-05-23 09:40:361
n阶完全图中有多少条哈密顿回路
(n-1)的阶乘除以22023-05-23 09:41:053
什么是哈密顿路径问题?
分类: 理工学科 >> 工程技术科学 解析: 也叫哈密顿回路:在图中找出一条包含所有结点的闭路,并且,出来起点和重点重合外,这条闭路所含结点是互不相同的 可以在多项式时间类判断一个回路是否是哈密顿回路 但目前没有算法直接解出哈密顿回路 天文学家哈密顿(William Rowan Hamilton) 提出,在一个有多个城市的地图网络中, 寻找一条从给定的起点到给定的终点沿 途恰好经过所有其他城市一次的路径。 这个问题和著名的过桥问题的不同之处在于,某些城市之间的旅行不 一定是双向的。比如A→B,但B→A是不允许的。换一种说法,对于一个给定的网络,确定起点和终点后,如果存在一条路径,穿过这个网络,我们就说这个网络存在哈密顿路径。哈密顿路径问题在上世纪七十年代初,终于被证明是“NP完备”的。据说具有这样性质的问题,难于找到一个有效的算法。实际上对于某些顶点数不到100的网络,利用现有最好的算法和计算机也需要比较荒唐的时间(比如几百年)才能确定其是否存在一条这样的路径。2023-05-23 09:41:111
无向完全带权图Kn中,按权计算最多有多少条不同的哈密顿回路?
设Kn的每一条哈密顿回路是v1,v2...vn,v1v1,v2...vn对应完全图顶点的一个全排列所以Kn中不同的哈密顿回路有N!条K3是3!=6K4是4!=24K5是5!=120Kn是n!条2023-05-23 09:41:191
设G是n>=3的连通图,证明若m>=0.5(n-1)(n-2)+2,则G存在哈密顿回路
一个相当猥琐的数学归纳,直接证m=(n-1)(n-2)/2+2的情形……n=3时显然成立,n=k成立,n=k+1时要在图上加k-1条边,而k-1>3-1=2,也就是说在n=k的基础上绕道走第k+1个点就行了(加的k-1条边必须至少2条加载第k+1个点上,要不余下的n=k的那个子图就强连通了)2023-05-23 09:41:282
什么是哈密顿路径问题?
也叫哈密顿回路:在图中找出一条包含所有结点的闭路,并且,出来起点和重点重合外,这条闭路所含结点是互不相同的 可以在多项式时间类判断一个回路是否是哈密顿回路 但目前没有算法直接解出哈密顿回路天文学家哈密顿(William Rowan Hamilton) 提出,在一个有多个城市的地图网络中, 寻找一条从给定的起点到给定的终点沿 途恰好经过所有其他城市一次的路径。 这个问题和著名的过桥问题的不同之处在于,某些城市之间的旅行不 一定是双向的。比如A→B,但B→A是不允许的。 换一种说法,对于一个给定的网络,确定起点和终点后,如果存在一条路径,穿过这个网络,我们就说这个网络存在哈密顿路径。哈密顿路径问题在上世纪七十年代初,终于被证明是“NP完备”的。据说具有这样性质的问题,难于找到一个有效的算法。实际上对于某些顶点数不到100的网络,利用现有最好的算法和计算机也需要比较荒唐的时间(比如几百年)才能确定其是否存在一条这样的路径。2023-05-23 09:41:351