• Aucun résultat trouvé

Figure 4-3. Three graphs that are homeomorphic

Dans le document [ Team LiB ] (Page 170-176)

A plane graph is a graph whose vertices are points in the plane RxR (where R is the real number line) and whose edges are lines in the plane which have no intersection point other than at vertex points. Any graph that is isomorphic to a plane graph is called a planar graph. In practice this means there must exist some way of drawing the graph on a flat page (the plane), so that no edges cross. Physical layer transport networks tend to be almost, but not always, planar. This arises primarily from a tendency in the physical layer for nodes to be directly connected by facility routes only to geographical regional neighbor nodes. Furthermore, non-planarity would imply that two edges in the graph will intersect at some location other than a vertex, creating a single point of failure for both edges. Higher level logical transport graphs can be much farther from planarity, with logical edges between almost any pair of nodes.

One aspect of a connected planar graph is that it divides the RxR plane into separate non-overlapping regions called faces. Some faces are bounded (i.e., those interior to the graph) and some are unbounded (at an outside edge of the graph). Euler's formula relates the number of such faces |F| to the number of vertices |V| and edges |E| of any planar graph:

Equation 4.1

Note that |F| includes the unbounded face in addition to all of the bounded faces. For instance, all of the graphs in Figure 4-3 have 6 faces, and the graph in Figure 4-1(b) has 4 faces. To the extent that physical transport networks tend toward planarity, the number of interior faces can play a role in suggesting a number of rings used in ring-based designs. In fact there is a temptation in ring network design to lay one ring down as a bounding box of each face. While this is often stated to appear to be the "natural set of rings" for the network, such simple tiling of the plane with rings is usually inefficient because it makes for many ring-span overlaps. Although our scope is limited to mesh networks, p-cycles are in some senses ring-like. Chapter 10, which is devoted to p-cycles, contains some illustration of this point.

Figure 4-4 and Figure 4-5 illustrate a few further points about planarity. First, a planar graph may not look planar upon first sight. Secondly, an interesting result called Kuratowski's theorem is that a graph is planar if and only if it contains no subgraph that is homeomorphic to K3,3 or K5. Kn denotes what is called a complete graph on n vertices where every vertex is connected by a unique edge to all (n-1) other vertices. Kn,m denotes a complete bipartite graph on n and m vertices. This is a graph where the vertices are grouped into two sets |V1| =n,

|V2| = m and each vertex is connected by a unique edge to all vertices of the other vertex set (i.e., of which it is not a member).

Figure 4-4. Two graphs that are planar: (a) is evident, (b) is seen by pushing an edge out of the way to obtain (c).

Figure 4-5. The two fundamentally non-planar graphs K

3,3

and K

5

.

A graph is two-edge connected if has at least two edge-disjoint paths between every pair of vertices. A graph is two-vertex connected or biconnected if it has at least two vertex-disjoint paths between every pair of vertices. Graph connectivity properties are important for transport networks because to survive all single failures, the graph must be at least two-edge connected for it to be topologically possible to protect or restore failed spans. Characteristics of a biconnected network are quite recognizable by visual inspection. Such a network will have no degree-one or stub nodes and is bridgeless, or in other words, has no articulation points. Articulation points are also called bridge nodes or cut-nodes, and are nodes whose single failure would partition the graph into two disconnected parts. Figure 4-6 illustrates this. The property of two-edge connectedness is also referred to simply as two-connectedness. Either two-connectedness or bi-connectivity is suitable for survivable network design against span failures, but bi-connectivity is preferred to avoid there being any single node whose failure would break the network into two disconnected pieces. In general in following sections, we are not dependent on whether a graph is two-connected or biconnected, but it must have at least one of these properties. We refer to such graphs in general as closed. In practice, however, virtually all survivable fiber-based transport networks are biconnected in their physical layer graph.

Figure 4-6. A biconnected network (a) has no degree-one sites, as in (b), and no articulation points or bridge nodes, as in (c).

If we view transmission systems as providing pairs of symmetric bidirectional edge pairs, the directed network that results in this viewpoint is a strongly connected digraph. A digraph is strongly connected if for every ordered pair of vertices (v,w), there is a directed path from v to w.

A tree is a connected undirected graph containing no cycles. A forest is a set of trees. In a connected undirected graph there is at least one path between every pair of vertices. The absence of a cycle in a connected undirected graph implies that there is at least one pair of nodes for which there only one disjoint path between the nodes. Therefore, in a tree there is only one path between every pair of vertices. A spanning tree is a subgraph of G that contains every vertex in G. If G is not connected, the set of spanning trees for each connected component is called a spanning forest.

4.1.3 Transport Network Terminology

In graph theory, the terms arc, edge, or link are essentially interchangeable for the connection between adjacent nodes and terms path and route are synonymous in referring to a connected sequence of edges. In transport networking, however, we are always dealing with a capacitated graph or discrete multigraph view of the graph because each physical transmission system provides a discrete set of logical point-to-point capacity units in parallel between its transmission terminals. These are typically fibers, lightpaths or OC-n signal units. These unit-capacity transmission links or channels are cross-connected to form paths to bear the logical point-to-point requirements of the services layer between node pairs.

In this book, the basic unit of capacity on which switching devices operate to inter-connect capacity is called a link or a channel. The

physical entity that is the collection of all such unit-capacity links in parallel between neighbor nodes is called a span. A span is subject to physical damage that will affect all its links simultaneously. A route is defined as a concatenation of spans (i.e., simply a geographical route over the fiber map) and a path is a specific cross-connected sequence of individual links (or channels) on spans. Thus a path provides a specific unit-capacity signal propagation sequence embedded within, and cross-connected through, a sequence of transmission spans.

Figure 4-7 summarizes these basic concepts and terminology as used in this book. Note that every path has a route and multiple paths may follow the same route, but path and route are distinct concepts.

Figure 4-7. Concepts of span, link (or channel), route and path in transport networking.

Precise and consistent use of the terms link, span, path and route facilitates discussion of a wide range of arguments set in a generic transport network context. In a SONET context a link may correspond to a single fiber bearing an OC-48 and the span is the cable containing many such fibers. Paths are end-to-end OC-48 connections. If cross-connection is at the OC-48 level then a fiber bearing an OC-192 represents four links on the span. In a DWDM context with cross-connection at the lightwave level then each lightwave channel corresponds to the generic "link" entity and paths are end-to-end lightpaths. As we use them, the terms "span" and "link" have their origins in the transmission community. As Bhandari explains, span and link allow us to distinguish between the entities that map into logical links of higher levels and the physical transmission spans over which all end-to-end paths (logical links in higher layers) are established:

"In reality, networks such as the telecommunication fiber networks can be more complicated than the traditional graph-theoretic networks described by vertices and edges… spans are the actual physical links that comprise the physical network. Links (or edges) of the (logical) network are built from spans. As a result, a given span can be common to a number of links...The physical layout of a fiber network consists of links, where each link (also sometimes called a logical connection) connects a pair of nodes: a link is in general a series of contiguous physical connections called spans." [Bhan99] page 117.

There is, however, no standard usage of terms in the industry as a whole. Duct or cable is sometimes also used as a synonym for span. A span is also referred to as the "default SRLG" in the framework of shared risk link groups (Section 1.5.4). But the main thing to be cautious of misinterpreting is "link." In many sources "link" refers to what we call a span and may even refer to a path when viewed from the service layer. As a practical matter the term link has lost all precision because it is used so generally for almost any notion of interconnection. We therefore increasingly rely on the term channel to replace it, but "link," as defined above, is still found in prior literature, where it refers to a managed unit of cross-connected capacity, not the entire physical connection between two nodes. If readers are generally aware of this confusion they can, however, usually infer the intent when authors use "link" for everything, from the context. Generally in past literature in the transmission engineering community, link has usually meant a single-channel capacity unit (as here). But in much current literature for optical networking, link means what we call a span. The point is not trivial when one considers the confusion it causes in reference, for example, to a "k-shortest link-disjoint paths" algorithm.

4.1.4 Distinct and Disjoint Routes

Two routes are distinct if they simply differ in any detail. Routes are disjoint if they have no elements (spans or nodes) in common.

Sometimes for emphasis or clarity one sees "fully disjoint" or "node and span disjoint" but both are what "disjoint" strictly implies. An exception is commonly implied to allow the end nodes to be the same when talking about disjoint routes. For instance, a 1+1 protection scheme may be arranged between two nodes by established two paths with common end points following disjoint routes at all locations but the end nodes. Two routes are span disjoint if they have no span in common, although nodes other than the end nodes may appear in common between the routes. Figure 4-8 shows the differences.

Figure 4-8. Paths having (a) fully disjoint, (b) span disjoint and (c) distinct routes.

4.1.5 Data Representations of Graphs

The information to specify a graph for computer or mathematical purposes is usually represented by an adjacency matrix or adjacency list.

An adjacency matrix is an n x n matrix where non-zero entries represent the existence of an edge. For an undirected graph, a 1 in the matrix at row i, column j represents a bidirectional edge between nodes (i,j) (and the entry in row j, column i is ignored). If the graph is directed the matrix coordinates (i,j) and (j,i) contain independent indications of whether an edge exists. If the matrix entries are strictly 1/0 indications then the matrix encodes only edge incidence information and is called an incidence matrix. If an edge exists, however, it is easy to use the adjacency matrix to encode additional attributes such as capacity or edge distance.

A more efficient and compact representation of a network is an adjacency list. One form of adjacency list can be thought of as a set of lists where each vertex appears once, associated with a listing of the other vertices to which it is directly connected. Thus an edge (v,w) exists if w is a member of the vth

sub-list. For a graph with directed edges, no edge is specified more than once in the type of adjacency list just described, because directed edges (v, w) and (w,v) are distinct entities. For undirected graphs, however, (w,v) is redundant if (v,w) is listed earlier. Using linked-list techniques each sub-list entry can also be a data record describing the attributes of the edge such as its length, capacity, cost, and so on.

The same information may also be presented as a single flat list of the (v,w) vertex pairs for which edges exist. This format of a single list of spans that exist implicitly specifies all vertices that exist in the network as well as the edges between them.

[ Team LiB ]

[ Team LiB ]

4.2 Computational Complexity

We are now heading into a series of sections that introduce useful algorithms for routing and other operations on graphs, followed by introduction to a number of basic network optimization problems. While treating each algorithm and the optimization problems it is natural to consider the inherent computational complexity of each. To do so, we must equip ourselves with some background on the concepts and conventions of algorithmic complexity.

An important point is that there are many easily posed problems, especially combinatorial optimization problems, that computers simply cannot solve exactly. And it's not just a matter of getting a faster computer or more RAM because these are problems for which the solution space explodes exponentially (or even factorially) with problem size, making the number of possible solutions astronomical. A network planner can easily pose problems where the number of solutions to be checked exceeds the number of elementary particles in the universe. A large number of important real-world problems in fact behave this way. It is important, therefore, to identify and exploit special cases and classes of problems that can be efficiently solved. Other important basic problems such as shortest path routing or finding maximum flow are in the class of "polynomial time" problems and can be solved quickly and exactly in practice at almost any required size.

Asymptotic notation provides a means for conveying and comparing properties of different algorithmic approaches and helps us assess the complexity of overall methods that might combine several such basic algorithms. An excellent introductory article to key concepts about combinatoric problems and algorithmic complexity principles is [Kar86],

4.2.1 Asymptotic Notation

The complexity of an algorithm is a measure of the execution time or memory needed as a function of the problem size. The two basic measures are referred to as time- and space-complexity, respectively. Complexity can be empirically observed or determined theoretically.

Empirical analysis is used to predict the average case behavior of the algorithm by running it on a suitable number of problem sizes and observing the run time. Theoretical analysis more often predicts only the worst-case behavior the algorithm might exhibit. Complexity is expressed in a notation which makes statements about the rate at which complexity increases with problem size. More formally, the notation of asymptotic order is really making statements about the set of all possible functions to which an observed or predicted behavior belongs. The following treatment is based on that of [BaGe00].

If some function g is stated, then Figure 4-9 shows conceptually how all other functions must be asymptotically related to g. The families of functions shown and the notation for them are discussed below. Note that we are talking about functional forms which are equivalent in the way they grow at large n, so we do not care about exact relative function values at small n.

Figure 4-9. Classification of functions based on growth rates for asymptotic order notation

Dans le document [ Team LiB ] (Page 170-176)

Documents relatifs