“路径 path”的版本间的差异

来自集智百科 - 复杂系统|人工智能|复杂科学|复杂网络|自组织
跳到导航 跳到搜索
(Moved page from wikipedia:en:Path (graph theory) (history))
 
第1行: 第1行:
此词条暂由彩云小译翻译,未经人工整理和审校,带来阅读不便,请见谅。
+
本词条由Ryan初步翻译
  
 
{{for|the family of graphs known as paths|Path graph}}
 
{{for|the family of graphs known as paths|Path graph}}
第5行: 第5行:
  
  
[[File:Snake-in-the-box and Hamiltonian path.svg|thumb|right|A three-dimensional [[hypercube graph]] showing a [[Hamiltonian path]] in red, and a [[Snake-in-the-box|longest induced path]] in bold black.]]
+
[[File:Snake-in-the-box and Hamiltonian path.svg|thumb|right|
 +
图1:A three-dimensional [[hypercube graph]] showing a [[Hamiltonian path]] in red, and a [[Snake-in-the-box|longest induced path]] in bold black. 一个三维的[超立方体图表显示一个红色的哈密顿图,和一个黑色的最长诱导路径]]
  
A three-dimensional [[hypercube graph showing a Hamiltonian path in red, and a longest induced path in bold black.]]
 
 
一个三维的[超立方体图表显示一个红色的哈密顿图,和一个黑色的最长诱导路径]
 
  
  
第17行: 第15行:
 
In graph theory, a path in a graph is a finite or infinite sequence of edges which joins a sequence of vertices which, by most definitions, are all distinct (and since the vertices are distinct, so are the edges). A directed path (sometimes called dipath) in a directed graph is a finite or infinite sequence of edges which joins a sequence of distinct vertices, but with the added restriction that the edges be all directed in the same direction.
 
In graph theory, a path in a graph is a finite or infinite sequence of edges which joins a sequence of vertices which, by most definitions, are all distinct (and since the vertices are distinct, so are the edges). A directed path (sometimes called dipath) in a directed graph is a finite or infinite sequence of edges which joins a sequence of distinct vertices, but with the added restriction that the edges be all directed in the same direction.
  
在图论中,图中的路是一个有限或无限的边序列,这些边连接着一系列顶点,这些顶点在大多数定义中都是不同的(因为顶点是不同的,所以边也是不同的)。有向图中的有向路(有时称为 dipath)是一个有限或无限的边序列,它连接一系列不同的顶点,但有附加的限制,即所有的边都朝向同一个方向。
+
在图论中,图中的路径是一个有限或无限的边序列,这些边连接着一系列顶点,这些顶点在大多数定义中都是不同的(因为顶点是不同的,所以边也是不同的)。有向图中的有向路径(有时称为dipath)是一个有限或无限的边序列,它连接一系列不同的顶点,但附加的限制是所有的边都朝向同一个方向。
  
  
第25行: 第23行:
 
Paths are fundamental concepts of graph theory, described in the introductory sections of most graph theory texts. See e.g. Bondy and Murty (1976), Gibbons (1985), or Diestel (2005). Korte et al. (1990) cover more advanced algorithmic topics concerning paths in graphs.
 
Paths are fundamental concepts of graph theory, described in the introductory sections of most graph theory texts. See e.g. Bondy and Murty (1976), Gibbons (1985), or Diestel (2005). Korte et al. (1990) cover more advanced algorithmic topics concerning paths in graphs.
  
路径是图论的基本概念,在大多数图论文本的导论部分都有描述。参见。邦迪和默蒂(1976) ,吉本斯(1985) ,或迪斯特尔(2005)。等人。(1990)涵盖了更多关于图中路径的高级算法主题。
+
路径是图论的基本概念,在大多数图论文本的导论部分都有描述。邦迪和默蒂(1976) ,吉本斯(1985) ,或迪斯特尔(2005)。柯尔特(1990)等人著作中,涵盖了更多关于图中路径的高级算法话题。
  
  
  
== Definitions ==
+
== Definitions 定义==
  
=== Walk, trail, path ===
+
=== Walk, trail, path 步道 轨迹 路径===
  
[[File:Trail but not path.svg|200px|thumb|right]]
+
[[File:Trail but not path.svg|200px|thumb|right  
 +
图2:Trail from A to E,but not path 从A到E的轨迹而非路径]]
  
right
 
 
 
  
 
* A '''walk''' is a finite or infinite [[sequence]] of [[Edge (graph theory)|edges]] which joins a sequence of [[Vertex (graph theory)|vertices]].{{sfn|Bender|Williamson|2010|p=162}}
 
* A '''walk''' is a finite or infinite [[sequence]] of [[Edge (graph theory)|edges]] which joins a sequence of [[Vertex (graph theory)|vertices]].{{sfn|Bender|Williamson|2010|p=162}}
 +
步道是连接一系列顶点的有限或无限的边序列
  
: Let {{nowrap|1=''G'' = (''V'', ''E'', ''ϕ'')}} be a graph. A finite walk is a sequence of edges {{nowrap|(''e''<sub>1</sub>, ''e''<sub>2</sub>, …, ''e''<sub>''n'' − 1</sub>)}} for which there is a sequence of vertices {{nowrap|(''v''<sub>1</sub>, ''v''<sub>2</sub>, …, ''v''<sub>''n''</sub>)}} such that {{nowrap begin}}''ϕ''(''e''<sub>''i''</sub>) = {''v''<sub>''i''</sub>, ''v''<sub>''i'' + 1</sub>}{{nowrap end}} for {{nowrap|1=''i'' = 1, 2, …, ''n'' − 1}}. {{nowrap|(''v''<sub>1</sub>, ''v''<sub>2</sub>, …, ''v''<sub>''n''</sub>)}} is the ''vertex sequence'' of the walk. This walk is  ''closed'' if {{nowrap begin}}''v''<sub>1</sub> = ''v''<sub>''n''</sub>{{nowrap end}}, and ''open'' else. An infinite walk is a sequence of edges of the same type described here, but with no first or last vertex, and a semi-infinite walk (or [[End (graph theory)|ray]]) has a first vertex but no last vertex.
+
Let {{nowrap|1=''G'' = (''V'', ''E'', ''ϕ'')}} be a graph. A finite walk is a sequence of edges {{nowrap|(''e''<sub>1</sub>, ''e''<sub>2</sub>, …, ''e''<sub>''n'' − 1</sub>)}} for which there is a sequence of vertices {{nowrap|(''v''<sub>1</sub>, ''v''<sub>2</sub>, …, ''v''<sub>''n''</sub>)}} such that {{nowrap begin}}''ϕ''(''e''<sub>''i''</sub>) = {''v''<sub>''i''</sub>, ''v''<sub>''i'' + 1</sub>}{{nowrap end}} for {{nowrap|1=''i'' = 1, 2, …, ''n'' − 1}}. {{nowrap|(''v''<sub>1</sub>, ''v''<sub>2</sub>, …, ''v''<sub>''n''</sub>)}} is the ''vertex sequence'' of the walk. This walk is  ''closed'' if {{nowrap begin}}''v''<sub>1</sub> = ''v''<sub>''n''</sub>{{nowrap end}}, and ''open'' else. An infinite walk is a sequence of edges of the same type described here, but with no first or last vertex, and a semi-infinite walk (or [[End (graph theory)|ray]]) has a first vertex but no last vertex.
  
 
  Let  be a graph. A finite walk is a sequence of edges  for which there is a sequence of vertices  such that ϕ(e<sub>i</sub>) = {v<sub>i</sub>, v<sub>i + 1</sub>} for .  is the vertex sequence of the walk. This walk is  closed if v<sub>1</sub> = v<sub>n</sub>, and open else. An infinite walk is a sequence of edges of the same type described here, but with no first or last vertex, and a semi-infinite walk (or ray) has a first vertex but no last vertex.
 
  Let  be a graph. A finite walk is a sequence of edges  for which there is a sequence of vertices  such that ϕ(e<sub>i</sub>) = {v<sub>i</sub>, v<sub>i + 1</sub>} for .  is the vertex sequence of the walk. This walk is  closed if v<sub>1</sub> = v<sub>n</sub>, and open else. An infinite walk is a sequence of edges of the same type described here, but with no first or last vertex, and a semi-infinite walk (or ray) has a first vertex but no last vertex.
  
让我们做一个图。有限行走是一系列的边,其顶点序列(e < sub > i </sub >) = { v < sub > i </sub > ,v < sub > i + 1 </sub > }。是行走的顶点序列。如果 v < sub > 1 </sub > = v < sub > n </sub > ,则此步行关闭,并打开 else。一个无限漫游是一系列的边,它们的类型与这里描述的相同,但是没有第一个顶点或最后一个顶点,而一个半无限漫游(或光线)有第一个顶点,但是没有最后一个顶点。
+
让我们做一个图{{nowrap|1=''G'' = (''V'', ''E'', ''ϕ'')}} 。有限步道是一系列的边{{nowrap|(''e''<sub>1</sub>, ''e''<sub>2</sub>, …, ''e''<sub>''n'' − 1</sub>)}},其顶点序列{{nowrap|(''v''<sub>1</sub>, ''v''<sub>2</sub>, …, ''v''<sub>''n''</sub>)}}。 {{nowrap begin}}''ϕ''(''e''<sub>''i''</sub>) = {''v''<sub>''i''</sub>, ''v''<sub>''i'' + 1</sub>}{{nowrap end}}对于{{nowrap|1=''i'' = 1, 2, …, ''n'' − 1}}. {{nowrap|(''v''<sub>1</sub>, ''v''<sub>2</sub>, …, ''v''<sub>''n''</sub>)}} 是行走的顶点序列。如果 {{nowrap begin}}''v''<sub>1</sub> = ''v''<sub>''n''</sub>{{nowrap end}} ,则此步道关闭,否则就打开。一个无限步道是一系列的边,它们的类型与这里描述的相同,但是没有第一个顶点或最后一个顶点,而一个半无限步道(或光线)有第一个顶点,但是没有最后一个顶点。
  
 
* A '''trail''' is a walk in which all edges are distinct.{{sfn|Bender|Williamson|2010|p=162}}
 
* A '''trail''' is a walk in which all edges are distinct.{{sfn|Bender|Williamson|2010|p=162}}
 +
轨迹是所有的边缘都清晰可见的步道
  
 
* A '''path''' is a trail in which all vertices (and therefore also all edges) are distinct.{{sfn|Bender|Williamson|2010|p=162}}
 
* A '''path''' is a trail in which all vertices (and therefore also all edges) are distinct.{{sfn|Bender|Williamson|2010|p=162}}
 
+
路径是一条所有顶点(因此也包括所有边)都是不同的轨迹。
  
  
 
If {{nowrap|1=''w'' = (''e''<sub>1</sub>, ''e''<sub>2</sub>, …, ''e''<sub>''n'' − 1</sub>)}} is a finite walk with vertex sequence {{nowrap|(''v''<sub>1</sub>, ''v''<sub>2</sub>, …, ''v''<sub>''n''</sub>)}} then ''w'' is said to be a ''walk from'' ''v''<sub>1</sub> ''to'' ''v''<sub>''n''</sub>. Similarly for a trail or a path. If there is a finite walk between two ''distinct'' vertices then there is also a finite trail and a finite path between them.
 
If {{nowrap|1=''w'' = (''e''<sub>1</sub>, ''e''<sub>2</sub>, …, ''e''<sub>''n'' − 1</sub>)}} is a finite walk with vertex sequence {{nowrap|(''v''<sub>1</sub>, ''v''<sub>2</sub>, …, ''v''<sub>''n''</sub>)}} then ''w'' is said to be a ''walk from'' ''v''<sub>1</sub> ''to'' ''v''<sub>''n''</sub>. Similarly for a trail or a path. If there is a finite walk between two ''distinct'' vertices then there is also a finite trail and a finite path between them.
  
If is a finite walk with vertex sequence  then w is said to be a walk from v<sub>1</sub> to v<sub>n</sub>. Similarly for a trail or a path. If there is a finite walk between two distinct vertices then there is also a finite trail and a finite path between them.
+
If is a finite walk with vertex sequence  then w is said to be a walk from v<sub>1</sub> to v<sub>n</sub>. Similarly for a trail or a path. If there is a finite walk between two distinct vertices then there is also a finite trail and a finite path between them.
  
如果是有顶点序列的有限步行,那么 w 就是从 v < sub > 1 </sub > v < sub > n </sub > 的步行。同样,对于一条小路或者一条小径也是如此。如果在两个不同的顶点之间有一个有限的行走,那么在它们之间也有一个有限的轨迹和一个有限的路径。
+
如果 {{nowrap|1=''w'' = (''e''<sub>1</sub>, ''e''<sub>2</sub>, …, ''e''<sub>''n'' − 1</sub>)}}是有顶点序列 {{nowrap|(''v''<sub>1</sub>, ''v''<sub>2</sub>, …, ''v''<sub>''n''</sub>)}}的有限步道,那么 w 就是从 ''v''<sub>1</sub> ''to'' ''v''<sub>''n''</sub>的步行。同样,对于一条轨迹或者一条路径也是如此。如果在两个不同的顶点之间有一个有限步道,那么在它们之间也有一个有限的轨迹和一个有限的路径。
  
  
第65行: 第63行:
 
Some authors do not require that all vertices of a path be distinct and instead use the term simple path to refer to such a path.
 
Some authors do not require that all vertices of a path be distinct and instead use the term simple path to refer to such a path.
  
有些作者并不要求路径的所有顶点都是不同的,而是使用术语简单路径来指代这样的路径。
+
有些作者并不要求路径的所有顶点都是不同的,而是使用术语“简单路径”来指代这样的路径。
  
  
第73行: 第71行:
 
A weighted graph associates a value (weight) with every edge in the graph. The weight of a walk (or trail or path) in a weighted graph is the sum of the weights of the traversed edges. Sometimes the words cost or length are used instead of weight.
 
A weighted graph associates a value (weight) with every edge in the graph. The weight of a walk (or trail or path) in a weighted graph is the sum of the weights of the traversed edges. Sometimes the words cost or length are used instead of weight.
  
一个加权图将一个值(权)与图中的每条边相关联。一个加权图中的行走(或轨迹或路径)的权是所有行走边的权之和。有时,“成本”或“长度”这两个词用来代替“重量”。
+
一个加权图将一个值(权)与图中的每条边相关联。一个加权图中的步道(或轨迹或路径)的权是所有边的权之和。有时,“成本”或“长度”这两个词用来代替“权重”。
  
  
  
=== Directed walk, trail, path ===
+
=== Directed walk, trail, path 有向的步道,轨迹,路径===
  
 
* A '''directed walk''' is a finite or infinite [[sequence]] of [[Edge (graph theory)|edges]] directed in the same direction which joins a sequence of [[Vertex (graph theory)|vertices]].{{sfn|Bender|Williamson|2010|p=162}}
 
* A '''directed walk''' is a finite or infinite [[sequence]] of [[Edge (graph theory)|edges]] directed in the same direction which joins a sequence of [[Vertex (graph theory)|vertices]].{{sfn|Bender|Williamson|2010|p=162}}
 +
有向步道是沿相同方向定向的边的有限或无限序列,该边连接一系列顶点。
  
: Let {{nowrap|1=''G'' = (''V'', ''E'', ''ϕ'')}} be a directed graph. A finite directed walk is a sequence of edges {{nowrap|(''e''<sub>1</sub>, ''e''<sub>2</sub>, …, ''e''<sub>''n'' − 1</sub>)}} for which there is a sequence of vertices {{nowrap|(''v''<sub>1</sub>, ''v''<sub>2</sub>, …, ''v''<sub>''n''</sub>)}} such that {{nowrap|1=''ϕ''(''e''<sub>''i''</sub>) = (''v''<sub>''i''</sub>, ''v''<sub>''i'' + 1</sub>)}} for {{nowrap|1=''i'' = 1, 2, …, ''n'' − 1}}. {{nowrap|(''v''<sub>1</sub>, ''v''<sub>2</sub>, …, ''v''<sub>''n''</sub>)}} is the ''vertex sequence'' of the directed walk. An infinite directed walk is a sequence of edges of the same type described here, but with no first or last vertex, and a semi-infinite directed walk (or [[End (graph theory)|ray]]) has a first vertex but no last vertex.
+
Let {{nowrap|1=''G'' = (''V'', ''E'', ''ϕ'')}} be a directed graph. A finite directed walk is a sequence of edges {{nowrap|(''e''<sub>1</sub>, ''e''<sub>2</sub>, …, ''e''<sub>''n'' − 1</sub>)}} for which there is a sequence of vertices {{nowrap|(''v''<sub>1</sub>, ''v''<sub>2</sub>, …, ''v''<sub>''n''</sub>)}} such that {{nowrap|1=''ϕ''(''e''<sub>''i''</sub>) = (''v''<sub>''i''</sub>, ''v''<sub>''i'' + 1</sub>)}} for {{nowrap|1=''i'' = 1, 2, …, ''n'' − 1}}. {{nowrap|(''v''<sub>1</sub>, ''v''<sub>2</sub>, …, ''v''<sub>''n''</sub>)}} is the ''vertex sequence'' of the directed walk. An infinite directed walk is a sequence of edges of the same type described here, but with no first or last vertex, and a semi-infinite directed walk (or [[End (graph theory)|ray]]) has a first vertex but no last vertex.
  
Let be a directed graph. A finite directed walk is a sequence of edges  for which there is a sequence of vertices  such that  for .  is the vertex sequence of the directed walk. An infinite directed walk is a sequence of edges of the same type described here, but with no first or last vertex, and a semi-infinite directed walk (or ray) has a first vertex but no last vertex.
+
Let {{nowrap|1=''G'' = (''V'', ''E'', ''ϕ'')}} be a directed graph. A finite directed walk is a sequence of edges  for which there is a sequence of vertices  such that  for .  is the vertex sequence of the directed walk. An infinite directed walk is a sequence of edges of the same type described here, but with no first or last vertex, and a semi-infinite directed walk (or ray) has a first vertex but no last vertex.
  
设是一个有向图。有限有向行走是一系列的边,对于这些边,存在一系列的顶点。是有向行走的顶点序列。无限有向行走是一个边序列,其类型与本文描述的相同,但没有第一个顶点或最后一个顶点,而半无限有向行走(或射线)有第一个顶点,但没有最后一个顶点。
+
一个有向图{{nowrap|1=''G'' = (''V'', ''E'', ''ϕ'')}}。有限有向步道是一系列的边 {{nowrap|(''e''<sub>1</sub>, ''e''<sub>2</sub>, …, ''e''<sub>''n'' − 1</sub>)}},对于这些边,存在一系列的顶点 {{nowrap|(''v''<sub>1</sub>, ''v''<sub>2</sub>, …, ''v''<sub>''n''</sub>)}}。{{nowrap|1=''ϕ''(''e''<sub>''i''</sub>) = (''v''<sub>''i''</sub>, ''v''<sub>''i'' + 1</sub>)}}对于{{nowrap|1=''i'' = 1, 2, …, ''n'' − 1}}. {{nowrap|(''v''<sub>1</sub>, ''v''<sub>2</sub>, …, ''v''<sub>''n''</sub>)}}是有向步道的顶点序列。无限有向步道是一个边序列,其类型与本文描述的相同,但没有第一个顶点或最后一个顶点,而半无限有向步道(或射线)有第一个顶点,但没有最后一个顶点。
  
 
* A '''directed trail''' is a directed walk in which all edges are distinct.{{sfn|Bender|Williamson|2010|p=162}}
 
* A '''directed trail''' is a directed walk in which all edges are distinct.{{sfn|Bender|Williamson|2010|p=162}}
 +
有向轨迹是指所有边缘都清晰可见的有向轨迹。
  
 
* A '''directed path''' is a directed trail in which all vertices are distinct.{{sfn|Bender|Williamson|2010|p=162}}
 
* A '''directed path''' is a directed trail in which all vertices are distinct.{{sfn|Bender|Williamson|2010|p=162}}
 
+
有向路径是指所有顶点都是不同的有向路径。
  
  
第97行: 第97行:
 
If  is a finite directed walk with vertex sequence  then w is said to be a walk from v<sub>1</sub> to v<sub>n</sub>. Similarly for a directed trail or a path. If there is a finite directed walk between two distinct vertices then there is also a finite directed trail and a finite directed path between them.
 
If  is a finite directed walk with vertex sequence  then w is said to be a walk from v<sub>1</sub> to v<sub>n</sub>. Similarly for a directed trail or a path. If there is a finite directed walk between two distinct vertices then there is also a finite directed trail and a finite directed path between them.
  
如果是一个顶点序列有限的有向步行,那么 w 就是从 v < sub > 1 </sub > 到 v < sub > n </sub > 的步行。同样,对于有向轨迹或路径也是如此。如果在两个不同的顶点之间存在有限有向游动,那么在它们之间也存在有限有向轨迹和有限有向路。
+
如果{{nowrap|1=''w'' = (''e''<sub>1</sub>, ''e''<sub>2</sub>, …, ''e''<sub>''n'' − 1</sub>)}}是一个顶点序列有限的{{nowrap|(''v''<sub>1</sub>, ''v''<sub>2</sub>, …, ''v''<sub>''n''</sub>)}}有向步道,那么 w 就是从 ''v''<sub>1</sub> '''' ''v''<sub>''n''</sub>的步行。同样,对于有向轨迹或路径也是如此。如果在两个不同的顶点之间存在有限有向步道,那么在它们之间也存在有限有向轨迹和有限有向路径。
  
  
第105行: 第105行:
 
Some authors do not require that all vertices of a directed path be distinct and instead use the term simple directed path to refer to such a directed path.
 
Some authors do not require that all vertices of a directed path be distinct and instead use the term simple directed path to refer to such a directed path.
  
有些作者并不要求有向路的所有顶点都是不同的,而是用简单有向路这个术语来表示这样一个有向路。
+
有些作者并不要求有向路径的所有顶点都是不同的,而是用“简单有向路径”这个术语来表示这样一个有向路。
  
  
第113行: 第113行:
 
A weighted directed graph associates a value (weight) with every edge in the directed graph. The weight of a directed walk (or trail or path) in a weighted directed graph is the sum of the weights of the traversed edges. Sometimes the words cost or length are used instead of weight.
 
A weighted directed graph associates a value (weight) with every edge in the directed graph. The weight of a directed walk (or trail or path) in a weighted directed graph is the sum of the weights of the traversed edges. Sometimes the words cost or length are used instead of weight.
  
一个加权有向图将一个值(权)与有向图中的每条边相关联。加权有向图中有向行走(或路径)的权是有向行走边权的和。有时,“成本”或“长度”这两个词用来代替“重量”。
+
一个加权有向图将一个值(权)与有向图中的每条边相关联。加权有向图中有向步道(或路径)的权是有向边权重的和。有时,“成本”或“长度”这两个词用来代替“权重”。
  
  
  
== Examples ==
+
== Examples 例子==
  
 
* A graph is [[Connectivity (graph theory)|connected]] if there are paths containing each pair of vertices.
 
* A graph is [[Connectivity (graph theory)|connected]] if there are paths containing each pair of vertices.
 +
如果路径包含每一对顶点,则图是连通的。
  
 
* A directed graph is [[Strongly-connected digraph|strongly connected]] if there are oppositely oriented directed paths containing each pair of vertices.
 
* A directed graph is [[Strongly-connected digraph|strongly connected]] if there are oppositely oriented directed paths containing each pair of vertices.
 +
如果一个有向图中存在包含每对顶点的相对有向路径,那么这个有向图就是强连通的。
  
 
* A path such that no graph edges connect two nonconsecutive path vertices is called an [[induced path]].
 
* A path such that no graph edges connect two nonconsecutive path vertices is called an [[induced path]].
 +
没有图的边连接两个不连续的路径顶点的路径称为诱导路径。
  
 
* A path that includes every vertex of the graph is known as a [[Hamiltonian path]].
 
* A path that includes every vertex of the graph is known as a [[Hamiltonian path]].
 +
包含图的每个顶点的路径称为哈密顿路径。
  
 
* Two paths are ''vertex-independent'' (alternatively, ''internally vertex-disjoint'') if they do not have any internal vertex in common. Similarly, two paths are ''edge-independent'' (or ''edge-disjoint'') if they do not have any internal edge in common.  Two internally vertex-disjoint paths are edge-disjoint, but the converse is not necessarily true.
 
* Two paths are ''vertex-independent'' (alternatively, ''internally vertex-disjoint'') if they do not have any internal vertex in common. Similarly, two paths are ''edge-independent'' (or ''edge-disjoint'') if they do not have any internal edge in common.  Two internally vertex-disjoint paths are edge-disjoint, but the converse is not necessarily true.
 +
如果两条路径没有任何共同的内部顶点,则它们与顶点无关(或者,内部顶点不相交)。类似地,如果两条路径没有任何共同的内边,则它们是边独立的(或边不相交)。两条内部顶点不相交的路径是边不相交的,但反过来也不一定是正确的。
  
 
* The [[Distance (graph theory)|distance]] between two vertices in a graph is the length of a shortest path between them, if one exists, and otherwise the distance is infinity.
 
* The [[Distance (graph theory)|distance]] between two vertices in a graph is the length of a shortest path between them, if one exists, and otherwise the distance is infinity.
 +
图中两个顶点之间的距离是它们之间最短路径的长度(如果存在),否则该距离是无穷大。
  
 
* The diameter of a connected graph is the largest distance (defined above) between pairs of vertices of the graph.
 
* The diameter of a connected graph is the largest distance (defined above) between pairs of vertices of the graph.
 +
连接图的直径是图的顶点对之间的最大距离(如上定义)。
  
  
 
+
== Finding paths 路径寻找==
== Finding paths ==
 
  
 
Several algorithms exist to find [[Shortest path problem|shortest]] and [[Longest path problem|longest]] paths in graphs, with the important distinction that the former problem is computationally much easier than the latter.
 
Several algorithms exist to find [[Shortest path problem|shortest]] and [[Longest path problem|longest]] paths in graphs, with the important distinction that the former problem is computationally much easier than the latter.
第141行: 第147行:
 
Several algorithms exist to find shortest and longest paths in graphs, with the important distinction that the former problem is computationally much easier than the latter.
 
Several algorithms exist to find shortest and longest paths in graphs, with the important distinction that the former problem is computationally much easier than the latter.
  
图的最短路径和最长路径的求解有几种算法,但前者的计算比后者简单得多,这是一个重要区别。
+
图的最短路径和最长路径的求解有几种算法,但一个重要区别是前者的计算比后者简单得多。
  
  
第149行: 第155行:
 
Dijkstra's algorithm produces a list of shortest paths from a source vertex to every other vertex in directed and undirected graphs with non-negative edge weights (or no edge weights), whilst the Bellman–Ford algorithm can be applied to directed graphs with negative edge weights.  The Floyd–Warshall algorithm can be used to find the shortest paths between all pairs of vertices in weighted directed graphs.
 
Dijkstra's algorithm produces a list of shortest paths from a source vertex to every other vertex in directed and undirected graphs with non-negative edge weights (or no edge weights), whilst the Bellman–Ford algorithm can be applied to directed graphs with negative edge weights.  The Floyd–Warshall algorithm can be used to find the shortest paths between all pairs of vertices in weighted directed graphs.
  
Dijkstra 算法产生了一个从源顶点到无向有向图中每个顶点的最短路径列表,而 Bellman-Ford 算法可以应用于具有负边权的有向图。利用 Floyd-Warshall 算法可以求出加权有向图中所有顶点对之间的最短路径。
+
Dijkstra 算法产生了一个从源顶点到无向或有向图中每个顶点的最短路径列表,而 Bellman-Ford 算法可以应用于具有负边权重的有向图。利用 Floyd-Warshall 算法可以求出加权有向图中所有顶点对之间的最短路径。
  
  
  
== See also ==
+
== See also 另请参见==
  
 
* [[Glossary of graph theory]]
 
* [[Glossary of graph theory]]
 +
图论词汇
  
 
* [[Path graph]]
 
* [[Path graph]]
 +
路径图
  
 
* [[Polygonal chain]]
 
* [[Polygonal chain]]
 +
多边形链
  
 
* [[Shortest path problem]]
 
* [[Shortest path problem]]
 +
最短路径问题
  
 
* [[Longest path problem]]
 
* [[Longest path problem]]
 +
最长路径问题
  
 
* [[Dijkstra's algorithm]]
 
* [[Dijkstra's algorithm]]
 +
Dijkstra算法
  
 
* [[Bellman–Ford algorithm]]
 
* [[Bellman–Ford algorithm]]
 +
Bellman–Ford算法
  
 
* [[Floyd–Warshall algorithm]]
 
* [[Floyd–Warshall algorithm]]
 +
Floyd–Warshall算法
  
 
* [[Self-avoiding walk]]
 
* [[Self-avoiding walk]]
 +
自我避免的步道
  
 
*[[Shortest-path graph]]
 
*[[Shortest-path graph]]
 +
最短路径图
  
  
 
+
== References 引用==
== References ==
 
  
 
{{Reflist}}
 
{{Reflist}}

2020年9月2日 (三) 19:47的版本

本词条由Ryan初步翻译


图1:A three-dimensional hypercube graph showing a Hamiltonian path in red, and a longest induced path in bold black. 一个三维的[超立方体图表显示一个红色的哈密顿图,和一个黑色的最长诱导路径



In graph theory, a path in a graph is a finite or infinite sequence of edges which joins a sequence of vertices which, by most definitions, are all distinct (and since the vertices are distinct, so are the edges). A directed path (sometimes called dipath[1]) in a directed graph is a finite or infinite sequence of edges which joins a sequence of distinct vertices, but with the added restriction that the edges be all directed in the same direction.

In graph theory, a path in a graph is a finite or infinite sequence of edges which joins a sequence of vertices which, by most definitions, are all distinct (and since the vertices are distinct, so are the edges). A directed path (sometimes called dipath) in a directed graph is a finite or infinite sequence of edges which joins a sequence of distinct vertices, but with the added restriction that the edges be all directed in the same direction.

在图论中,图中的路径是一个有限或无限的边序列,这些边连接着一系列顶点,这些顶点在大多数定义中都是不同的(因为顶点是不同的,所以边也是不同的)。有向图中的有向路径(有时称为dipath)是一个有限或无限的边序列,它连接一系列不同的顶点,但附加的限制是所有的边都朝向同一个方向。


Paths are fundamental concepts of graph theory, described in the introductory sections of most graph theory texts. See e.g. Bondy and Murty (1976), Gibbons (1985), or Diestel (2005). Korte et al. (1990) cover more advanced algorithmic topics concerning paths in graphs.

Paths are fundamental concepts of graph theory, described in the introductory sections of most graph theory texts. See e.g. Bondy and Murty (1976), Gibbons (1985), or Diestel (2005). Korte et al. (1990) cover more advanced algorithmic topics concerning paths in graphs.

路径是图论的基本概念,在大多数图论文本的导论部分都有描述。邦迪和默蒂(1976) ,吉本斯(1985) ,或迪斯特尔(2005)。柯尔特(1990)等人著作中,涵盖了更多关于图中路径的高级算法话题。


Definitions 定义

Walk, trail, path 步道 轨迹 路径

right 图2:Trail from A to E,but not path 从A到E的轨迹而非路径


步道是连接一系列顶点的有限或无限的边序列

Let G = (V, E, ϕ) be a graph. A finite walk is a sequence of edges (e1, e2, …, en − 1) for which there is a sequence of vertices (v1, v2, …, vn) such that 模板:Nowrap beginϕ(ei) = {vi, vi + 1}模板:Nowrap end for i = 1, 2, …, n − 1. (v1, v2, …, vn) is the vertex sequence of the walk. This walk is closed if 模板:Nowrap beginv1 = vn模板:Nowrap end, and open else. An infinite walk is a sequence of edges of the same type described here, but with no first or last vertex, and a semi-infinite walk (or ray) has a first vertex but no last vertex.

Let  be a graph. A finite walk is a sequence of edges  for which there is a sequence of vertices  such that ϕ(ei) = {vi, vi + 1} for .  is the vertex sequence of the walk. This walk is  closed if v1 = vn, and open else. An infinite walk is a sequence of edges of the same type described here, but with no first or last vertex, and a semi-infinite walk (or ray) has a first vertex but no last vertex.

让我们做一个图G = (V, E, ϕ) 。有限步道是一系列的边(e1, e2, …, en − 1),其顶点序列(v1, v2, …, vn)模板:Nowrap beginϕ(ei) = {vi, vi + 1}模板:Nowrap end对于i = 1, 2, …, n − 1. (v1, v2, …, vn) 是行走的顶点序列。如果 模板:Nowrap beginv1 = vn模板:Nowrap end ,则此步道关闭,否则就打开。一个无限步道是一系列的边,它们的类型与这里描述的相同,但是没有第一个顶点或最后一个顶点,而一个半无限步道(或光线)有第一个顶点,但是没有最后一个顶点。

  • A trail is a walk in which all edges are distinct.模板:Sfn

轨迹是所有的边缘都清晰可见的步道

  • A path is a trail in which all vertices (and therefore also all edges) are distinct.模板:Sfn

路径是一条所有顶点(因此也包括所有边)都是不同的轨迹。


If w = (e1, e2, …, en − 1) is a finite walk with vertex sequence (v1, v2, …, vn) then w is said to be a walk from v1 to vn. Similarly for a trail or a path. If there is a finite walk between two distinct vertices then there is also a finite trail and a finite path between them.

If is a finite walk with vertex sequence then w is said to be a walk from v1 to vn. Similarly for a trail or a path. If there is a finite walk between two distinct vertices then there is also a finite trail and a finite path between them.

如果 w = (e1, e2, …, en − 1)是有顶点序列 (v1, v2, …, vn)的有限步道,那么 w 就是从 v1 to vn的步行。同样,对于一条轨迹或者一条路径也是如此。如果在两个不同的顶点之间有一个有限步道,那么在它们之间也有一个有限的轨迹和一个有限的路径。


Some authors do not require that all vertices of a path be distinct and instead use the term simple path to refer to such a path.

Some authors do not require that all vertices of a path be distinct and instead use the term simple path to refer to such a path.

有些作者并不要求路径的所有顶点都是不同的,而是使用术语“简单路径”来指代这样的路径。


A weighted graph associates a value (weight) with every edge in the graph. The weight of a walk (or trail or path) in a weighted graph is the sum of the weights of the traversed edges. Sometimes the words cost or length are used instead of weight.

A weighted graph associates a value (weight) with every edge in the graph. The weight of a walk (or trail or path) in a weighted graph is the sum of the weights of the traversed edges. Sometimes the words cost or length are used instead of weight.

一个加权图将一个值(权)与图中的每条边相关联。一个加权图中的步道(或轨迹或路径)的权是所有边的权之和。有时,“成本”或“长度”这两个词用来代替“权重”。


Directed walk, trail, path 有向的步道,轨迹,路径

有向步道是沿相同方向定向的边的有限或无限序列,该边连接一系列顶点。

Let G = (V, E, ϕ) be a directed graph. A finite directed walk is a sequence of edges (e1, e2, …, en − 1) for which there is a sequence of vertices (v1, v2, …, vn) such that ϕ(ei) = (vi, vi + 1) for i = 1, 2, …, n − 1. (v1, v2, …, vn) is the vertex sequence of the directed walk. An infinite directed walk is a sequence of edges of the same type described here, but with no first or last vertex, and a semi-infinite directed walk (or ray) has a first vertex but no last vertex.

Let G = (V, E, ϕ) be a directed graph. A finite directed walk is a sequence of edges for which there is a sequence of vertices such that for . is the vertex sequence of the directed walk. An infinite directed walk is a sequence of edges of the same type described here, but with no first or last vertex, and a semi-infinite directed walk (or ray) has a first vertex but no last vertex.

一个有向图G = (V, E, ϕ)。有限有向步道是一系列的边 (e1, e2, …, en − 1),对于这些边,存在一系列的顶点 (v1, v2, …, vn)ϕ(ei) = (vi, vi + 1)对于i = 1, 2, …, n − 1. (v1, v2, …, vn)是有向步道的顶点序列。无限有向步道是一个边序列,其类型与本文描述的相同,但没有第一个顶点或最后一个顶点,而半无限有向步道(或射线)有第一个顶点,但没有最后一个顶点。

  • A directed trail is a directed walk in which all edges are distinct.模板:Sfn

有向轨迹是指所有边缘都清晰可见的有向轨迹。

  • A directed path is a directed trail in which all vertices are distinct.模板:Sfn

有向路径是指所有顶点都是不同的有向路径。


If w = (e1, e2, …, en − 1) is a finite directed walk with vertex sequence (v1, v2, …, vn) then w is said to be a walk from v1 to vn. Similarly for a directed trail or a path. If there is a finite directed walk between two distinct vertices then there is also a finite directed trail and a finite directed path between them.

If is a finite directed walk with vertex sequence then w is said to be a walk from v1 to vn. Similarly for a directed trail or a path. If there is a finite directed walk between two distinct vertices then there is also a finite directed trail and a finite directed path between them.

如果w = (e1, e2, …, en − 1)是一个顶点序列有限的(v1, v2, …, vn)有向步道,那么 w 就是从 v1 vn的步行。同样,对于有向轨迹或路径也是如此。如果在两个不同的顶点之间存在有限有向步道,那么在它们之间也存在有限有向轨迹和有限有向路径。


Some authors do not require that all vertices of a directed path be distinct and instead use the term simple directed path to refer to such a directed path.

Some authors do not require that all vertices of a directed path be distinct and instead use the term simple directed path to refer to such a directed path.

有些作者并不要求有向路径的所有顶点都是不同的,而是用“简单有向路径”这个术语来表示这样一个有向路。


A weighted directed graph associates a value (weight) with every edge in the directed graph. The weight of a directed walk (or trail or path) in a weighted directed graph is the sum of the weights of the traversed edges. Sometimes the words cost or length are used instead of weight.

A weighted directed graph associates a value (weight) with every edge in the directed graph. The weight of a directed walk (or trail or path) in a weighted directed graph is the sum of the weights of the traversed edges. Sometimes the words cost or length are used instead of weight.

一个加权有向图将一个值(权)与有向图中的每条边相关联。加权有向图中有向步道(或路径)的权是有向边权重的和。有时,“成本”或“长度”这两个词用来代替“权重”。


Examples 例子

  • A graph is connected if there are paths containing each pair of vertices.

如果路径包含每一对顶点,则图是连通的。

  • A directed graph is strongly connected if there are oppositely oriented directed paths containing each pair of vertices.

如果一个有向图中存在包含每对顶点的相对有向路径,那么这个有向图就是强连通的。

  • A path such that no graph edges connect two nonconsecutive path vertices is called an induced path.

没有图的边连接两个不连续的路径顶点的路径称为诱导路径。

包含图的每个顶点的路径称为哈密顿路径。

  • Two paths are vertex-independent (alternatively, internally vertex-disjoint) if they do not have any internal vertex in common. Similarly, two paths are edge-independent (or edge-disjoint) if they do not have any internal edge in common. Two internally vertex-disjoint paths are edge-disjoint, but the converse is not necessarily true.

如果两条路径没有任何共同的内部顶点,则它们与顶点无关(或者,内部顶点不相交)。类似地,如果两条路径没有任何共同的内边,则它们是边独立的(或边不相交)。两条内部顶点不相交的路径是边不相交的,但反过来也不一定是正确的。

  • The distance between two vertices in a graph is the length of a shortest path between them, if one exists, and otherwise the distance is infinity.

图中两个顶点之间的距离是它们之间最短路径的长度(如果存在),否则该距离是无穷大。

  • The diameter of a connected graph is the largest distance (defined above) between pairs of vertices of the graph.

连接图的直径是图的顶点对之间的最大距离(如上定义)。


Finding paths 路径寻找

Several algorithms exist to find shortest and longest paths in graphs, with the important distinction that the former problem is computationally much easier than the latter.

Several algorithms exist to find shortest and longest paths in graphs, with the important distinction that the former problem is computationally much easier than the latter.

图的最短路径和最长路径的求解有几种算法,但一个重要区别是前者的计算比后者简单得多。


Dijkstra's algorithm produces a list of shortest paths from a source vertex to every other vertex in directed and undirected graphs with non-negative edge weights (or no edge weights), whilst the Bellman–Ford algorithm can be applied to directed graphs with negative edge weights. The Floyd–Warshall algorithm can be used to find the shortest paths between all pairs of vertices in weighted directed graphs.

Dijkstra's algorithm produces a list of shortest paths from a source vertex to every other vertex in directed and undirected graphs with non-negative edge weights (or no edge weights), whilst the Bellman–Ford algorithm can be applied to directed graphs with negative edge weights. The Floyd–Warshall algorithm can be used to find the shortest paths between all pairs of vertices in weighted directed graphs.

Dijkstra 算法产生了一个从源顶点到无向或有向图中每个顶点的最短路径列表,而 Bellman-Ford 算法可以应用于具有负边权重的有向图。利用 Floyd-Warshall 算法可以求出加权有向图中所有顶点对之间的最短路径。


See also 另请参见

图论词汇

路径图

多边形链

最短路径问题

最长路径问题

Dijkstra算法

Bellman–Ford算法

Floyd–Warshall算法

自我避免的步道

最短路径图


References 引用

  1. Graph Structure Theory: Proceedings of the AMS-IMS-SIAM Joint Summer Research Conference on Graph Minors, Held June 22 to July 5, 1991, p.205
  • Gibbons, A. (1985). Algorithmic Graph Theory. Cambridge University Press. p. 5-6. ISBN 0-521-28881-9. 

Category:Graph theory objects

范畴: 图论对象

Category:Graph connectivity

类别: 图形连接性


模板:Interwiki extra


This page was moved from wikipedia:en:Path (graph theory). Its edit history can be viewed at 路径/edithistory